diff options
Diffstat (limited to 'library/test/robotest/src/com')
15 files changed, 11 insertions, 185 deletions
diff --git a/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java b/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java index 967a52e..360dfe2 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java @@ -54,7 +54,7 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) public class GlifLayoutTest { private Context mContext; diff --git a/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java b/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java index 93b9a6d..40e5da8 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java @@ -39,7 +39,6 @@ import android.widget.Button; import android.widget.FrameLayout; import android.widget.LinearLayout; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.items.ButtonItem.OnClickListener; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; @@ -50,9 +49,7 @@ import org.junit.runner.RunWith; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config( - constants = BuildConfig.class, - sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) public class ButtonItemTest { private ViewGroup mParent; diff --git a/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java b/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java index a61b750..ecaec71 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import org.junit.Before; @@ -36,9 +35,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config( - constants = BuildConfig.class, - sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) public class ItemGroupTest { private static final Item CHILD_1 = new EqualsItem("Child 1"); diff --git a/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java b/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java deleted file mode 100644 index 64c63e7..0000000 --- a/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.setupwizardlib.robolectric; - -import org.robolectric.annotation.Config; -import org.robolectric.internal.GradleManifestFactory; -import org.robolectric.internal.ManifestIdentifier; -import org.robolectric.res.FileFsFile; -import org.robolectric.util.Logger; -import org.robolectric.util.ReflectionHelpers; - -import java.io.File; -import java.net.URL; - -/** - * Modified GradleManifestFactory to patch an issue where some build variants have merged - * resources under res/merged/variant/type while others have it under bundles/variant/type/res. - * - * The change is that in the .exists() checks below we check for specific folders for the build - * variant rather than checking existence at the parent directory. - */ -class PatchedGradleManifestFactory extends GradleManifestFactory { - - @Override - public ManifestIdentifier identify(Config config) { - if (config.constants() == Void.class) { - Logger.error("Field 'constants' not specified in @Config annotation"); - Logger.error("This is required when using Robolectric with Gradle!"); - throw new RuntimeException("No 'constants' field in @Config annotation!"); - } - - final String buildOutputDir = getBuildOutputDir(config); - final String type = getType(config); - final String flavor = getFlavor(config); - final String abiSplit = getAbiSplit(config); - final String packageName = config.packageName().isEmpty() - ? config.constants().getPackage().getName() - : config.packageName(); - - final FileFsFile res; - final FileFsFile assets; - final FileFsFile manifest; - - if (FileFsFile.from(buildOutputDir, "data-binding-layout-out", flavor, type).exists()) { - // Android gradle plugin 1.5.0+ puts the merged layouts in data-binding-layout-out. - // https://github.com/robolectric/robolectric/issues/2143 - res = FileFsFile.from(buildOutputDir, "data-binding-layout-out", flavor, type); - } else if (FileFsFile.from(buildOutputDir, "res", "merged", flavor, type).exists()) { - // res/merged added in Android Gradle plugin 1.3-beta1 - res = FileFsFile.from(buildOutputDir, "res", "merged", flavor, type); - } else if (FileFsFile.from(buildOutputDir, "res", flavor, type).exists()) { - res = FileFsFile.from(buildOutputDir, "res", flavor, type); - } else { - res = FileFsFile.from(buildOutputDir, "bundles", flavor, type, "res"); - } - - if (FileFsFile.from(buildOutputDir, "assets", flavor, type).exists()) { - assets = FileFsFile.from(buildOutputDir, "assets", flavor, type); - } else { - assets = FileFsFile.from(buildOutputDir, "bundles", flavor, type, "assets"); - } - - String manifestName = config.manifest(); - URL manifestUrl = getClass().getClassLoader().getResource(manifestName); - if (manifestUrl != null && manifestUrl.getProtocol().equals("file")) { - manifest = FileFsFile.from(manifestUrl.getPath()); - } else if (FileFsFile.from(buildOutputDir, "manifests", "full", flavor, abiSplit, type, - manifestName).exists()) { - manifest = FileFsFile.from( - buildOutputDir, "manifests", "full", flavor, abiSplit, type, manifestName); - } else if (FileFsFile.from(buildOutputDir, "manifests", "aapt", flavor, abiSplit, type, - manifestName).exists()) { - // Android gradle plugin 2.2.0+ can put library manifest files inside of "aapt" - // instead of "full" - manifest = FileFsFile.from(buildOutputDir, "manifests", "aapt", flavor, abiSplit, - type, manifestName); - } else { - manifest = FileFsFile.from(buildOutputDir, "bundles", flavor, abiSplit, type, - manifestName); - } - - return new ManifestIdentifier(manifest, res, assets, packageName, null); - } - - private static String getBuildOutputDir(Config config) { - return config.buildDir() + File.separator + "intermediates"; - } - - private static String getType(Config config) { - try { - return ReflectionHelpers.getStaticField(config.constants(), "BUILD_TYPE"); - } catch (Throwable e) { - return null; - } - } - - private static String getFlavor(Config config) { - try { - return ReflectionHelpers.getStaticField(config.constants(), "FLAVOR"); - } catch (Throwable e) { - return null; - } - } - - private static String getAbiSplit(Config config) { - try { - return config.abiSplit(); - } catch (Throwable e) { - return null; - } - } -} diff --git a/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java b/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java index 509201a..61baa23 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java +++ b/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java @@ -20,42 +20,13 @@ import org.junit.runner.notification.RunNotifier; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.InitializationError; import org.robolectric.RobolectricTestRunner; -import org.robolectric.annotation.Config; -import org.robolectric.internal.ManifestFactory; public class SuwLibRobolectricTestRunner extends RobolectricTestRunner { - private String mModuleRootPath; - public SuwLibRobolectricTestRunner(Class<?> testClass) throws InitializationError { super(testClass); } - // Hack to determine the module root path in the build folder (e.g. out/gradle/setup-wizard-lib) - private void updateModuleRootPath(Config config) { - String moduleRoot = config.constants().getResource("").toString() - .replace("file:", "").replace("jar:", ""); - mModuleRootPath = - moduleRoot.substring(0, moduleRoot.lastIndexOf("/build")) + "/setup-wizard-lib"; - } - - /** - * Return the default config used to run Robolectric tests. - */ - @Override - protected Config buildGlobalConfig() { - Config parent = super.buildGlobalConfig(); - updateModuleRootPath(parent); - return new Config.Builder(parent) - .setBuildDir(mModuleRootPath + "/build") - .build(); - } - - @Override - protected ManifestFactory getManifestFactory(Config config) { - return new PatchedGradleManifestFactory(); - } - @Override protected void runChild(FrameworkMethod method, RunNotifier notifier) { System.out.println("===== Running " + method + " ====="); diff --git a/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java b/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java index f86e057..fe72e03 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java @@ -23,15 +23,12 @@ import android.content.Context; import android.content.ContextWrapper; import android.widget.TextView; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class) public class LinkSpanTest { @Test @@ -68,6 +65,7 @@ public class LinkSpanTest { assertSame("Clicked LinkSpan should be passed to setup", linkSpan, context.clickedSpan); } + @SuppressWarnings("deprecation") private static class TestContext extends ContextWrapper implements LinkSpan.OnClickListener { public LinkSpan clickedSpan = null; diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java index fa81dc0..ec3622d 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java @@ -31,7 +31,6 @@ import android.widget.AbsListView.OnScrollListener; import android.widget.BaseAdapter; import android.widget.ListView; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import org.junit.Before; @@ -42,7 +41,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) @RunWith(SuwLibRobolectricTestRunner.class) public class ListViewScrollHandlingDelegateTest { diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java index 8e39c43..c641449 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java @@ -34,7 +34,6 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.TemplateLayout; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import com.android.setupwizardlib.template.RequireScrollMixin.OnRequireScrollStateChangedListener; @@ -48,7 +47,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) @RunWith(SuwLibRobolectricTestRunner.class) public class RequireScrollMixinTest { diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java index f77e256..429445c 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.robolectric.RuntimeEnvironment.application; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import com.android.setupwizardlib.view.BottomScrollView; import com.android.setupwizardlib.view.BottomScrollView.BottomScrollListener; @@ -36,7 +35,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) +@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }) @RunWith(SuwLibRobolectricTestRunner.class) public class ScrollViewScrollHandlingDelegateTest { diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java index 2be64e1..c10c122 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java @@ -26,7 +26,6 @@ import android.util.DisplayMetrics; import android.util.TypedValue; import android.view.ContextThemeWrapper; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; @@ -36,7 +35,7 @@ import org.junit.runner.RunWith; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class, sdk = Config.ALL_SDKS) +@Config(sdk = Config.ALL_SDKS) public class GlifDimensionTest { private Context mContext; diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java index aea2c03..3627806 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java @@ -30,7 +30,6 @@ import android.support.annotation.Nullable; import android.view.ContextThemeWrapper; import android.widget.Button; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; @@ -41,7 +40,7 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK}) +@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK}) public class GlifStyleTest { private Context mContext; diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java index aeb678f..683e40b 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java @@ -37,7 +37,6 @@ import android.content.res.Resources; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import com.android.setupwizardlib.util.Partner.ResourceEntry; @@ -57,7 +56,6 @@ import java.util.Collections; @RunWith(SuwLibRobolectricTestRunner.class) @Config( - constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK }, shadows = ShadowApplicationPackageManager.class) public class PartnerTest { diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java index 9195de2..0d15ef4 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java @@ -31,7 +31,6 @@ import android.provider.Settings.Global; import android.provider.Settings.Secure; import android.support.annotation.StyleRes; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; @@ -44,7 +43,7 @@ import java.util.Arrays; import java.util.List; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class, sdk = Config.NEWEST_SDK) +@Config(sdk = Config.NEWEST_SDK) public class WizardManagerHelperTest { @Test diff --git a/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java b/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java index f1332c0..ae4f3d1 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java @@ -22,7 +22,6 @@ import static org.robolectric.RuntimeEnvironment.application; import android.view.View; import android.view.View.MeasureSpec; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import org.junit.Test; @@ -31,7 +30,7 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; @RunWith(SuwLibRobolectricTestRunner.class) -@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK}) +@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK}) public class FillContentLayoutTest { @Test diff --git a/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java b/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java index ddf59ca..6db8852 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java @@ -31,7 +31,6 @@ import android.os.Build.VERSION_CODES; import android.support.annotation.RawRes; import android.view.Surface; -import com.android.setupwizardlib.BuildConfig; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; import com.android.setupwizardlib.view.IllustrationVideoViewTest.ShadowMockMediaPlayer; @@ -54,7 +53,6 @@ import org.robolectric.util.ReflectionHelpers; @RunWith(SuwLibRobolectricTestRunner.class) @Config( - constants = BuildConfig.class, sdk = Config.NEWEST_SDK, shadows = { ShadowMockMediaPlayer.class, |