Update Robolectric and make broken tests compilable again
This commit is contained in:
parent
5feca3f549
commit
f6e520eb56
@ -100,7 +100,7 @@ dependencies {
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'net.sf.opencsv:opencsv:2.0'
|
||||
testCompile 'org.mockito:mockito-core:1.9.0'
|
||||
testCompile 'org.robolectric:robolectric:3.0'
|
||||
testCompile 'org.robolectric:robolectric:3.4.2'
|
||||
testCompile 'org.mockito:mockito-all:1.9.5'
|
||||
testCompile 'org.skyscreamer:jsonassert:1.2.3'
|
||||
testCompile(name: 'org.apache.http.legacy', ext: 'jar')
|
||||
|
@ -28,6 +28,7 @@ import android.app.Application;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.squareup.otto.Bus;
|
||||
@ -97,8 +98,11 @@ public class Editor {
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@Nullable
|
||||
private final EditorTextProcessor textProcessor;
|
||||
EditorTextProcessor textProcessor;
|
||||
@Nonnull
|
||||
private final Engine engine;
|
||||
@Nullable
|
||||
private AsyncHighlighter highlighterTask;
|
||||
@Nullable
|
||||
@ -107,12 +111,11 @@ public class Editor {
|
||||
private EditorState state = EditorState.empty();
|
||||
@Inject
|
||||
Bus bus;
|
||||
@Inject
|
||||
Engine engine;
|
||||
|
||||
@Inject
|
||||
public Editor(@Nonnull Application application, @Nonnull SharedPreferences preferences, @Nonnull Engine engine) {
|
||||
textProcessor = new EditorTextProcessor(application, preferences, engine);
|
||||
this.engine = engine;
|
||||
this.textProcessor = new EditorTextProcessor(application, preferences, engine);
|
||||
}
|
||||
|
||||
public void init() {
|
||||
|
@ -2,12 +2,12 @@ package org.solovyev.android;
|
||||
|
||||
import android.os.Build;
|
||||
import org.junit.runners.model.InitializationError;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.manifest.AndroidManifest;
|
||||
import org.robolectric.res.Fs;
|
||||
|
||||
public class CalculatorTestRunner extends RobolectricGradleTestRunner {
|
||||
public class CalculatorTestRunner extends RobolectricTestRunner {
|
||||
public static final int SUPPORTED_SDK = Build.VERSION_CODES.LOLLIPOP;
|
||||
|
||||
public CalculatorTestRunner(Class<?> testClass) throws InitializationError {
|
||||
|
@ -22,12 +22,14 @@
|
||||
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.common.text.Strings;
|
||||
@ -38,10 +40,8 @@ import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(value = RobolectricGradleTestRunner.class)
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(value = RobolectricTestRunner.class)
|
||||
public class AndroidEditorViewTest {
|
||||
|
||||
@Test
|
||||
|
@ -22,14 +22,19 @@
|
||||
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.solovyev.android.calculator.calculations.CalculationFinishedEvent;
|
||||
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.calculator.calculations.CalculationFinishedEvent;
|
||||
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class CalculatorTest extends BaseCalculatorTest {
|
||||
|
||||
@Override
|
||||
|
@ -25,7 +25,6 @@ package org.solovyev.android.calculator;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.squareup.otto.Bus;
|
||||
@ -34,12 +33,12 @@ import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(value = RobolectricGradleTestRunner.class)
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(value = RobolectricTestRunner.class)
|
||||
public class EditorTest {
|
||||
|
||||
private Editor editor;
|
||||
@ -48,6 +47,9 @@ public class EditorTest {
|
||||
public void setUp() throws Exception {
|
||||
editor = new Editor(RuntimeEnvironment.application, mock(SharedPreferences.class), Tests.makeEngine());
|
||||
editor.bus = mock(Bus.class);
|
||||
// real text processor causes Robolectric to crash: NullPointerException at
|
||||
// org.robolectric.res.ThemeStyleSet$OverlayedStyle.equals
|
||||
editor.textProcessor = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -22,14 +22,17 @@
|
||||
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import jscl.MathEngine;
|
||||
import jscl.NumeralBase;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.calculator.text.TextProcessor;
|
||||
import org.solovyev.android.calculator.view.TextHighlighter;
|
||||
@ -37,10 +40,11 @@ import org.solovyev.android.calculator.view.TextHighlighter;
|
||||
import java.util.Date;
|
||||
import java.util.Random;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import jscl.MathEngine;
|
||||
import jscl.NumeralBase;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(value = RobolectricGradleTestRunner.class)
|
||||
@RunWith(value = RobolectricTestRunner.class)
|
||||
public class TextHighlighterTest {
|
||||
|
||||
private Engine engine;
|
||||
|
@ -1,22 +1,24 @@
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
import static org.solovyev.android.calculator.WidgetReceiver.ACTION_BUTTON_ID_EXTRA;
|
||||
import static org.solovyev.android.calculator.WidgetReceiver.ACTION_BUTTON_PRESSED;
|
||||
import static org.solovyev.android.calculator.WidgetReceiver.newButtonClickedIntent;
|
||||
import static org.solovyev.android.calculator.buttons.CppButton.four;
|
||||
import static org.solovyev.android.calculator.WidgetReceiver.*;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(RobolectricGradleTestRunner.class)
|
||||
import android.content.Intent;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class WidgetReceiverTest {
|
||||
|
||||
private WidgetReceiver widgetReceiver;
|
||||
|
@ -24,8 +24,14 @@ package org.solovyev.android.calculator.model;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.calculator.BaseCalculatorTest;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ComparisonTest extends BaseCalculatorTest {
|
||||
|
||||
@Before
|
||||
|
@ -22,19 +22,26 @@
|
||||
|
||||
package org.solovyev.android.calculator.model;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.calculator.BaseCalculatorTest;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
import org.solovyev.android.calculator.jscl.JsclOperation;
|
||||
import org.solovyev.android.calculator.variables.CppVariable;
|
||||
|
||||
import jscl.AngleUnit;
|
||||
import jscl.MathEngine;
|
||||
import jscl.NumeralBase;
|
||||
import jscl.math.Expression;
|
||||
import jscl.math.Generic;
|
||||
import jscl.math.function.Constant;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.android.calculator.BaseCalculatorTest;
|
||||
import org.solovyev.android.calculator.jscl.JsclOperation;
|
||||
import org.solovyev.android.calculator.variables.CppVariable;
|
||||
|
||||
|
||||
@Config(constants = BuildConfig.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class EvaluateTest extends BaseCalculatorTest {
|
||||
|
||||
@Before
|
||||
|
@ -22,34 +22,40 @@
|
||||
|
||||
package org.solovyev.android.calculator.wizard;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.solovyev.android.calculator.wizard.CalculatorWizardStep.choose_mode;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
import org.robolectric.util.ActivityController;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
import org.solovyev.android.wizard.Wizard;
|
||||
import org.solovyev.android.wizard.WizardUi;
|
||||
import org.solovyev.android.wizard.Wizards;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.solovyev.android.calculator.wizard.CalculatorWizardStep.choose_mode;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(value = RobolectricGradleTestRunner.class)
|
||||
@RunWith(value = RobolectricTestRunner.class)
|
||||
public class CalculatorWizardActivityTest {
|
||||
|
||||
private ActivityController<WizardActivity> controller;
|
||||
@ -63,7 +69,6 @@ public class CalculatorWizardActivityTest {
|
||||
activity = controller.get();
|
||||
wizards = new CalculatorWizards(RuntimeEnvironment.application);
|
||||
activity.setWizards(wizards);
|
||||
controller.attach();
|
||||
controller.create();
|
||||
|
||||
uiField = WizardActivity.class.getDeclaredField("wizardUi");
|
||||
@ -156,7 +161,7 @@ public class CalculatorWizardActivityTest {
|
||||
@Test
|
||||
public void testShouldStartWizardActivityAfterStart() throws Exception {
|
||||
final ShadowActivity shadowActivity = Shadows.shadowOf(controller.get());
|
||||
WizardUi.startWizard(activity.getWizards(), CalculatorWizards.DEFAULT_WIZARD_FLOW, shadowActivity.getApplicationContext());
|
||||
WizardUi.startWizard(activity.getWizards(), CalculatorWizards.DEFAULT_WIZARD_FLOW, RuntimeEnvironment.application);
|
||||
assertNotNull(shadowActivity.getNextStartedActivity());
|
||||
}
|
||||
|
||||
|
@ -22,25 +22,27 @@
|
||||
|
||||
package org.solovyev.android.calculator.wizard;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.os.Build;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ActivityController;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
import org.solovyev.android.wizard.WizardUi;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(RobolectricGradleTestRunner.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class OnScreenCalculatorWizardStepTest {
|
||||
|
||||
@Nonnull
|
||||
|
@ -1,20 +1,21 @@
|
||||
package org.solovyev.android.text.method;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.os.Build;
|
||||
import android.text.Editable;
|
||||
import android.text.InputFilter;
|
||||
import android.text.SpannableStringBuilder;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(RobolectricGradleTestRunner.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class NumberInputFilterTest {
|
||||
|
||||
private Editable editable;
|
||||
|
Loading…
Reference in New Issue
Block a user