Snap for 7550930 from c5d343d7b889ebca8998b27713a4fcb03d267aba to mainline-captiveportallogin-release
Change-Id: I4b1c0a90aa62b3d2ccec060e9fd16c5933c79623
diff --git a/Android.bp b/Android.bp
index f8db47b..112833b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -12,41 +12,41 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+package {
+ default_visibility: [":__subpackages__"],
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+ name: "external_robolectric-shadows_license",
+ visibility: [":__subpackages__"],
+ license_kinds: [
+ "SPDX-license-identifier-Apache-2.0",
+ "SPDX-license-identifier-MIT",
+ ],
+ license_text: [
+ "LICENSE",
+ ],
+}
+
+// Empty library. Should be removed
java_library {
name: "robolectric_android-all-stub",
-
- static_libs: [
- "conscrypt",
- "core-icu4j",
- "core-libart",
- "ext",
- "framework-all",
- "icu4j-icudata-jarjar",
- "icu4j-icutzdata-jarjar",
- "ims-common",
- "android.test.base_static",
- "libphonenumber-platform",
- "okhttp",
- "services",
- "services.accessibility",
- "telephony-common",
-
- "robolectric_tzdata",
- "robolectric_framework_res",
- "robolectric_framework_raw_res",
- ],
-
- java_resources: [
- // Copy the build.prop
- ":robolectric_build_props",
- ],
- dist: {
- targets: [
- "sdk",
- "win_sdk",
- ],
- dest: "android-all-robolectric.jar",
- }
+ visibility: ["//visibility:public"],
}
// build.prop file created by module type defined in soong/robolectric.go
@@ -63,7 +63,7 @@
// Move the raw/uncompiled resources and assets into raw-res/
// This logic can be removed once the transition to binary resources is complete
-java_genrule {
+java_genrule_host {
name: "robolectric_framework_raw_res",
out: ["robolectric_framework_raw_res.jar"],
srcs: [":robolectric_framework_raw_res_orig"],
@@ -75,7 +75,7 @@
"**/*:raw-res/",
}
-java_genrule {
+java_genrule_host {
name: "robolectric_framework_res",
tools: ["zip2zip"],
srcs: [":framework-res"],
@@ -88,10 +88,51 @@
"-0 resources.arsc",
}
-// Make robolectric_android-all-stub available as a host jar
java_device_for_host {
+ name: "robolectric_android-all-device-deps",
+ libs: [
+ "conscrypt-for-host",
+ "core-icu4j-for-host",
+ "core-libart-for-host",
+ "ext",
+ "framework-all",
+ "icu4j-icudata-jarjar",
+ "icu4j-icutzdata-jarjar",
+ "ims-common",
+ "android.test.base_static",
+ "libphonenumber-platform",
+ "okhttp-for-host",
+ "services",
+ "services.accessibility",
+ "telephony-common",
+
+ ],
+}
+
+java_library_host {
name: "robolectric-host-android_all",
- libs: ["robolectric_android-all-stub"],
+ static_libs: [
+ "robolectric_android-all-device-deps",
+ "robolectric_tzdata",
+ "robolectric_framework_res",
+ "robolectric_framework_raw_res",
+ ],
+ dist: {
+ targets: [
+ "sdk",
+ "win_sdk",
+ ],
+ dest: "android-all-robolectric.jar",
+ },
+
+ java_resources: [
+ // Copy the build.prop
+ ":robolectric_build_props",
+ ],
+ visibility: [
+ ":__subpackages__",
+ "//prebuilts/misc/common/robolectric",
+ ],
}
//#############################################
@@ -137,6 +178,7 @@
java_host_for_device {
name: "Robolectric_all-target",
libs: ["Robolectric_all"],
+ visibility: ["//visibility:public"],
}
// Make dependencies available as host jars
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+ license_type: NOTICE
+}
diff --git a/OWNERS b/OWNERS
index 46cc9a0..dc17b81 100644
--- a/OWNERS
+++ b/OWNERS
@@ -3,4 +3,6 @@
jongerrish@google.com
jplemieux@google.com
justinklaassen@google.com
-yukl@google.com
\ No newline at end of file
+leechou@google.com
+yukl@google.com
+tmfang@google.com
\ No newline at end of file
diff --git a/annotations/Android.bp b/annotations/Android.bp
index c4f3952..bc8fa9f 100644
--- a/annotations/Android.bp
+++ b/annotations/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric annotations
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_annotations",
static_libs: [
diff --git a/junit/Android.bp b/junit/Android.bp
index 2402e94..65f12ad 100644
--- a/junit/Android.bp
+++ b/junit/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric junit
//##########################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_junit",
libs: [
diff --git a/processor/Android.bp b/processor/Android.bp
index ee9b80c..fdf2dc6 100644
--- a/processor/Android.bp
+++ b/processor/Android.bp
@@ -2,6 +2,16 @@
// Compile Robolectric processor
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_plugin {
name: "Robolectric_processor",
processor_class: "org.robolectric.annotation.processing.RobolectricProcessor",
@@ -42,7 +52,7 @@
"Robolectric_processor",
"Robolectric_shadowapi",
"robolectric-javax.annotation-api-1.2",
- "robolectric-compile-testing-0.15",
+ "robolectric-compile-testing-0.19",
"mockito",
"hamcrest",
"guava",
diff --git a/processor/Android.mk b/processor/Android.mk
index 07e8200..45f635d 100644
--- a/processor/Android.mk
+++ b/processor/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_processor_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/processor/sdks.txt b/processor/sdks.txt
index e619220..b9931ca 100644
--- a/processor/sdks.txt
+++ b/processor/sdks.txt
@@ -11,3 +11,5 @@
prebuilts/misc/common/robolectric/android-all/android-all-8.1.0-robolectric-4611349.jar
prebuilts/misc/common/robolectric/android-all/android-all-9-robolectric-4913185-2.jar
prebuilts/misc/common/robolectric/android-all/android-all-9plus-robolectric-5616371.jar
+prebuilts/misc/common/robolectric/android-all/android-all-10-robolectric-5803371.jar
+prebuilts/misc/common/robolectric/android-all/android-all-R-beta2-robolectric-6625208.jar
diff --git a/processor/src/test/java/org/robolectric/annotation/processing/validator/SingleClassSubject.java b/processor/src/test/java/org/robolectric/annotation/processing/validator/SingleClassSubject.java
index b702b3b..c016495 100644
--- a/processor/src/test/java/org/robolectric/annotation/processing/validator/SingleClassSubject.java
+++ b/processor/src/test/java/org/robolectric/annotation/processing/validator/SingleClassSubject.java
@@ -17,7 +17,7 @@
import org.robolectric.annotation.processing.RobolectricProcessor;
import org.robolectric.annotation.processing.Utils;
-public final class SingleClassSubject extends Subject<SingleClassSubject, String> {
+public final class SingleClassSubject extends Subject {
public static Subject.Factory<SingleClassSubject, String> singleClass() {
diff --git a/resources/Android.bp b/resources/Android.bp
index 76e584c..76c2c05 100644
--- a/resources/Android.bp
+++ b/resources/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric resources
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_resources",
srcs: ["src/main/java/**/*.java"],
diff --git a/resources/Android.mk b/resources/Android.mk
index 1822ba2..1e98e84 100644
--- a/resources/Android.mk
+++ b/resources/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_resources_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/robolectric/Android.bp b/robolectric/Android.bp
index 63f9f69..90c413d 100644
--- a/robolectric/Android.bp
+++ b/robolectric/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric robolectric
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_robolectric",
libs: [
@@ -75,4 +84,8 @@
"jsr305",
],
libs: ["robolectric-host-android_all"],
+ // Robolectric tests do not work well with unit tests setup yet
+ test_options: {
+ unit_test: false,
+ },
}
diff --git a/robolectric/Android.mk b/robolectric/Android.mk
index 5af8956..3bf70f5 100644
--- a/robolectric/Android.mk
+++ b/robolectric/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_robolectric_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/robolectric/src/main/java/org/robolectric/android/AndroidInterceptors.java b/robolectric/src/main/java/org/robolectric/android/AndroidInterceptors.java
index 8a2159e..51ea2a7 100644
--- a/robolectric/src/main/java/org/robolectric/android/AndroidInterceptors.java
+++ b/robolectric/src/main/java/org/robolectric/android/AndroidInterceptors.java
@@ -31,7 +31,7 @@
new SystemTimeInterceptor(),
new SystemArrayCopyInterceptor(),
new LocaleAdjustLanguageCodeInterceptor(),
- new SystemLogEInterceptor(),
+ new SystemLogInterceptor(),
new NoOpInterceptor()
);
}
@@ -196,34 +196,45 @@
}
}
- public static class SystemLogEInterceptor extends Interceptor {
- public SystemLogEInterceptor() {
- super(new MethodRef(System.class.getName(), "logE"));
+ /** AndroidInterceptor for System.logE and System.logW. */
+ public static class SystemLogInterceptor extends Interceptor {
+ public SystemLogInterceptor() {
+ super(
+ new MethodRef(System.class.getName(), "logE"),
+ new MethodRef(System.class.getName(), "logW"));
}
static void logE(Object... params) {
- String message = "System.logE: ";
+ log("System.logE: ", params);
+ }
+
+ static void logW(Object... params) {
+ log("System.logW: ", params);
+ }
+
+ static void log(String prefix, Object... params) {
+ StringBuilder message = new StringBuilder(prefix);
for (Object param : params) {
- message += param.toString();
+ message.append(param.toString());
}
System.err.println(message);
}
@Override
public Function<Object, Object> handle(MethodSignature methodSignature) {
- return new Function<Object, Object>() {
- @Override
- public Object call(Class<?> theClass, Object value, Object[] params) {
+ return (theClass, value, params) -> {
+ if ("logE".equals(methodSignature.methodName)) {
logE(params);
- return null;
+ } else if ("logW".equals(methodSignature.methodName)) {
+ logW(params);
}
+ return null;
};
}
@Override
public MethodHandle getMethodHandle(String methodName, MethodType type) throws NoSuchMethodException, IllegalAccessException {
- return lookup.findStatic(getClass(), "logE",
- methodType(void.class, Object[].class));
+ return lookup.findStatic(getClass(), methodName, methodType(void.class, Object[].class));
}
}
diff --git a/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java b/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
index b100c27..e74a03c 100644
--- a/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
+++ b/robolectric/src/main/java/org/robolectric/android/internal/ParallelUniverse.java
@@ -147,8 +147,17 @@
RuntimeEnvironment.setAndroidFrameworkJarPath(
apkLoader.getArtifactUrl(sdkConfig.getAndroidSdkDependency()).getFile());
+ // PackageParser.parseBaseApkCommon() relies on an initial Application object in order to
+ // resolve PermissionManager service.
+ createInitialApplication(appManifest, config);
+
FsFile packageFile = appManifest.getApkFile();
parsedPackage = ShadowPackageParser.callParsePackage(packageFile);
+
+ // Create a new ActivityThread for RuntimeEnvironment since the original one is bound to a
+ // system context stub in createInitialApplication(), which causes Resources not found.
+ activityThread = ReflectionHelpers.newInstance(ActivityThread.class);
+ RuntimeEnvironment.setActivityThread(activityThread);
}
ApplicationInfo applicationInfo = parsedPackage.applicationInfo;
@@ -173,7 +182,23 @@
ReflectionHelpers.loadClass(
getClass().getClassLoader(), ShadowContextImpl.CLASS_NAME);
- ReflectionHelpers.setField(activityThread, "mCompatConfiguration", configuration);
+ if (sdkConfig.getApiLevel() < Build.VERSION_CODES.S) {
+ ReflectionHelpers.setField(activityThread, "mCompatConfiguration", configuration);
+ } else {
+ Class<?> activityThreadInternalClass =
+ ReflectionHelpers.loadClass(
+ getClass().getClassLoader(), "android.app.ActivityThreadInternal");
+ Class<?> configurationControllerClass =
+ ReflectionHelpers.loadClass(
+ getClass().getClassLoader(), "android.app.ConfigurationController");
+ Object configController = ReflectionHelpers.callConstructor(configurationControllerClass,
+ from(activityThreadInternalClass, activityThread));
+ ReflectionHelpers.callInstanceMethod(configController, "setCompatConfiguration",
+ from(Configuration.class, configuration));
+ configuration = ReflectionHelpers.callInstanceMethod(configController,
+ "getCompatConfiguration");
+ ReflectionHelpers.setField(activityThread, "mConfigurationController", configController);
+ }
ReflectionHelpers
.setStaticField(ActivityThread.class, "sMainThreadHandler", new Handler(Looper.myLooper()));
@@ -221,7 +246,7 @@
ReflectionHelpers.callInstanceMethod(
contextImpl,
"setOuterContext",
- ReflectionHelpers.ClassParameter.from(Context.class, application));
+ from(Context.class, application));
} catch (PackageManager.NameNotFoundException e) {
throw new RuntimeException(e);
}
@@ -247,6 +272,41 @@
}
}
+ private void createInitialApplication(AndroidManifest appManifest, Config config) {
+ ShadowActivityThread.setApplicationInfo(createApplicationInfo(appManifest));
+ ActivityThread activityThread = ActivityThread.currentActivityThread();
+
+ Class<?> contextImplClass =
+ ReflectionHelpers.loadClass(
+ getClass().getClassLoader(), ShadowContextImpl.CLASS_NAME);
+ Context systemContextImpl = ReflectionHelpers.callStaticMethod(contextImplClass,
+ "createSystemContext", from(ActivityThread.class, activityThread));
+
+ Application application = createApplication(appManifest, config);
+
+ if (application != null) {
+ try {
+ Context contextImpl = systemContextImpl
+ .createPackageContext(appManifest.getPackageName(), Context.CONTEXT_INCLUDE_CODE);
+
+ ReflectionHelpers
+ .setField(ActivityThread.class, activityThread, "mInitialApplication", application);
+ ShadowApplication shadowApplication = Shadow.extract(application);
+ shadowApplication.callAttach(contextImpl);
+ } catch (PackageManager.NameNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ private ApplicationInfo createApplicationInfo(AndroidManifest appManifest) {
+ final ApplicationInfo info = new ApplicationInfo();
+ info.targetSdkVersion = appManifest.getTargetSdkVersion();
+ info.packageName = appManifest.getPackageName();
+ info.processName = appManifest.getProcessName();
+ return info;
+ }
+
private void injectResourceStuffForLegacy(ApkLoader apkLoader, AndroidManifest appManifest,
SdkEnvironment sdkEnvironment) {
PackageResourceTable systemResourceTable = apkLoader.getSystemResourceTable(sdkEnvironment);
diff --git a/robolectric/src/main/java/org/robolectric/internal/SdkConfig.java b/robolectric/src/main/java/org/robolectric/internal/SdkConfig.java
index 99ef10a..d2cbf14 100644
--- a/robolectric/src/main/java/org/robolectric/internal/SdkConfig.java
+++ b/robolectric/src/main/java/org/robolectric/internal/SdkConfig.java
@@ -31,7 +31,9 @@
addSdk(Build.VERSION_CODES.P, "9", "4913185-2", "REL");
addSdk(Build.VERSION_CODES.Q, "10", "5803371", "REL");
// BEGIN-INTERNAL
- addSdk(Build.VERSION_CODES.R, "R", "r0", "R");
+ // TODO: Update jar with final R release.
+ addSdk(Build.VERSION_CODES.R, "R-beta2", "6625208", "REL");
+ addSdk(Build.VERSION_CODES.S, "S", "r0", "S");
// END-INTERNAL
}
diff --git a/robolectric/src/test/java/org/robolectric/ConfigMergerTest.java b/robolectric/src/test/java/org/robolectric/ConfigMergerTest.java
index 731dfd7..d4474f3 100644
--- a/robolectric/src/test/java/org/robolectric/ConfigMergerTest.java
+++ b/robolectric/src/test/java/org/robolectric/ConfigMergerTest.java
@@ -434,9 +434,9 @@
assertThat(config.qualifiers()).isEqualTo(qualifiers);
assertThat(config.resourceDir()).isEqualTo(resourceDir);
assertThat(config.assetDir()).isEqualTo(assetsDir);
- assertThat(config.shadows()).asList().containsAllIn(shadows).inOrder();
- assertThat(config.instrumentedPackages()).asList().containsAllIn(instrumentedPackages);
- assertThat(config.libraries()).asList().containsAllIn(libraries);
+ assertThat(config.shadows()).asList().containsAtLeastElementsIn(shadows).inOrder();
+ assertThat(config.instrumentedPackages()).asList().containsAtLeastElementsIn(instrumentedPackages);
+ assertThat(config.libraries()).asList().containsAtLeastElementsIn(libraries);
}
@Ignore
diff --git a/robolectric/src/test/java/org/robolectric/ConfigTest.java b/robolectric/src/test/java/org/robolectric/ConfigTest.java
index 4e04d35..0c6ee6c 100644
--- a/robolectric/src/test/java/org/robolectric/ConfigTest.java
+++ b/robolectric/src/test/java/org/robolectric/ConfigTest.java
@@ -112,7 +112,7 @@
Config withMore = overlay(withString,
new Builder().setShadows(new Class[]{Map.class, String.class}).build());
- assertThat(withMore.shadows()).asList().containsAllOf(String.class, Map.class, String.class);
+ assertThat(withMore.shadows()).asList().containsAtLeast(String.class, Map.class, String.class);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/RobolectricTestRunnerSelfTest.java b/robolectric/src/test/java/org/robolectric/RobolectricTestRunnerSelfTest.java
index 8c04b21..f2adc1e 100644
--- a/robolectric/src/test/java/org/robolectric/RobolectricTestRunnerSelfTest.java
+++ b/robolectric/src/test/java/org/robolectric/RobolectricTestRunnerSelfTest.java
@@ -1,6 +1,7 @@
package org.robolectric;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import android.app.Application;
@@ -21,15 +22,14 @@
@Test
public void shouldInitializeAndBindApplicationButNotCallOnCreate() {
- assertThat((Application) ApplicationProvider.getApplicationContext())
- .named("application")
+ assertWithMessage("application").that((Application) ApplicationProvider.getApplicationContext())
.isInstanceOf(MyTestApplication.class);
- assertThat(((MyTestApplication) ApplicationProvider.getApplicationContext()).onCreateWasCalled)
- .named("onCreate called")
+ assertWithMessage("onCreate called")
+ .that(((MyTestApplication) ApplicationProvider.getApplicationContext()).onCreateWasCalled)
.isTrue();
if (RuntimeEnvironment.useLegacyResources()) {
- assertThat(RuntimeEnvironment.getAppResourceTable())
- .named("Application resource loader")
+ assertWithMessage("Application resource loader")
+ .that(RuntimeEnvironment.getAppResourceTable())
.isNotNull();
}
}
@@ -39,12 +39,12 @@
Resources systemResources = Resources.getSystem();
Resources appResources = ApplicationProvider.getApplicationContext().getResources();
- assertThat(systemResources).named("system resources").isNotNull();
+ assertWithMessage("system resources").that(systemResources).isNotNull();
- assertThat(systemResources.getString(android.R.string.copy)).named("system resource")
+ assertWithMessage("system resource").that(systemResources.getString(android.R.string.copy))
.isEqualTo(appResources.getString(android.R.string.copy));
- assertThat(appResources.getString(R.string.howdy)).named("app resource")
+ assertWithMessage("app resource").that(appResources.getString(R.string.howdy))
.isNotNull();
try {
systemResources.getString(R.string.howdy);
diff --git a/robolectric/src/test/java/org/robolectric/RuntimeEnvironmentTest.java b/robolectric/src/test/java/org/robolectric/RuntimeEnvironmentTest.java
index 1fb8a94..ff42114 100644
--- a/robolectric/src/test/java/org/robolectric/RuntimeEnvironmentTest.java
+++ b/robolectric/src/test/java/org/robolectric/RuntimeEnvironmentTest.java
@@ -1,6 +1,7 @@
package org.robolectric;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import java.util.concurrent.CountDownLatch;
@@ -16,14 +17,14 @@
@Test
public void setMainThread_forCurrentThread() {
RuntimeEnvironment.setMainThread(Thread.currentThread());
- assertThat(RuntimeEnvironment.getMainThread()).isSameAs(Thread.currentThread());
+ assertThat(RuntimeEnvironment.getMainThread()).isSameInstanceAs(Thread.currentThread());
}
@Test
public void setMainThread_forNewThread() {
Thread t = new Thread();
RuntimeEnvironment.setMainThread(t);
- assertThat(RuntimeEnvironment.getMainThread()).isSameAs(t);
+ assertThat(RuntimeEnvironment.getMainThread()).isSameInstanceAs(t);
}
@Test
@@ -42,8 +43,8 @@
if (!finished.await(1000, MILLISECONDS)) {
throw new InterruptedException("Thread " + t + " didn't finish timely");
}
- assertThat(RuntimeEnvironment.isMainThread()).named("testThread").isTrue();
- assertThat(res.get()).named("thread t").isFalse();
+ assertWithMessage("testThread").that(RuntimeEnvironment.isMainThread()).isTrue();
+ assertWithMessage("thread t").that(res.get()).isFalse();
}
@Test
@@ -62,8 +63,8 @@
if (!finished.await(1000, MILLISECONDS)) {
throw new InterruptedException("Thread " + t + " didn't finish timely");
}
- assertThat(RuntimeEnvironment.isMainThread()).named("testThread").isFalse();
- assertThat(res.get()).named("thread t").isTrue();
+ assertWithMessage("testThread").that(RuntimeEnvironment.isMainThread()).isFalse();
+ assertWithMessage("thread t").that(res.get()).isTrue();
}
@Test
@@ -77,6 +78,6 @@
public void getSetMasterScheduler() {
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
- assertThat(RuntimeEnvironment.getMasterScheduler()).isSameAs(s);
+ assertThat(RuntimeEnvironment.getMasterScheduler()).isSameInstanceAs(s);
}
-}
\ No newline at end of file
+}
diff --git a/robolectric/src/test/java/org/robolectric/android/AndroidInterceptorsTest.java b/robolectric/src/test/java/org/robolectric/android/AndroidInterceptorsTest.java
index 53be889..6241907 100644
--- a/robolectric/src/test/java/org/robolectric/android/AndroidInterceptorsTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/AndroidInterceptorsTest.java
@@ -12,7 +12,7 @@
public class AndroidInterceptorsTest {
@Test
public void allMethodRefs() throws Exception {
- assertThat(new Interceptors(AndroidInterceptors.all()).getAllMethodRefs()).containsAllOf(
+ assertThat(new Interceptors(AndroidInterceptors.all()).getAllMethodRefs()).containsAtLeast(
new MethodRef("java.util.LinkedHashMap", "eldest"),
new MethodRef("java.lang.System", "loadLibrary"),
new MethodRef("android.os.StrictMode", "trackActivity"),
diff --git a/robolectric/src/test/java/org/robolectric/android/XmlResourceParserImplTest.java b/robolectric/src/test/java/org/robolectric/android/XmlResourceParserImplTest.java
index 3fcbcbe..0247a12 100644
--- a/robolectric/src/test/java/org/robolectric/android/XmlResourceParserImplTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/XmlResourceParserImplTest.java
@@ -1,6 +1,7 @@
package org.robolectric.android;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Arrays.asList;
import static org.junit.Assert.assertTrue;
@@ -357,20 +358,20 @@
@Test
public void testIsEmptyElementTag() throws Exception {
- assertThat(parser.isEmptyElementTag()).named("Before START_DOCUMENT should return false.").isEqualTo(false);
+ assertWithMessage("Before START_DOCUMENT should return false.").that(parser.isEmptyElementTag()).isEqualTo(false);
forgeAndOpenDocument("<foo><bar/></foo>");
- assertThat(parser.isEmptyElementTag()).named("Not empty tag should return false.").isEqualTo(false);
+ assertWithMessage("Not empty tag should return false.").that(parser.isEmptyElementTag()).isEqualTo(false);
forgeAndOpenDocument("<foo/>");
- assertThat(parser.isEmptyElementTag()).named(
- "In the Android implementation this method always return false.").isEqualTo(false);
+ assertWithMessage("In the Android implementation this method always return false.")
+ .that(parser.isEmptyElementTag()).isEqualTo(false);
}
@Test
public void testGetAttributeCount() throws Exception {
- assertThat(parser.getAttributeCount())
- .named("When no node is being explored the number of attributes should be -1.").isEqualTo(-1);
+ assertWithMessage("When no node is being explored the number of attributes should be -1.")
+ .that(parser.getAttributeCount()).isEqualTo(-1);
forgeAndOpenDocument("<foo bar=\"bar\"/>");
assertThat(parser.getAttributeCount()).isEqualTo(1);
@@ -629,8 +630,8 @@
// Negative unsigned int must be
forgeAndOpenDocument("<foo xmlns:app=\"http://schemas.android.com/apk/res-auto\" app:bar=\"-12\"/>");
- assertThat(parser.getAttributeUnsignedIntValue(RES_AUTO_NS, "bar", 0))
- .named("Getting a negative number as unsigned should return the default value.").isEqualTo(0);
+ assertWithMessage("Getting a negative number as unsigned should return the default value.")
+ .that(parser.getAttributeUnsignedIntValue(RES_AUTO_NS, "bar", 0)).isEqualTo(0);
}
@Test
@@ -644,8 +645,8 @@
// Negative unsigned int must be
forgeAndOpenDocument("<foo bar=\"-12\"/>");
- assertThat(parser.getAttributeUnsignedIntValue(0, 0))
- .named("Getting a negative number as unsigned should return the default value.").isEqualTo(0);
+ assertWithMessage("Getting a negative number as unsigned should return the default value.")
+ .that(parser.getAttributeUnsignedIntValue(0, 0)).isEqualTo(0);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/android/controller/ActivityControllerTest.java b/robolectric/src/test/java/org/robolectric/android/controller/ActivityControllerTest.java
index ea43757..e12527e 100644
--- a/robolectric/src/test/java/org/robolectric/android/controller/ActivityControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/controller/ActivityControllerTest.java
@@ -1,6 +1,7 @@
package org.robolectric.android.controller;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
@@ -66,8 +67,8 @@
final Scheduler s = Robolectric.getForegroundThreadScheduler();
final long startTime = s.getCurrentTime();
TestDelayedPostActivity activity = Robolectric.setupActivity(TestDelayedPostActivity.class);
- assertThat(activity.r1.wasRun).named("immediate task").isTrue();
- assertThat(s.getCurrentTime()).named("currentTime").isEqualTo(startTime);
+ assertWithMessage("immediate task").that(activity.r1.wasRun).isTrue();
+ assertWithMessage("currentTime").that(s.getCurrentTime()).isEqualTo(startTime);
}
@Test
@@ -76,11 +77,11 @@
final Scheduler s = Robolectric.getForegroundThreadScheduler();
final long startTime = s.getCurrentTime();
TestDelayedPostActivity activity = Robolectric.setupActivity(TestDelayedPostActivity.class);
- assertThat(activity.r2.wasRun).named("before flush").isFalse();
- assertThat(s.getCurrentTime()).named("currentTime before flush").isEqualTo(startTime);
+ assertWithMessage("before flush").that(activity.r2.wasRun).isFalse();
+ assertWithMessage("currentTime before flush").that(s.getCurrentTime()).isEqualTo(startTime);
s.advanceToLastPostedRunnable();
- assertThat(activity.r2.wasRun).named("after flush").isTrue();
- assertThat(s.getCurrentTime()).named("currentTime after flush").isEqualTo(startTime + 60000);
+ assertWithMessage("after flush").that(activity.r2.wasRun).isTrue();
+ assertWithMessage("currentTime after flush").that(s.getCurrentTime()).isEqualTo(startTime + 60000);
}
@Test
@@ -108,7 +109,7 @@
ShadowLooper.unPauseMainLooper();
controller.create();
assertThat(shadowOf(Looper.getMainLooper()).isPaused()).isFalse();
- assertThat(transcript).containsAllOf("finishedOnCreate", "onCreate");
+ assertThat(transcript).containsAtLeast("finishedOnCreate", "onCreate");
}
@Test
@@ -133,73 +134,73 @@
@Test
public void start_callsPerformStartWhilePaused() {
controller.create().start();
- assertThat(transcript).containsAllOf("finishedOnStart", "onStart");
+ assertThat(transcript).containsAtLeast("finishedOnStart", "onStart");
}
@Test
public void stop_callsPerformStopWhilePaused() {
controller.create().start().stop();
- assertThat(transcript).containsAllOf("finishedOnStop", "onStop");
+ assertThat(transcript).containsAtLeast("finishedOnStop", "onStop");
}
@Test
public void restart_callsPerformRestartWhilePaused() {
controller.create().start().stop().restart();
- assertThat(transcript).containsAllOf("finishedOnRestart", "onRestart");
+ assertThat(transcript).containsAtLeast("finishedOnRestart", "onRestart");
}
@Test
public void pause_callsPerformPauseWhilePaused() {
controller.create().pause();
- assertThat(transcript).containsAllOf("finishedOnPause", "onPause");
+ assertThat(transcript).containsAtLeast("finishedOnPause", "onPause");
}
@Test
public void resume_callsPerformResumeWhilePaused() {
controller.create().start().resume();
- assertThat(transcript).containsAllOf("finishedOnResume", "onResume");
+ assertThat(transcript).containsAtLeast("finishedOnResume", "onResume");
}
@Test
public void destroy_callsPerformDestroyWhilePaused() {
controller.create().destroy();
- assertThat(transcript).containsAllOf("finishedOnDestroy", "onDestroy");
+ assertThat(transcript).containsAtLeast("finishedOnDestroy", "onDestroy");
}
@Test
public void postCreate_callsOnPostCreateWhilePaused() {
controller.create().postCreate(new Bundle());
- assertThat(transcript).containsAllOf("finishedOnPostCreate", "onPostCreate");
+ assertThat(transcript).containsAtLeast("finishedOnPostCreate", "onPostCreate");
}
@Test
public void postResume_callsOnPostResumeWhilePaused() {
controller.create().postResume();
- assertThat(transcript).containsAllOf("finishedOnPostResume", "onPostResume");
+ assertThat(transcript).containsAtLeast("finishedOnPostResume", "onPostResume");
}
@Test
public void restoreInstanceState_callsPerformRestoreInstanceStateWhilePaused() {
controller.create().restoreInstanceState(new Bundle());
- assertThat(transcript).containsAllOf("finishedOnRestoreInstanceState", "onRestoreInstanceState");
+ assertThat(transcript).containsAtLeast("finishedOnRestoreInstanceState", "onRestoreInstanceState");
}
@Test
public void newIntent_callsOnNewIntentWhilePaused() {
controller.create().newIntent(new Intent(Intent.ACTION_VIEW));
- assertThat(transcript).containsAllOf("finishedOnNewIntent", "onNewIntent");
+ assertThat(transcript).containsAtLeast("finishedOnNewIntent", "onNewIntent");
}
@Test
public void userLeaving_callsPerformUserLeavingWhilePaused() {
controller.create().userLeaving();
- assertThat(transcript).containsAllOf("finishedOnUserLeaveHint", "onUserLeaveHint");
+ assertThat(transcript).containsAtLeast("finishedOnUserLeaveHint", "onUserLeaveHint");
}
@Test
public void setup_callsLifecycleMethodsAndMakesVisible() {
controller.setup();
- assertThat(transcript).containsAllOf("onCreate", "onStart", "onPostCreate", "onResume", "onPostResume");
+ assertThat(transcript).containsAtLeast("onCreate", "onStart", "onPostCreate", "onResume", "onPostResume");
assertThat(controller.get().getWindow().getDecorView().getParent().getClass()).isEqualTo(
ViewRootImpl.class);
}
@@ -207,7 +208,7 @@
@Test
public void setupWithBundle_callsLifecycleMethodsAndMakesVisible() {
controller.setup(new Bundle());
- assertThat(transcript).containsAllOf("onCreate", "onStart", "onRestoreInstanceState", "onPostCreate", "onResume", "onPostResume");
+ assertThat(transcript).containsAtLeast("onCreate", "onStart", "onRestoreInstanceState", "onPostCreate", "onResume", "onPostResume");
assertThat(controller.get().getWindow().getDecorView().getParent().getClass()).isEqualTo(
ViewRootImpl.class);
}
@@ -229,7 +230,7 @@
controller.setup();
transcript.clear();
controller.configurationChange(config);
- assertThat(transcript).containsAllOf("onPause", "onStop", "onDestroy", "onCreate", "onStart", "onRestoreInstanceState", "onPostCreate", "onResume", "onPostResume");
+ assertThat(transcript).containsAtLeast("onPause", "onStop", "onDestroy", "onCreate", "onStart", "onRestoreInstanceState", "onPostCreate", "onResume", "onPostResume");
assertThat(controller.get().getResources().getConfiguration().fontScale).isEqualTo(newFontScale);
}
@@ -260,7 +261,7 @@
Robolectric.buildActivity(ConfigAwareActivity.class).setup();
transcript.clear();
configController.configurationChange(config);
- assertThat(transcript).containsAllOf("onPause", "onStop", "onDestroy", "onCreate", "onStart", "onResume");
+ assertThat(transcript).containsAtLeast("onPause", "onStop", "onDestroy", "onCreate", "onStart", "onResume");
assertThat(configController.get().getResources().getConfiguration().fontScale).isEqualTo(newFontScale);
assertThat(configController.get().getResources().getConfiguration().orientation).isEqualTo(newOrientation);
}
@@ -309,9 +310,9 @@
activity = configController.get();
assertThat(activity.retainedFragment).isNotNull();
- assertThat(activity.retainedFragment).isSameAs(retainedFragment);
+ assertThat(activity.retainedFragment).isSameInstanceAs(retainedFragment);
assertThat(activity.nonRetainedFragment).isNotNull();
- assertThat(activity.nonRetainedFragment).isNotSameAs(otherFragment);
+ assertThat(activity.nonRetainedFragment).isNotSameInstanceAs(otherFragment);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/android/controller/ContentProviderControllerTest.java b/robolectric/src/test/java/org/robolectric/android/controller/ContentProviderControllerTest.java
index 190e887..2ed48b1 100644
--- a/robolectric/src/test/java/org/robolectric/android/controller/ContentProviderControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/controller/ContentProviderControllerTest.java
@@ -94,7 +94,7 @@
XContentProvider xContentProvider = Robolectric.setupContentProvider(XContentProvider.class, "x-authority");
assertThat(xContentProvider.transcript).containsExactly("x-authority not registered yet");
ContentProviderClient contentProviderClient = contentResolver.acquireContentProviderClient("x-authority");
- assertThat(contentProviderClient.getLocalContentProvider()).isSameAs(xContentProvider);
+ assertThat(contentProviderClient.getLocalContentProvider()).isSameInstanceAs(xContentProvider);
}
////////////////////
diff --git a/robolectric/src/test/java/org/robolectric/android/controller/IntentServiceControllerTest.java b/robolectric/src/test/java/org/robolectric/android/controller/IntentServiceControllerTest.java
index 67115f8..e3c7be4 100644
--- a/robolectric/src/test/java/org/robolectric/android/controller/IntentServiceControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/controller/IntentServiceControllerTest.java
@@ -79,31 +79,31 @@
@Test
public void unbind_callsUnbindWhilePaused() {
controller.create().bind().unbind();
- assertThat(transcript).containsAllOf("finishedOnUnbind", "onUnbind");
+ assertThat(transcript).containsAtLeast("finishedOnUnbind", "onUnbind");
}
@Test
public void rebind_callsRebindWhilePaused() {
controller.create().bind().unbind().bind().rebind();
- assertThat(transcript).containsAllOf("finishedOnRebind", "onRebind");
+ assertThat(transcript).containsAtLeast("finishedOnRebind", "onRebind");
}
@Test
public void destroy_callsOnDestroyWhilePaused() {
controller.create().destroy();
- assertThat(transcript).containsAllOf("finishedOnDestroy", "onDestroy");
+ assertThat(transcript).containsAtLeast("finishedOnDestroy", "onDestroy");
}
@Test
public void bind_callsOnBindWhilePaused() {
controller.create().bind();
- assertThat(transcript).containsAllOf("finishedOnBind", "onBind");
+ assertThat(transcript).containsAtLeast("finishedOnBind", "onBind");
}
@Test
public void startCommand_callsOnHandleIntentWhilePaused() {
controller.create().startCommand(1, 2);
- assertThat(transcript).containsAllOf("finishedOnHandleIntent", "onHandleIntent");
+ assertThat(transcript).containsAtLeast("finishedOnHandleIntent", "onHandleIntent");
}
public static class MyService extends IntentService {
diff --git a/robolectric/src/test/java/org/robolectric/android/controller/ServiceControllerTest.java b/robolectric/src/test/java/org/robolectric/android/controller/ServiceControllerTest.java
index 47eba92..e01f0d7 100644
--- a/robolectric/src/test/java/org/robolectric/android/controller/ServiceControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/controller/ServiceControllerTest.java
@@ -80,31 +80,31 @@
@Test
public void unbind_callsUnbindWhilePaused() {
controller.create().bind().unbind();
- assertThat(transcript).containsAllOf("finishedOnUnbind", "onUnbind");
+ assertThat(transcript).containsAtLeast("finishedOnUnbind", "onUnbind");
}
@Test
public void rebind_callsRebindWhilePaused() {
controller.create().bind().unbind().bind().rebind();
- assertThat(transcript).containsAllOf("finishedOnRebind", "onRebind");
+ assertThat(transcript).containsAtLeast("finishedOnRebind", "onRebind");
}
@Test
public void destroy_callsOnDestroyWhilePaused() {
controller.create().destroy();
- assertThat(transcript).containsAllOf("finishedOnDestroy", "onDestroy");
+ assertThat(transcript).containsAtLeast("finishedOnDestroy", "onDestroy");
}
@Test
public void bind_callsOnBindWhilePaused() {
controller.create().bind();
- assertThat(transcript).containsAllOf("finishedOnBind", "onBind");
+ assertThat(transcript).containsAtLeast("finishedOnBind", "onBind");
}
@Test
public void startCommand_callsOnStartCommandWhilePaused() {
controller.create().startCommand(1, 2);
- assertThat(transcript).containsAllOf("finishedOnStartCommand", "onStartCommand");
+ assertThat(transcript).containsAtLeast("finishedOnStartCommand", "onStartCommand");
}
public static class MyService extends Service {
diff --git a/robolectric/src/test/java/org/robolectric/android/internal/ParallelUniverseTest.java b/robolectric/src/test/java/org/robolectric/android/internal/ParallelUniverseTest.java
index fc9e4d3..f129e72 100644
--- a/robolectric/src/test/java/org/robolectric/android/internal/ParallelUniverseTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/internal/ParallelUniverseTest.java
@@ -54,9 +54,9 @@
bootstrapWrapper.callSetUpApplicationState();
assertThat(RuntimeEnvironment.getMasterScheduler())
- .isSameAs(ShadowLooper.getShadowMainLooper().getScheduler());
+ .isSameInstanceAs(ShadowLooper.getShadowMainLooper().getScheduler());
assertThat(RuntimeEnvironment.getMasterScheduler())
- .isSameAs(ShadowApplication.getInstance().getForegroundThreadScheduler());
+ .isSameInstanceAs(ShadowApplication.getInstance().getForegroundThreadScheduler());
}
@Test
@@ -67,9 +67,9 @@
final ShadowApplication shadowApplication =
Shadow.extract(ApplicationProvider.getApplicationContext());
assertThat(shadowApplication.getBackgroundThreadScheduler())
- .isSameAs(shadowApplication.getForegroundThreadScheduler());
+ .isSameInstanceAs(shadowApplication.getForegroundThreadScheduler());
assertThat(RuntimeEnvironment.getMasterScheduler())
- .isSameAs(RuntimeEnvironment.getMasterScheduler());
+ .isSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
} finally {
RoboSettings.setUseGlobalScheduler(false);
}
@@ -81,7 +81,7 @@
final ShadowApplication shadowApplication =
Shadow.extract(ApplicationProvider.getApplicationContext());
assertThat(shadowApplication.getBackgroundThreadScheduler())
- .isNotSameAs(shadowApplication.getForegroundThreadScheduler());
+ .isNotSameInstanceAs(shadowApplication.getForegroundThreadScheduler());
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/fakes/RoboMenuItemTest.java b/robolectric/src/test/java/org/robolectric/fakes/RoboMenuItemTest.java
index b9ae311..1f733e5 100644
--- a/robolectric/src/test/java/org/robolectric/fakes/RoboMenuItemTest.java
+++ b/robolectric/src/test/java/org/robolectric/fakes/RoboMenuItemTest.java
@@ -146,7 +146,7 @@
assertThat(testDrawable).isNotNull();
assertThat(item.getIcon()).isNull();
item.setIcon(testDrawable);
- assertThat(item.getIcon()).isSameAs(testDrawable);
+ assertThat(item.getIcon()).isSameInstanceAs(testDrawable);
}
@Test
@@ -158,7 +158,7 @@
@Test
public void setOnActionExpandListener_shouldReturnMenuItem() throws Exception {
- assertThat(item.setOnActionExpandListener(listener)).isSameAs(item);
+ assertThat(item.setOnActionExpandListener(listener)).isSameInstanceAs(item);
}
static class TestOnActionExpandListener implements MenuItem.OnActionExpandListener {
diff --git a/robolectric/src/test/java/org/robolectric/internal/bytecode/AndroidSandboxClassLoaderTest.java b/robolectric/src/test/java/org/robolectric/internal/bytecode/AndroidSandboxClassLoaderTest.java
index d15b3d0..cc3121b 100644
--- a/robolectric/src/test/java/org/robolectric/internal/bytecode/AndroidSandboxClassLoaderTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/bytecode/AndroidSandboxClassLoaderTest.java
@@ -1,6 +1,7 @@
package org.robolectric.internal.bytecode;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import android.os.Build;
import java.lang.reflect.Modifier;
@@ -27,7 +28,7 @@
public void shouldMakeBuildVersionIntsNonFinal() throws Exception {
Class<?> versionClass = loadClass(Build.VERSION.class);
int modifiers = versionClass.getDeclaredField("SDK_INT").getModifiers();
- assertThat(Modifier.isFinal(modifiers)).named("SDK_INT should be non-final").isFalse();
+ assertWithMessage("SDK_INT should be non-final").that(Modifier.isFinal(modifiers)).isFalse();
}
////////////////////////
diff --git a/robolectric/src/test/java/org/robolectric/internal/bytecode/ShadowWranglerUnitTest.java b/robolectric/src/test/java/org/robolectric/internal/bytecode/ShadowWranglerUnitTest.java
index a083e48..ea0adf3 100644
--- a/robolectric/src/test/java/org/robolectric/internal/bytecode/ShadowWranglerUnitTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/bytecode/ShadowWranglerUnitTest.java
@@ -38,7 +38,7 @@
MethodSignature methodSignature = MethodSignature.parse("java/util/LinkedHashMap/eldest()Ljava/lang/Object;");
Function<Object,Object> handler = interceptors.getInterceptionHandler(methodSignature);
- assertThat(handler).isNotSameAs(ShadowWrangler.DO_NOTHING_HANDLER);
+ assertThat(handler).isNotSameInstanceAs(ShadowWrangler.DO_NOTHING_HANDLER);
}
@Test
@@ -122,7 +122,7 @@
public void whenChildShadowHasNarrowerSdk_createShadowFor_shouldReturnSuperShadowSometimes() throws Exception {
ShadowMap shadowMap = new ShadowMap.Builder().addShadowClasses(ShadowDummyClass.class, ShadowChildOfDummyClass.class).build();
assertThat(new ShadowWrangler(shadowMap, 18, interceptors).createShadowFor(new ChildOfDummyClass()))
- .isSameAs(ShadowWrangler.NO_SHADOW);
+ .isSameInstanceAs(ShadowWrangler.NO_SHADOW);
assertThat(new ShadowWrangler(shadowMap, 19, interceptors).createShadowFor(new ChildOfDummyClass()))
.isInstanceOf(ShadowDummyClass.class);
assertThat(new ShadowWrangler(shadowMap, 20, interceptors).createShadowFor(new ChildOfDummyClass()))
@@ -130,7 +130,7 @@
assertThat(new ShadowWrangler(shadowMap, 21, interceptors).createShadowFor(new ChildOfDummyClass()))
.isInstanceOf(ShadowChildOfDummyClass.class);
assertThat(new ShadowWrangler(shadowMap, 22, interceptors).createShadowFor(new ChildOfDummyClass()))
- .isSameAs(ShadowWrangler.NO_SHADOW);
+ .isSameInstanceAs(ShadowWrangler.NO_SHADOW);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/SQLiteDatabaseTest.java b/robolectric/src/test/java/org/robolectric/shadows/SQLiteDatabaseTest.java
index d8d6449..5026fdb 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/SQLiteDatabaseTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/SQLiteDatabaseTest.java
@@ -618,7 +618,7 @@
assertThat(db.isOpen()).isFalse();
SQLiteDatabase reopened = SQLiteDatabase.openDatabase(databasePath.getAbsolutePath(), null, OPEN_READWRITE);
- assertThat(reopened).isNotSameAs(db);
+ assertThat(reopened).isNotSameInstanceAs(db);
assertThat(reopened.isOpen()).isTrue();
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/SQLiteOpenHelperTest.java b/robolectric/src/test/java/org/robolectric/shadows/SQLiteOpenHelperTest.java
index ad4488b..0153979 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/SQLiteOpenHelperTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/SQLiteOpenHelperTest.java
@@ -57,7 +57,7 @@
SQLiteDatabase db1 = helper.getReadableDatabase();
SQLiteDatabase db2 = helper.getReadableDatabase();
- assertThat(db1).isSameAs(db2);
+ assertThat(db1).isSameInstanceAs(db2);
}
@Test
@@ -79,7 +79,7 @@
SQLiteDatabase db1 = helper.getWritableDatabase();
SQLiteDatabase db2 = helper.getWritableDatabase();
- assertThat(db1).isSameAs(db2);
+ assertThat(db1).isSameInstanceAs(db2);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAccountManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAccountManagerTest.java
index 4ad950d..1be4762 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAccountManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAccountManagerTest.java
@@ -46,11 +46,11 @@
@Test
public void testGet() {
assertThat(am).isNotNull();
- assertThat(am).isSameAs(AccountManager.get(ApplicationProvider.getApplicationContext()));
+ assertThat(am).isSameInstanceAs(AccountManager.get(ApplicationProvider.getApplicationContext()));
AccountManager activityAM = AccountManager.get(ApplicationProvider.getApplicationContext());
assertThat(activityAM).isNotNull();
- assertThat(activityAM).isSameAs(am);
+ assertThat(activityAM).isSameInstanceAs(am);
}
@Test
@@ -62,13 +62,13 @@
shadowOf(am).addAccount(a1);
assertThat(am.getAccounts()).isNotNull();
assertThat(am.getAccounts().length).isEqualTo(1);
- assertThat(am.getAccounts()[0]).isSameAs(a1);
+ assertThat(am.getAccounts()[0]).isSameInstanceAs(a1);
Account a2 = new Account("name_b", "type_b");
shadowOf(am).addAccount(a2);
assertThat(am.getAccounts()).isNotNull();
assertThat(am.getAccounts().length).isEqualTo(2);
- assertThat(am.getAccounts()[1]).isSameAs(a2);
+ assertThat(am.getAccounts()[1]).isSameInstanceAs(a2);
}
@Test
@@ -77,7 +77,7 @@
shadowOf(am).addAccount(new Account("name_2", "type_2"));
shadowOf(am).addAccount(new Account("name_3", "type_3"));
- assertThat(am.getAccountsByType(null)).asList().containsAllIn(am.getAccounts());
+ assertThat(am.getAccountsByType(null)).asList().containsAtLeastElementsIn(am.getAccounts());
}
@Test
@@ -90,22 +90,22 @@
Account[] accounts = am.getAccountsByType("type_a");
assertThat(accounts).isNotNull();
assertThat(accounts.length).isEqualTo(1);
- assertThat(accounts[0]).isSameAs(a1);
+ assertThat(accounts[0]).isSameInstanceAs(a1);
Account a2 = new Account("name_b", "type_b");
shadowOf(am).addAccount(a2);
accounts = am.getAccountsByType("type_a");
assertThat(accounts).isNotNull();
assertThat(accounts.length).isEqualTo(1);
- assertThat(accounts[0]).isSameAs(a1);
+ assertThat(accounts[0]).isSameInstanceAs(a1);
Account a3 = new Account("name_c", "type_a");
shadowOf(am).addAccount(a3);
accounts = am.getAccountsByType("type_a");
assertThat(accounts).isNotNull();
assertThat(accounts.length).isEqualTo(2);
- assertThat(accounts[0]).isSameAs(a1);
- assertThat(accounts[1]).isSameAs(a3);
+ assertThat(accounts[0]).isSameInstanceAs(a1);
+ assertThat(accounts[1]).isSameInstanceAs(a3);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityGroupTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityGroupTest.java
index 5a649e9..d1757df 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityGroupTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityGroupTest.java
@@ -18,6 +18,6 @@
Activity activity = new Activity();
shadowOf(activityGroup).setCurrentActivity(activity);
- assertThat(activityGroup.getCurrentActivity()).isSameAs(activity);
+ assertThat(activityGroup.getCurrentActivity()).isSameInstanceAs(activity);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityTest.java
index 0ce9c30..00726ad 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowActivityTest.java
@@ -5,6 +5,7 @@
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static android.os.Build.VERSION_CODES.M;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -250,7 +251,7 @@
Intent startedIntent = shadowActivity.getNextStartedActivity();
assertThat(startedIntent).isNotNull();
- assertThat(startedIntent).isSameAs(intent);
+ assertThat(startedIntent).isSameInstanceAs(intent);
}
@Test
@@ -265,7 +266,7 @@
assertThat(intentForResult).isNotNull();
assertThat(shadowActivity.getNextStartedActivityForResult()).isNull();
assertThat(intentForResult.intent).isNotNull();
- assertThat(intentForResult.intent).isSameAs(intent);
+ assertThat(intentForResult.intent).isSameInstanceAs(intent);
assertThat(intentForResult.requestCode).isEqualTo(142);
}
@@ -279,9 +280,9 @@
ShadowActivity.IntentForResult intentForResult = shadowActivity.peekNextStartedActivityForResult();
assertThat(intentForResult).isNotNull();
- assertThat(shadowActivity.peekNextStartedActivityForResult()).isSameAs(intentForResult);
+ assertThat(shadowActivity.peekNextStartedActivityForResult()).isSameInstanceAs(intentForResult);
assertThat(intentForResult.intent).isNotNull();
- assertThat(intentForResult.intent).isSameAs(intent);
+ assertThat(intentForResult.intent).isSameInstanceAs(intent);
assertThat(intentForResult.requestCode).isEqualTo(142);
}
@@ -500,7 +501,7 @@
for (int mode : modes) {
activity.setDefaultKeyMode(mode);
- assertThat(shadow.getDefaultKeymode()).named("Unexpected key mode").isEqualTo(mode);
+ assertWithMessage("Unexpected key mode").that(shadow.getDefaultKeymode()).isEqualTo(mode);
}
}
@@ -558,7 +559,7 @@
activity.setContentView(contentView);
FrameLayout contentViewContainer = (FrameLayout) activity.findViewById(android.R.id.content);
- assertThat(contentViewContainer.getChildAt(0)).isSameAs(contentView);
+ assertThat(contentViewContainer.getChildAt(0)).isSameInstanceAs(contentView);
}
@Test
@@ -604,7 +605,7 @@
assertThat(shadow.getManagedCursors()).isNotNull();
assertThat(shadow.getManagedCursors().size()).isEqualTo(1);
- assertThat(shadow.getManagedCursors().get(0)).isSameAs(c);
+ assertThat(shadow.getManagedCursors().get(0)).isSameInstanceAs(c);
activity.stopManagingCursor(c);
@@ -813,7 +814,7 @@
activity.startActivityFromFragment(new Fragment(), intent, 4);
ShadowActivity.IntentForResult intentForResult = shadowOf(activity).getNextStartedActivityForResult();
- assertThat(intentForResult.intent).isSameAs(intent);
+ assertThat(intentForResult.intent).isSameInstanceAs(intent);
assertThat(intentForResult.requestCode).isEqualTo(4);
}
@@ -826,8 +827,8 @@
activity.startActivityFromFragment(new Fragment(), intent, 5, options);
ShadowActivity.IntentForResult intentForResult = shadowOf(activity).getNextStartedActivityForResult();
- assertThat(intentForResult.intent).isSameAs(intent);
- assertThat(intentForResult.options).isSameAs(options);
+ assertThat(intentForResult.intent).isSameInstanceAs(intent);
+ assertThat(intentForResult.options).isSameInstanceAs(options);
assertThat(intentForResult.requestCode).isEqualTo(5);
}
@@ -838,7 +839,7 @@
Bundle animationBundle = ActivityOptions.makeCustomAnimation(activity, R.anim.test_anim_1, R.anim.test_anim_1).toBundle();
activity.startActivity(intent, animationBundle);
- assertThat(shadowOf(activity).getNextStartedActivityForResult().options).isSameAs(animationBundle);
+ assertThat(shadowOf(activity).getNextStartedActivityForResult().options).isSameInstanceAs(animationBundle);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAlarmManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAlarmManagerTest.java
index 9bd8eae..0d4b402 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAlarmManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAlarmManagerTest.java
@@ -346,8 +346,8 @@
AlarmClockInfo next = alarmManager.getNextAlarmClock();
assertThat(next).isNotNull();
assertThat(next.getTriggerTime()).isEqualTo(1000);
- assertThat(next.getShowIntent()).isSameAs(show);
- assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation);
+ assertThat(next.getShowIntent()).isSameInstanceAs(show);
+ assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameInstanceAs(operation);
// Schedule another alarm sooner.
PendingIntent show2 = PendingIntent.getBroadcast(context, 0, new Intent("showAction2"), 0);
@@ -358,8 +358,8 @@
next = alarmManager.getNextAlarmClock();
assertThat(next).isNotNull();
assertThat(next.getTriggerTime()).isEqualTo(500);
- assertThat(next.getShowIntent()).isSameAs(show2);
- assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation2);
+ assertThat(next.getShowIntent()).isSameInstanceAs(show2);
+ assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameInstanceAs(operation2);
// Remove the soonest alarm.
alarmManager.cancel(operation2);
@@ -367,8 +367,8 @@
next = alarmManager.getNextAlarmClock();
assertThat(next).isNotNull();
assertThat(next.getTriggerTime()).isEqualTo(1000);
- assertThat(next.getShowIntent()).isSameAs(show);
- assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation);
+ assertThat(next.getShowIntent()).isSameInstanceAs(show);
+ assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameInstanceAs(operation);
// Remove the sole alarm.
alarmManager.cancel(operation);
@@ -386,7 +386,7 @@
ShadowAlarmManager.ScheduledAlarm scheduledAlarm) {
assertThat(scheduledAlarm).isNotNull();
assertThat(scheduledAlarm.operation).isNotNull();
- assertThat(scheduledAlarm.operation).isSameAs(pendingIntent);
+ assertThat(scheduledAlarm.operation).isSameInstanceAs(pendingIntent);
assertThat(scheduledAlarm.type).isEqualTo(AlarmManager.ELAPSED_REALTIME);
assertThat(scheduledAlarm.triggerAtTime).isEqualTo(now);
assertThat(scheduledAlarm.interval).isEqualTo(interval);
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAlertDialogTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAlertDialogTest.java
index 854e856..e15ecba 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAlertDialogTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAlertDialogTest.java
@@ -55,8 +55,8 @@
assertEquals("title", shadowAlertDialog.getTitle());
assertThat(shadowAlertDialog.getMessage()).isEqualTo("message");
assertThat(shadowAlertDialog.isCancelable()).isTrue();
- assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameAs(shadowAlertDialog);
- assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameAs(alert);
+ assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameInstanceAs(shadowAlertDialog);
+ assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameInstanceAs(alert);
}
@Test
@@ -74,7 +74,7 @@
assertThat(ShadowAlertDialog.getLatestAlertDialog()).isNull();
AlertDialog dialog = new AlertDialog.Builder(application).show();
- assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameAs(dialog);
+ assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameInstanceAs(dialog);
}
@Test
@@ -148,7 +148,7 @@
public void shouldSetCustomTitleView() throws Exception {
AlertDialog.Builder builder = new AlertDialog.Builder(application);
View view = new View(application);
- assertThat(builder.setCustomTitle(view)).isSameAs(builder);
+ assertThat(builder.setCustomTitle(view)).isSameInstanceAs(builder);
AlertDialog alert = builder.create();
assertThat(shadowOf(alert).getCustomTitleView()).isEqualTo(view);
@@ -210,8 +210,8 @@
assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo("title");
assertThat(shadowAlertDialog.getItems().length).isEqualTo(2);
assertThat(shadowAlertDialog.getItems()[0]).isEqualTo("Aloha");
- assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameAs(shadowAlertDialog);
- assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameAs(alert);
+ assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameInstanceAs(shadowAlertDialog);
+ assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameInstanceAs(alert);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppOpsManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppOpsManagerTest.java
index 81a2506..0d1f4f6 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppOpsManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppOpsManagerTest.java
@@ -284,6 +284,6 @@
}
}
- assertThat(actualOps).containsAllIn(expectedOps);
+ assertThat(actualOps).containsAtLeastElementsIn(expectedOps);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppTaskTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppTaskTest.java
index e8fcd4e..db17e6e 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppTaskTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppTaskTest.java
@@ -45,7 +45,7 @@
shadowOf(appTask).setTaskInfo(recentTaskInfo);
- assertThat(appTask.getTaskInfo()).isSameAs(recentTaskInfo);
+ assertThat(appTask.getTaskInfo()).isSameInstanceAs(recentTaskInfo);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostTest.java
index d7bca7e..0bf5355 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostTest.java
@@ -29,7 +29,7 @@
@Test
public void shouldKnowItsContext() throws Exception {
- assertThat(shadowAppWidgetHost.getContext()).isSameAs(context);
+ assertThat(shadowAppWidgetHost.getContext()).isSameInstanceAs(context);
}
@Test
@@ -46,7 +46,7 @@
@Test
public void createView_shouldSetViewsContext() throws Exception {
AppWidgetHostView hostView = appWidgetHost.createView(context, 0, null);
- assertThat(hostView.getContext()).isSameAs(context);
+ assertThat(hostView.getContext()).isSameInstanceAs(context);
}
@Test
@@ -59,12 +59,12 @@
public void createView_shouldSetViewsAppWidgetInfo() throws Exception {
AppWidgetProviderInfo info = new AppWidgetProviderInfo();
AppWidgetHostView hostView = appWidgetHost.createView(context, 0, info);
- assertThat(hostView.getAppWidgetInfo()).isSameAs(info);
+ assertThat(hostView.getAppWidgetInfo()).isSameInstanceAs(info);
}
@Test
public void createView_shouldSetHostViewsHost() throws Exception {
AppWidgetHostView hostView = appWidgetHost.createView(context, 0, null);
- assertThat(shadowOf(hostView).getHost()).isSameAs(appWidgetHost);
+ assertThat(shadowOf(hostView).getHost()).isSameInstanceAs(appWidgetHost);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostViewTest.java
index 834ae37..cf17b45 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAppWidgetHostViewTest.java
@@ -33,7 +33,7 @@
public void shouldKnowItsAppWidgetProviderInfo() throws Exception {
AppWidgetProviderInfo providerInfo = new AppWidgetProviderInfo();
appWidgetHostView.setAppWidget(0, providerInfo);
- assertThat(appWidgetHostView.getAppWidgetInfo()).isSameAs(providerInfo);
+ assertThat(appWidgetHostView.getAppWidgetInfo()).isSameInstanceAs(providerInfo);
}
@Test
@@ -45,6 +45,6 @@
public void shouldBeAbleToHaveHostSet() throws Exception {
AppWidgetHost host = new AppWidgetHost(ApplicationProvider.getApplicationContext(), 0);
shadowAppWidgetHostView.setHost(host);
- assertThat(shadowAppWidgetHostView.getHost()).isSameAs(host);
+ assertThat(shadowAppWidgetHostView.getHost()).isSameInstanceAs(host);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
index e7ddc3b..65c7526 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
@@ -68,9 +68,9 @@
@Test
public void shouldBeAContext() throws Exception {
assertThat(Robolectric.setupActivity(Activity.class).getApplication())
- .isSameAs(ApplicationProvider.getApplicationContext());
+ .isSameInstanceAs(ApplicationProvider.getApplicationContext());
assertThat(Robolectric.setupActivity(Activity.class).getApplication().getApplicationContext())
- .isSameAs(ApplicationProvider.getApplicationContext());
+ .isSameInstanceAs(ApplicationProvider.getApplicationContext());
}
@Test
@@ -266,7 +266,7 @@
context.bindService(expectedIntent, service, Context.BIND_AUTO_CREATE);
context.unbindService(service);
assertThat(shadowApplication.getUnboundServiceConnections()).hasSize(1);
- assertThat(shadowApplication.getUnboundServiceConnections().get(0)).isSameAs(service);
+ assertThat(shadowApplication.getUnboundServiceConnections().get(0)).isSameInstanceAs(service);
}
@Test
@@ -526,7 +526,7 @@
assertThat(context.bindService(new Intent("connect"), expectedServiceConnection, 0)).isTrue();
assertThat(shadowApplication.getBoundServiceConnections()).hasSize(1);
assertThat(shadowApplication.getBoundServiceConnections().get(0))
- .isSameAs(expectedServiceConnection);
+ .isSameInstanceAs(expectedServiceConnection);
}
@Test
@@ -539,7 +539,7 @@
assertThat(shadowApplication.getBoundServiceConnections()).hasSize(0);
assertThat(context.bindService(serviceIntent, expectedServiceConnection, 0)).isFalse();
assertThat(shadowApplication.getBoundServiceConnections()).hasSize(1);
- assertThat(shadowApplication.getBoundServiceConnections().get(0)).isSameAs(expectedServiceConnection);
+ assertThat(shadowApplication.getBoundServiceConnections().get(0)).isSameInstanceAs(expectedServiceConnection);
}
@Test
@@ -554,14 +554,14 @@
assertThat(shadowApplication.getBoundServiceConnections()).hasSize(0);
assertThat(shadowApplication.getUnboundServiceConnections()).hasSize(1);
assertThat(shadowApplication.getUnboundServiceConnections().get(0))
- .isSameAs(expectedServiceConnection);
+ .isSameInstanceAs(expectedServiceConnection);
}
@Test
public void getThreadScheduler_shouldMatchRobolectricValue() {
final ShadowApplication shadowApplication = Shadows.shadowOf(context);
- assertThat(shadowApplication.getForegroundThreadScheduler()).isSameAs(Robolectric.getForegroundThreadScheduler());
- assertThat(shadowApplication.getBackgroundThreadScheduler()).isSameAs(Robolectric.getBackgroundThreadScheduler());
+ assertThat(shadowApplication.getForegroundThreadScheduler()).isSameInstanceAs(Robolectric.getForegroundThreadScheduler());
+ assertThat(shadowApplication.getBackgroundThreadScheduler()).isSameInstanceAs(Robolectric.getBackgroundThreadScheduler());
}
@Test
@@ -569,7 +569,7 @@
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
final ShadowApplication shadowApplication = Shadows.shadowOf(context);
- assertThat(shadowApplication.getForegroundThreadScheduler()).isSameAs(s);
+ assertThat(shadowApplication.getForegroundThreadScheduler()).isSameInstanceAs(s);
}
@Test
@@ -577,7 +577,7 @@
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
final ShadowApplication shadowApplication = Shadows.shadowOf(context);
- assertThat(shadowApplication.getBackgroundThreadScheduler()).isNotSameAs(RuntimeEnvironment.getMasterScheduler());
+ assertThat(shadowApplication.getBackgroundThreadScheduler()).isNotSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
}
@Test
@@ -585,7 +585,7 @@
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
final ShadowApplication shadowApplication = Shadows.shadowOf(context);
- assertThat(shadowApplication.getBackgroundThreadScheduler()).isNotSameAs(s);
+ assertThat(shadowApplication.getBackgroundThreadScheduler()).isNotSameInstanceAs(s);
}
@Test
@@ -595,7 +595,7 @@
pw.showAtLocation(new LinearLayout(context), Gravity.CENTER, 0, 0);
PopupWindow latestPopupWindow = ShadowApplication.getInstance().getLatestPopupWindow();
- assertThat(latestPopupWindow).isSameAs(pw);
+ assertThat(latestPopupWindow).isSameInstanceAs(pw);
}
/////////////////////////////
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowArrayAdapterTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowArrayAdapterTest.java
index b50fbac..b90bc04 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowArrayAdapterTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowArrayAdapterTest.java
@@ -36,7 +36,7 @@
@Test
public void verifyContext() {
- assertThat(arrayAdapter.getContext()).isSameAs(context);
+ assertThat(arrayAdapter.getContext()).isSameInstanceAs(context);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAudioManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAudioManagerTest.java
index a369424..aa7086d 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAudioManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAudioManagerTest.java
@@ -30,7 +30,7 @@
public void requestAudioFocus_shouldRecordArgumentsOfMostRecentCall() {
assertThat(shadowOf(audioManager).getLastAudioFocusRequest()).isNull();
audioManager.requestAudioFocus(listener, 999, 888);
- assertThat(shadowOf(audioManager).getLastAudioFocusRequest().listener).isSameAs(listener);
+ assertThat(shadowOf(audioManager).getLastAudioFocusRequest().listener).isSameInstanceAs(listener);
assertThat(shadowOf(audioManager).getLastAudioFocusRequest().streamType).isEqualTo(999);
assertThat(shadowOf(audioManager).getLastAudioFocusRequest().durationHint).isEqualTo(888);
assertThat(shadowOf(audioManager).getLastAudioFocusRequest().audioFocusRequest).isNull();
@@ -88,7 +88,7 @@
assertThat(shadowOf(audioManager).getLastAbandonedAudioFocusListener()).isNull();
audioManager.abandonAudioFocus(listener);
- assertThat(shadowOf(audioManager).getLastAbandonedAudioFocusListener()).isSameAs(listener);
+ assertThat(shadowOf(audioManager).getLastAbandonedAudioFocusListener()).isSameInstanceAs(listener);
}
@Test
@@ -97,7 +97,7 @@
android.media.AudioFocusRequest request =
new android.media.AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN).build();
audioManager.abandonAudioFocusRequest(request);
- assertThat(shadowOf(audioManager).getLastAbandonedAudioFocusRequest()).isSameAs(request);
+ assertThat(shadowOf(audioManager).getLastAbandonedAudioFocusRequest()).isSameInstanceAs(request);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowBackupManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowBackupManagerTest.java
index ec3f289..9057c42 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowBackupManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowBackupManagerTest.java
@@ -163,17 +163,9 @@
}
private static <T, F> Correspondence<T, F> fieldCorrespondence(String fieldName) {
- return new Correspondence<T, F>() {
- @Override
- public boolean compare(T actual, F expected) {
- return Objects.equals(ReflectionHelpers.getField(actual, fieldName), expected);
- }
-
- @Override
- public String toString() {
- return "field \"" + fieldName + "\" matches";
- }
- };
+ return Correspondence.from((T actual, F expected) -> {
+ return Objects.equals(ReflectionHelpers.getField(actual, fieldName), expected);
+ }, "field \"" + fieldName + "\" matches");
}
private static class TestRestoreObserver extends RestoreObserver {}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowBinderTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowBinderTest.java
index 009a495..e1ae406 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowBinderTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowBinderTest.java
@@ -21,8 +21,8 @@
data.writeString("Hello Robolectric");
assertTrue(testBinder.transact(2, data, reply, 3));
assertThat(testBinder.code).isEqualTo(2);
- assertThat(testBinder.data).isSameAs(data);
- assertThat(testBinder.reply).isSameAs(reply);
+ assertThat(testBinder.data).isSameInstanceAs(data);
+ assertThat(testBinder.reply).isSameInstanceAs(reply);
assertThat(testBinder.flags).isEqualTo(3);
reply.readException();
assertThat(reply.readString()).isEqualTo("Hello Robolectric");
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapDrawableTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapDrawableTest.java
index 35aeb17..61cfd6c 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapDrawableTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapDrawableTest.java
@@ -48,7 +48,7 @@
public void mutate_createsDeepCopy() throws Exception {
BitmapDrawable original = (BitmapDrawable) resources.getDrawable(R.drawable.an_image);
Drawable mutated = original.mutate();
- assertThat(original).isNotSameAs(mutated);
+ assertThat(original).isNotSameInstanceAs(mutated);
assertThat(mutated instanceof BitmapDrawable).isTrue();
assertThat(mutated.getIntrinsicHeight()).isEqualTo(original.getIntrinsicHeight());
assertThat(mutated.getIntrinsicWidth()).isEqualTo(original.getIntrinsicWidth());
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapTest.java
index eb23b46..00175d9 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowBitmapTest.java
@@ -284,20 +284,20 @@
public void bitmapsAreReused() {
Bitmap b = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
Bitmap b1 = Bitmap.createBitmap(b, 0, 0, 10, 10);
- assertThat(b1).isSameAs(b);
+ assertThat(b1).isSameInstanceAs(b);
Bitmap b2 = Bitmap.createBitmap(b, 0, 0, 10, 10, null, false);
- assertThat(b2).isSameAs(b);
+ assertThat(b2).isSameInstanceAs(b);
Bitmap b3 = Bitmap.createScaledBitmap(b, 10, 10, false);
- assertThat(b3).isSameAs(b);
+ assertThat(b3).isSameInstanceAs(b);
}
@Test
public void equalsSizeTransformReturnsOriginal() {
Bitmap b1 = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
Bitmap b2 = Bitmap.createBitmap(b1, 0, 0, 10, 10, null, false);
- assertThat(b1).isSameAs(b2);
+ assertThat(b1).isSameInstanceAs(b2);
Bitmap b3 = Bitmap.createBitmap(b1, 0, 0, 10, 10, null, true);
- assertThat(b1).isSameAs(b3);
+ assertThat(b1).isSameInstanceAs(b3);
}
@Test(expected = IllegalArgumentException.class)
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowBluetoothManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowBluetoothManagerTest.java
index ec4d368..33164f1 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowBluetoothManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowBluetoothManagerTest.java
@@ -21,6 +21,6 @@
@Test
public void getAdapter_shouldReturnBluetoothAdapter() {
- assertThat(manager.getAdapter()).isSameAs(BluetoothAdapter.getDefaultAdapter());
+ assertThat(manager.getAdapter()).isSameInstanceAs(BluetoothAdapter.getDefaultAdapter());
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraManagerTest.java
index d5213da..4c800d4 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraManagerTest.java
@@ -107,6 +107,6 @@
public void testGetCameraCharacteristicsRecognizedCameraId() throws CameraAccessException {
shadowOf(cameraManager).addCamera(CAMERA_ID_0, characteristics);
- assertThat(cameraManager.getCameraCharacteristics(CAMERA_ID_0)).isSameAs(characteristics);
+ assertThat(cameraManager.getCameraCharacteristics(CAMERA_ID_0)).isSameInstanceAs(characteristics);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraTest.java
index a7687e4..e919399 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCameraTest.java
@@ -83,7 +83,7 @@
public void testSetPreviewDisplay() throws Exception {
SurfaceHolder previewSurfaceHolder = new TestSurfaceHolder();
camera.setPreviewDisplay(previewSurfaceHolder);
- assertThat(shadowCamera.getPreviewDisplay()).isSameAs(previewSurfaceHolder);
+ assertThat(shadowCamera.getPreviewDisplay()).isSameInstanceAs(previewSurfaceHolder);
}
@Test
@@ -117,7 +117,7 @@
camera.setPreviewCallback(callback);
shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8));
- assertThat(callback.camera).isSameAs(camera);
+ assertThat(callback.camera).isSameInstanceAs(camera);
assertThat(callback.data).isEqualTo("foobar".getBytes(UTF_8));
}
@@ -130,7 +130,7 @@
camera.setOneShotPreviewCallback(callback);
shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8));
- assertThat(callback.camera).isSameAs(camera);
+ assertThat(callback.camera).isSameInstanceAs(camera);
assertThat(callback.data).isEqualTo("foobar".getBytes(UTF_8));
}
@@ -143,7 +143,7 @@
camera.setPreviewCallbackWithBuffer(callback);
shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8));
- assertThat(callback.camera).isSameAs(camera);
+ assertThat(callback.camera).isSameInstanceAs(camera);
assertThat(callback.data).isEqualTo("foobar".getBytes(UTF_8));
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCanvasTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCanvasTest.java
index 6aae0dd..c6ee368 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCanvasTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCanvasTest.java
@@ -274,12 +274,12 @@
assertThat(shadowCanvas.getDrawnCircle(0).centerX).isEqualTo(1.0f);
assertThat(shadowCanvas.getDrawnCircle(0).centerY).isEqualTo(2.0f);
assertThat(shadowCanvas.getDrawnCircle(0).radius).isEqualTo(3.0f);
- assertThat(shadowCanvas.getDrawnCircle(0).paint).isSameAs(paint0);
+ assertThat(shadowCanvas.getDrawnCircle(0).paint).isSameInstanceAs(paint0);
assertThat(shadowCanvas.getDrawnCircle(1).centerX).isEqualTo(4.0f);
assertThat(shadowCanvas.getDrawnCircle(1).centerY).isEqualTo(5.0f);
assertThat(shadowCanvas.getDrawnCircle(1).radius).isEqualTo(6.0f);
- assertThat(shadowCanvas.getDrawnCircle(1).paint).isSameAs(paint1);
+ assertThat(shadowCanvas.getDrawnCircle(1).paint).isSameInstanceAs(paint1);
}
@Test
@@ -297,13 +297,13 @@
assertThat(shadowCanvas.getDrawnArc(0).startAngle).isEqualTo(1f);
assertThat(shadowCanvas.getDrawnArc(0).sweepAngle).isEqualTo(2f);
assertThat(shadowCanvas.getDrawnArc(0).useCenter).isTrue();
- assertThat(shadowCanvas.getDrawnArc(0).paint).isSameAs(paint0);
+ assertThat(shadowCanvas.getDrawnArc(0).paint).isSameInstanceAs(paint0);
assertThat(shadowCanvas.getDrawnArc(1).oval).isEqualTo(oval1);
assertThat(shadowCanvas.getDrawnArc(1).startAngle).isEqualTo(3f);
assertThat(shadowCanvas.getDrawnArc(1).sweepAngle).isEqualTo(4f);
assertThat(shadowCanvas.getDrawnArc(1).useCenter).isFalse();
- assertThat(shadowCanvas.getDrawnArc(1).paint).isSameAs(paint1);
+ assertThat(shadowCanvas.getDrawnArc(1).paint).isSameInstanceAs(paint1);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowConnectivityManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowConnectivityManagerTest.java
index 40d3af2..7192b3c 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowConnectivityManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowConnectivityManagerTest.java
@@ -93,7 +93,7 @@
shadowOf(connectivityManager).addNetwork(vpnNetwork, vpnNetworkInfo);
NetworkInfo returnedNetworkInfo = connectivityManager.getNetworkInfo(vpnNetwork);
- assertThat(returnedNetworkInfo).isSameAs(vpnNetworkInfo);
+ assertThat(returnedNetworkInfo).isSameInstanceAs(vpnNetworkInfo);
}
@Test @Config(minSdk = LOLLIPOP)
@@ -251,10 +251,10 @@
assertThat(networks).asList().hasSize(1);
Network returnedNetwork = networks[0];
- assertThat(returnedNetwork).isSameAs(vpnNetwork);
+ assertThat(returnedNetwork).isSameInstanceAs(vpnNetwork);
NetworkInfo returnedNetworkInfo = connectivityManager.getNetworkInfo(returnedNetwork);
- assertThat(returnedNetworkInfo).isSameAs(vpnNetworkInfo);
+ assertThat(returnedNetworkInfo).isSameInstanceAs(vpnNetworkInfo);
}
@Test @Config(minSdk = LOLLIPOP)
@@ -390,7 +390,7 @@
public void bindProcessToNetwork_shouldGetBoundNetworkForProcess() {
Network network = ShadowNetwork.newInstance(789);
connectivityManager.bindProcessToNetwork(network);
- assertThat(connectivityManager.getBoundNetworkForProcess()).isSameAs(network);
+ assertThat(connectivityManager.getBoundNetworkForProcess()).isSameInstanceAs(network);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentObserverTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentObserverTest.java
index f51c7c8..8eaa292 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentObserverTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentObserverTest.java
@@ -31,7 +31,7 @@
assertThat(observer.changed).isTrue();
assertThat(observer.selfChange).isTrue();
- assertThat(observer.uri).isSameAs(uri);
+ assertThat(observer.uri).isSameInstanceAs(uri);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
index 1cb403c..9b693ac 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowContentResolverTest.java
@@ -202,7 +202,7 @@
assertThat(shadowContentResolver.query(null, null, null, null, null)).isNull();
BaseCursor cursor = new BaseCursor();
shadowContentResolver.setCursor(cursor);
- assertThat((BaseCursor) shadowContentResolver.query(null, null, null, null, null)).isSameAs(cursor);
+ assertThat((BaseCursor) shadowContentResolver.query(null, null, null, null, null)).isSameInstanceAs(cursor);
}
@Test
@@ -210,7 +210,7 @@
assertThat(shadowContentResolver.query(null, null, null, null, null, new CancellationSignal())).isNull();
BaseCursor cursor = new BaseCursor();
shadowContentResolver.setCursor(cursor);
- assertThat((BaseCursor) shadowContentResolver.query(null, null, null, null, null, new CancellationSignal())).isSameAs(cursor);
+ assertThat((BaseCursor) shadowContentResolver.query(null, null, null, null, null, new CancellationSignal())).isSameInstanceAs(cursor);
}
@Test
@@ -223,8 +223,8 @@
shadowContentResolver.setCursor(uri21, cursor21);
shadowContentResolver.setCursor(uri22, cursor22);
- assertThat((BaseCursor) shadowContentResolver.query(uri21, null, null, null, null)).isSameAs(cursor21);
- assertThat((BaseCursor) shadowContentResolver.query(uri22, null, null, null, null)).isSameAs(cursor22);
+ assertThat((BaseCursor) shadowContentResolver.query(uri21, null, null, null, null)).isSameInstanceAs(cursor21);
+ assertThat((BaseCursor) shadowContentResolver.query(uri22, null, null, null, null)).isSameInstanceAs(cursor22);
}
@Test
@@ -256,14 +256,14 @@
ContentProvider cp = mock(ContentProvider.class);
ShadowContentResolver.registerProviderInternal(AUTHORITY, cp);
final Uri uri = Uri.parse("content://" + AUTHORITY);
- assertThat(contentResolver.acquireUnstableProvider(uri)).isSameAs(cp.getIContentProvider());
+ assertThat(contentResolver.acquireUnstableProvider(uri)).isSameInstanceAs(cp.getIContentProvider());
}
@Test
public void acquireUnstableProvider_shouldReturnWithString() {
ContentProvider cp = mock(ContentProvider.class);
ShadowContentResolver.registerProviderInternal(AUTHORITY, cp);
- assertThat(contentResolver.acquireUnstableProvider(AUTHORITY)).isSameAs(cp.getIContentProvider());
+ assertThat(contentResolver.acquireUnstableProvider(AUTHORITY)).isSameInstanceAs(cp.getIContentProvider());
}
@Test
@@ -767,21 +767,21 @@
Uri uri = Uri.parse("content://" + AUTHORITY + "/whatever");
contentResolver.takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
assertThat(permissions).hasSize(1);
- assertThat(permissions.get(0).getUri()).isSameAs(uri);
+ assertThat(permissions.get(0).getUri()).isSameInstanceAs(uri);
assertThat(permissions.get(0).isReadPermission()).isTrue();
assertThat(permissions.get(0).isWritePermission()).isFalse();
// Take the write permission for the uri.
contentResolver.takePersistableUriPermission(uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
assertThat(permissions).hasSize(1);
- assertThat(permissions.get(0).getUri()).isSameAs(uri);
+ assertThat(permissions.get(0).getUri()).isSameInstanceAs(uri);
assertThat(permissions.get(0).isReadPermission()).isTrue();
assertThat(permissions.get(0).isWritePermission()).isTrue();
// Release the read permission for the uri.
contentResolver.releasePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
assertThat(permissions).hasSize(1);
- assertThat(permissions.get(0).getUri()).isSameAs(uri);
+ assertThat(permissions.get(0).getUri()).isSameInstanceAs(uri);
assertThat(permissions.get(0).isReadPermission()).isFalse();
assertThat(permissions.get(0).isWritePermission()).isTrue();
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowContextWrapperTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowContextWrapperTest.java
index 3ccd80c..26c6cf5 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowContextWrapperTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowContextWrapperTest.java
@@ -423,17 +423,17 @@
@Test
public void shouldReturnSameApplicationEveryTime() throws Exception {
Activity activity = new Activity();
- assertThat(activity.getApplication()).isSameAs(activity.getApplication());
+ assertThat(activity.getApplication()).isSameInstanceAs(activity.getApplication());
- assertThat(activity.getApplication()).isSameAs(new Activity().getApplication());
+ assertThat(activity.getApplication()).isSameInstanceAs(new Activity().getApplication());
}
@Test
public void shouldReturnSameApplicationContextEveryTime() throws Exception {
Activity activity = Robolectric.setupActivity(Activity.class);
- assertThat(activity.getApplicationContext()).isSameAs(activity.getApplicationContext());
+ assertThat(activity.getApplicationContext()).isSameInstanceAs(activity.getApplicationContext());
- assertThat(activity.getApplicationContext()).isSameAs(Robolectric.setupActivity(Activity.class).getApplicationContext());
+ assertThat(activity.getApplicationContext()).isSameInstanceAs(Robolectric.setupActivity(Activity.class).getApplicationContext());
}
@Test
@@ -449,9 +449,9 @@
@Test
public void shouldReturnSameContentResolverEveryTime() throws Exception {
Activity activity = Robolectric.setupActivity(Activity.class);
- assertThat(activity.getContentResolver()).isSameAs(activity.getContentResolver());
+ assertThat(activity.getContentResolver()).isSameInstanceAs(activity.getContentResolver());
- assertThat(activity.getContentResolver()).isSameAs(Robolectric.setupActivity(Activity.class).getContentResolver());
+ assertThat(activity.getContentResolver()).isSameInstanceAs(Robolectric.setupActivity(Activity.class).getContentResolver());
}
@Test
@@ -539,8 +539,8 @@
private void assertSameInstanceEveryTime(String serviceName) {
Activity activity1 = buildActivity(Activity.class).create().get();
Activity activity2 = buildActivity(Activity.class).create().get();
- assertThat(activity1.getSystemService(serviceName)).isSameAs(activity1.getSystemService(serviceName));
- assertThat(activity1.getSystemService(serviceName)).isSameAs(activity2.getSystemService(serviceName));
+ assertThat(activity1.getSystemService(serviceName)).isSameInstanceAs(activity1.getSystemService(serviceName));
+ assertThat(activity1.getSystemService(serviceName)).isSameInstanceAs(activity2.getSystemService(serviceName));
}
@Test
@@ -635,7 +635,7 @@
final SharedPreferences pref1 = contextWrapper.getSharedPreferences("pref", Context.MODE_PRIVATE);
final SharedPreferences pref2 = contextWrapper.getSharedPreferences("pref", Context.MODE_PRIVATE);
- assertThat(pref1).isSameAs(pref2);
+ assertThat(pref1).isSameInstanceAs(pref2);
}
@Test
@@ -643,7 +643,7 @@
final SharedPreferences pref1 = contextWrapper.getSharedPreferences("pref1", Context.MODE_PRIVATE);
final SharedPreferences pref2 = contextWrapper.getSharedPreferences("pref2", Context.MODE_PRIVATE);
- assertThat(pref1).isNotSameAs(pref2);
+ assertThat(pref1).isNotSameInstanceAs(pref2);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCookieManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCookieManagerTest.java
index 79fb9b4..f1363b9 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCookieManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCookieManagerTest.java
@@ -17,7 +17,7 @@
@Test
public void shouldGetASingletonInstance() {
assertThat(CookieManager.getInstance()).isNotNull();
- assertThat(CookieManager.getInstance()).isSameAs(CookieManager.getInstance());
+ assertThat(CookieManager.getInstance()).isSameInstanceAs(CookieManager.getInstance());
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCrossProfileAppsTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCrossProfileAppsTest.java
index cae9151..cd83bd1 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCrossProfileAppsTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCrossProfileAppsTest.java
@@ -296,7 +296,7 @@
StartedActivity startedActivity = shadowOf(crossProfileApps).peekNextStartedActivity();
assertThat(startedActivity).isEqualTo(new StartedActivity(component, userHandle1));
- assertThat(shadowOf(crossProfileApps).peekNextStartedActivity()).isSameAs(startedActivity);
+ assertThat(shadowOf(crossProfileApps).peekNextStartedActivity()).isSameInstanceAs(startedActivity);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorAdapterTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorAdapterTest.java
index 2f3f4f8..d31912f 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorAdapterTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorAdapterTest.java
@@ -46,7 +46,7 @@
@Test
public void testChangeCursor() {
assertThat(adapter.getCursor()).isNotNull();
- assertThat(adapter.getCursor()).isSameAs(curs);
+ assertThat(adapter.getCursor()).isSameInstanceAs(curs);
adapter.changeCursor(null);
@@ -57,11 +57,11 @@
@Test
public void testSwapCursor() {
assertThat(adapter.getCursor()).isNotNull();
- assertThat(adapter.getCursor()).isSameAs(curs);
+ assertThat(adapter.getCursor()).isSameInstanceAs(curs);
Cursor oldCursor = adapter.swapCursor(null);
- assertThat(oldCursor).isSameAs(curs);
+ assertThat(oldCursor).isSameInstanceAs(curs);
assertThat(curs.isClosed()).isFalse();
assertThat(adapter.getCursor()).isNull();
}
@@ -83,7 +83,7 @@
@Test public void shouldNotErrorOnCursorChangeWhenNoFlagsAreSet() throws Exception {
adapter = new TestAdapterWithFlags(curs, 0);
adapter.changeCursor(database.rawQuery("SELECT * FROM table_name;", null));
- assertThat(adapter.getCursor()).isNotSameAs(curs);
+ assertThat(adapter.getCursor()).isNotSameInstanceAs(curs);
}
private static class TestAdapter extends CursorAdapter {
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorWrapperTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorWrapperTest.java
index 786b35d..78bbe8f 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorWrapperTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowCursorWrapperTest.java
@@ -104,7 +104,7 @@
CursorWrapper cursorWrapper = new CursorWrapper(mockCursor);
ShadowCursorWrapper shadow = Shadows.shadowOf(cursorWrapper);
- assertThat(shadow.getWrappedCursor()).isSameAs(mockCursor);
+ assertThat(shadow.getWrappedCursor()).isSameInstanceAs(mockCursor);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowDialogTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowDialogTest.java
index 9c8805c..0c68e19 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowDialogTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowDialogTest.java
@@ -44,7 +44,7 @@
dialog.show();
dialog.setOnDismissListener(
dialogInListener -> {
- assertThat(dialogInListener).isSameAs(dialog);
+ assertThat(dialogInListener).isSameInstanceAs(dialog);
transcript.add("onDismiss called!");
});
@@ -141,7 +141,7 @@
Dialog dialog = new Dialog(context);
dialog.show();
- assertThat(ShadowDialog.getLatestDialog()).isSameAs(dialog);
+ assertThat(ShadowDialog.getLatestDialog()).isSameInstanceAs(dialog);
}
@Test
@@ -195,7 +195,7 @@
Dialog dialog = new Dialog(context);
DialogInterface.OnCancelListener onCancelListener = dialog1 -> {};
dialog.setOnCancelListener(onCancelListener);
- assertThat(onCancelListener).isSameAs(shadowOf(dialog).getOnCancelListener());
+ assertThat(onCancelListener).isSameInstanceAs(shadowOf(dialog).getOnCancelListener());
}
private static class TestDialog extends Dialog {
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowHandlerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowHandlerTest.java
index ac8d3a2..c8f6f05 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowHandlerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowHandlerTest.java
@@ -1,6 +1,7 @@
package org.robolectric.shadows;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@@ -376,12 +377,12 @@
handler.sendMessageDelayed(msg, 200);
handler.removeMessages(123);
Message newMsg = handler.obtainMessage(123);
- assertThat(newMsg).named("new message").isSameAs(msg);
+ assertWithMessage("new message").that(newMsg).isSameInstanceAs(msg);
handler.sendMessageDelayed(newMsg, 400);
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Original implementation had a bug which caused reused messages to still
// be invoked at their original post time.
- assertThat(runAt).named("handledAt").containsExactly(startTime + 400L);
+ assertWithMessage("handledAt").that(runAt).containsExactly(startTime + 400L);
}
@Test
@@ -400,8 +401,8 @@
handler.removeCallbacksAndMessages(null);
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
- assertThat(wasRun[0]).named("Message").isFalse();
- assertThat(scratchRunnable.wasRun).named("Callback").isFalse();
+ assertWithMessage("Message").that(wasRun[0]).isFalse();
+ assertWithMessage("Callback").that(scratchRunnable.wasRun).isFalse();
}
@Test
@@ -449,10 +450,10 @@
handler.removeCallbacks(r, tag2);
ShadowLooper.unPauseMainLooper();
- assertThat(count[0]).named("run count").isEqualTo(1);
+ assertWithMessage("run count").that(count[0]).isEqualTo(1);
// This assertion proves that it was the first runnable that ran,
// which proves that the correctly tagged runnable was removed.
- assertThat(shadowOf(handler.getLooper()).getScheduler().getCurrentTime()).named("currentTime").isEqualTo(100);
+ assertWithMessage("currentTime").that(shadowOf(handler.getLooper()).getScheduler().getCurrentTime()).isEqualTo(100);
}
@Test
@@ -500,7 +501,7 @@
h.sendEmptyMessageDelayed(0, 12000L);
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
- assertThat(whens).named("whens").containsExactly(startTime, startTime + 4000, startTime + 16000);
+ assertWithMessage("whens").that(whens).containsExactly(startTime, startTime + 4000, startTime + 16000);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowHttpResponseCacheTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowHttpResponseCacheTest.java
index 48ee231..26e88fb 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowHttpResponseCacheTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowHttpResponseCacheTest.java
@@ -29,7 +29,7 @@
assertThat(HttpResponseCache.getInstalled()).isNull();
HttpResponseCache cache = HttpResponseCache.install(File.createTempFile("foo", "bar"), 42);
HttpResponseCache installed = HttpResponseCache.getInstalled();
- assertThat(installed).isSameAs(cache);
+ assertThat(installed).isSameInstanceAs(cache);
assertThat(installed.maxSize()).isEqualTo(42);
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowIntentTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowIntentTest.java
index d54b48b..6fd6db6 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowIntentTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowIntentTest.java
@@ -348,7 +348,7 @@
assertThat(chooserIntent.getAction()).isEqualTo(Intent.ACTION_CHOOSER);
assertThat(chooserIntent.getStringExtra(Intent.EXTRA_TITLE)).isEqualTo("The title");
assertThat((Intent) chooserIntent.getParcelableExtra(Intent.EXTRA_INTENT))
- .isSameAs(originalIntent);
+ .isSameInstanceAs(originalIntent);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowLayoutInflaterTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowLayoutInflaterTest.java
index b132e43..33b9735 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowLayoutInflaterTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowLayoutInflaterTest.java
@@ -1,6 +1,7 @@
package org.robolectric.shadows;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -406,9 +407,8 @@
exception = e;
}
assertNotNull(exception);
- assertThat(exception.getMessage())
- .named("The error message should contain the id name of the faulty button")
- .contains("invalid_onclick_button");
+ assertWithMessage("The error message should contain the id name of the faulty button")
+ .that(exception.getMessage()).contains("invalid_onclick_button");
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowListPopupWindowTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowListPopupWindowTest.java
index 55362f2..5f1a68b 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowListPopupWindowTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowListPopupWindowTest.java
@@ -19,6 +19,6 @@
assertThat(ShadowListPopupWindow.getLatestListPopupWindow()).isNull();
popupWindow.setAnchorView(new View(context));
popupWindow.show();
- assertThat(ShadowListPopupWindow.getLatestListPopupWindow()).isSameAs(popupWindow);
+ assertThat(ShadowListPopupWindow.getLatestListPopupWindow()).isSameInstanceAs(popupWindow);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowListPreferenceTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowListPreferenceTest.java
index 36a6f2f..93e6b45 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowListPreferenceTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowListPreferenceTest.java
@@ -27,7 +27,7 @@
assertThat(listPreference.getEntries()).isNull();
listPreference.setEntries(entries);
- assertThat(listPreference.getEntries()).isSameAs(entries);
+ assertThat(listPreference.getEntries()).isSameInstanceAs(entries);
}
@Test
@@ -43,7 +43,7 @@
assertThat(listPreference.getEntryValues()).isNull();
listPreference.setEntryValues(entryValues);
- assertThat(listPreference.getEntryValues()).isSameAs(entryValues);
+ assertThat(listPreference.getEntryValues()).isSameInstanceAs(entryValues);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowListViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowListViewTest.java
index e1745db..d3ac383 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowListViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowListViewTest.java
@@ -60,10 +60,10 @@
listView.addHeaderView(view3, null, false);
listView.setAdapter(new ShadowCountingAdapter(2));
assertThat(listView.getHeaderViewsCount()).isEqualTo(4);
- assertThat(shadowOf(listView).getHeaderViews().get(0)).isSameAs(view0);
- assertThat(shadowOf(listView).getHeaderViews().get(1)).isSameAs(view1);
- assertThat(shadowOf(listView).getHeaderViews().get(2)).isSameAs(view2);
- assertThat(shadowOf(listView).getHeaderViews().get(3)).isSameAs(view3);
+ assertThat(shadowOf(listView).getHeaderViews().get(0)).isSameInstanceAs(view0);
+ assertThat(shadowOf(listView).getHeaderViews().get(1)).isSameInstanceAs(view1);
+ assertThat(shadowOf(listView).getHeaderViews().get(2)).isSameInstanceAs(view2);
+ assertThat(shadowOf(listView).getHeaderViews().get(3)).isSameInstanceAs(view3);
assertThat((View) listView.findViewById(0)).isNotNull();
assertThat((View) listView.findViewById(1)).isNotNull();
@@ -78,7 +78,7 @@
listView.addHeaderView(view);
- assertThat((View) listView.findViewById(42)).isSameAs(view);
+ assertThat((View) listView.findViewById(42)).isSameInstanceAs(view);
}
@Test
@@ -88,8 +88,8 @@
listView.addFooterView(view0);
listView.addFooterView(view1);
listView.setAdapter(new ShadowCountingAdapter(3));
- assertThat(shadowOf(listView).getFooterViews().get(0)).isSameAs(view0);
- assertThat(shadowOf(listView).getFooterViews().get(1)).isSameAs(view1);
+ assertThat(shadowOf(listView).getFooterViews().get(0)).isSameInstanceAs(view0);
+ assertThat(shadowOf(listView).getFooterViews().get(1)).isSameInstanceAs(view1);
}
@Test
@@ -99,7 +99,7 @@
listView.addFooterView(view);
- assertThat((View) listView.findViewById(42)).isSameAs(view);
+ assertThat((View) listView.findViewById(42)).isSameInstanceAs(view);
}
@Test
@@ -112,8 +112,8 @@
prepareListWithThreeItems();
assertThat(listView.getChildCount()).isEqualTo(5);
- assertThat(listView.getChildAt(0)).isSameAs(header);
- assertThat(listView.getChildAt(4)).isSameAs(footer);
+ assertThat(listView.getChildAt(0)).isSameInstanceAs(header);
+ assertThat(listView.getChildAt(4)).isSameInstanceAs(footer);
}
@Test
@@ -156,7 +156,7 @@
public void findItemContainingText_shouldFindChildByString() throws Exception {
ShadowListView shadowListView = prepareListWithThreeItems();
View item1 = shadowListView.findItemContainingText("Item 1");
- assertThat(item1).isSameAs(listView.getChildAt(1));
+ assertThat(item1).isSameInstanceAs(listView.getChildAt(1));
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowLocaleDataTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowLocaleDataTest.java
index 7df2e90..0ae09f9 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowLocaleDataTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowLocaleDataTest.java
@@ -61,9 +61,6 @@
assertThat(localeData.infinity).isEqualTo("∞");
assertThat(localeData.NaN).isEqualTo("NaN");
- assertThat(localeData.currencySymbol).isEqualTo("$");
- assertThat(localeData.internationalCurrencySymbol).isEqualTo("USD");
-
assertThat(localeData.numberPattern).isEqualTo("#,##0.###");
assertThat(localeData.integerPattern).isEqualTo("#,##0");
assertThat(localeData.currencyPattern).isEqualTo("¤#,##0.00;(¤#,##0.00)");
@@ -71,6 +68,30 @@
}
@Test
+ @Config(maxSdk = Build.VERSION_CODES.Q)
+ public void shouldSupportLocaleEn_US_yesterday() throws Exception {
+ LocaleData localeData = LocaleData.get(Locale.US);
+ String currencySymbolValue = ReflectionHelpers.getField(localeData, "yesterday");
+ assertThat(currencySymbolValue).isEqualTo("Yesterday");
+ }
+
+ @Test
+ @Config(maxSdk = Build.VERSION_CODES.Q)
+ public void shouldSupportLocaleEn_US_currencySymbol() throws Exception {
+ LocaleData localeData = LocaleData.get(Locale.US);
+ String currencySymbolValue = ReflectionHelpers.getField(localeData, "currencySymbol");
+ assertThat(currencySymbolValue).isEqualTo("$");
+ }
+
+ @Test
+ @Config(maxSdk = Build.VERSION_CODES.Q)
+ public void shouldSupportLocaleEn_US_internationalCurrencySymbol() throws Exception {
+ LocaleData localeData = LocaleData.get(Locale.US);
+ String internationalCurrencySymbolValue = ReflectionHelpers.getField(localeData, "internationalCurrencySymbol");
+ assertThat(internationalCurrencySymbolValue).isEqualTo("USD");
+ }
+
+ @Test
@Config(maxSdk = Build.VERSION_CODES.O)
public void shouldSupportLocaleEn_US_perMill() throws Exception {
LocaleData localeData = LocaleData.get(Locale.US);
@@ -102,7 +123,6 @@
assertThat(localeData.tinyWeekdayNames).isEqualTo(new String[]{"", "S", "M", "T", "W", "T", "F", "S"});
assertThat(localeData.tinyStandAloneWeekdayNames).isEqualTo(localeData.tinyWeekdayNames);
- assertThat(localeData.yesterday).isEqualTo("Yesterday");
assertThat(localeData.today).isEqualTo("Today");
assertThat(localeData.tomorrow).isEqualTo("Tomorrow");
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowLogTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowLogTest.java
index ace2023..be87d0c 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowLogTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowLogTest.java
@@ -276,7 +276,7 @@
@Test
public void getLogs_shouldReturnCopy() {
- assertThat(ShadowLog.getLogs()).isNotSameAs(ShadowLog.getLogs());
+ assertThat(ShadowLog.getLogs()).isNotSameInstanceAs(ShadowLog.getLogs());
assertThat(ShadowLog.getLogs()).isEqualTo(ShadowLog.getLogs());
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowLooperTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowLooperTest.java
index 17dbe9f..1302072 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowLooperTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowLooperTest.java
@@ -1,6 +1,7 @@
package org.robolectric.shadows;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.robolectric.Shadows.shadowOf;
import android.app.Application;
@@ -70,34 +71,34 @@
@Test
public void mainLooper_andMyLooper_shouldBeSame_onMainThread() {
- assertThat(Looper.myLooper()).isSameAs(Looper.getMainLooper());
+ assertThat(Looper.myLooper()).isSameInstanceAs(Looper.getMainLooper());
}
@Test
public void differentThreads_getDifferentLoopers() {
HandlerThread ht = getHandlerThread();
- assertThat(ht.getLooper()).isNotSameAs(Looper.getMainLooper());
+ assertThat(ht.getLooper()).isNotSameInstanceAs(Looper.getMainLooper());
}
@Test
public void mainLooperThread_shouldBeTestThread() {
- assertThat(Looper.getMainLooper().getThread()).isSameAs(Thread.currentThread());
+ assertThat(Looper.getMainLooper().getThread()).isSameInstanceAs(Thread.currentThread());
}
@Test
public void shadowMainLooper_shouldBeShadowOfMainLooper() {
- assertThat(ShadowLooper.getShadowMainLooper()).isSameAs(shadowOf(Looper.getMainLooper()));
+ assertThat(ShadowLooper.getShadowMainLooper()).isSameInstanceAs(shadowOf(Looper.getMainLooper()));
}
@Test
public void getLooperForThread_returnsLooperForAThreadThatHasOne() throws InterruptedException {
QuitThread qt = getQuitThread();
- assertThat(ShadowLooper.getLooperForThread(qt)).isSameAs(qt.looper);
+ assertThat(ShadowLooper.getLooperForThread(qt)).isSameInstanceAs(qt.looper);
}
@Test
public void getLooperForThread_returnsLooperForMainThread() {
- assertThat(ShadowLooper.getLooperForThread(Thread.currentThread())).isSameAs(Looper.getMainLooper());
+ assertThat(ShadowLooper.getLooperForThread(Thread.currentThread())).isSameInstanceAs(Looper.getMainLooper());
}
@Test
@@ -110,11 +111,11 @@
}
}, 2000);
- assertThat(wasRun[0]).named("first").isFalse();
+ assertWithMessage("first").that(wasRun[0]).isFalse();
ShadowLooper.idleMainLooper(1999);
- assertThat(wasRun[0]).named("second").isFalse();
+ assertWithMessage("second").that(wasRun[0]).isFalse();
ShadowLooper.idleMainLooper(1);
- assertThat(wasRun[0]).named("last").isTrue();
+ assertWithMessage("last").that(wasRun[0]).isTrue();
}
@Test
@@ -141,19 +142,19 @@
HandlerThread ht = getHandlerThread();
Looper looper = ht.getLooper();
looper.quit();
- assertThat(shadowOf(looper).hasQuit()).named("hasQuit").isTrue();
- assertThat(shadowOf(looper).post(new Runnable() {
+ assertWithMessage("hasQuit").that(shadowOf(looper).hasQuit()).isTrue();
+ assertWithMessage("postAtFrontOfQueue").that(shadowOf(looper).post(new Runnable() {
@Override
public void run() {
}
- }, 0)).named("post").isFalse();
+ }, 0)).isFalse();
assertThat(shadowOf(looper).postAtFrontOfQueue(new Runnable() {
@Override
public void run() {
}
- })).named("postAtFrontOfQueue").isFalse();
- assertThat(shadowOf(looper).getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
+ })).isFalse();
+ assertWithMessage("areAnyRunnable").that(shadowOf(looper).getScheduler().areAnyRunnable()).isFalse();
}
@Test
@@ -167,18 +168,18 @@
}
}, 0);
looper.quit();
- assertThat(shadowOf(looper).hasQuit()).named("hasQuit").isTrue();
- assertThat(shadowOf(looper).getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
- assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNull();
+ assertWithMessage("hasQuit").that(shadowOf(looper).hasQuit()).isTrue();
+ assertWithMessage("areAnyRunnable").that(shadowOf(looper).getScheduler().areAnyRunnable()).isFalse();
+ assertWithMessage("queue").that(shadowOf(looper.getQueue()).getHead()).isNull();
}
@Test
public void threadShouldContinue_whenLooperQuits() throws InterruptedException {
QuitThread test = getQuitThread();
- assertThat(test.hasContinued).named("beforeJoin").isFalse();
+ assertWithMessage("beforeJoin").that(test.hasContinued).isFalse();
test.looper.quit();
test.join(5000);
- assertThat(test.hasContinued).named("afterJoin").isTrue();
+ assertWithMessage("afterJoin").that(test.hasContinued).isTrue();
}
@Test
@@ -193,10 +194,10 @@
public void run() {
}
});
- assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNotNull();
+ assertWithMessage("queue").that(shadowOf(looper.getQueue()).getHead()).isNotNull();
sLooper.reset();
- assertThat(sLooper.getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
- assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNull();
+ assertWithMessage("areAnyRunnable").that(sLooper.getScheduler().areAnyRunnable()).isFalse();
+ assertWithMessage("queue").that(shadowOf(looper.getQueue()).getHead()).isNull();
}
@Test
@@ -206,21 +207,21 @@
ShadowLooper sLooper = shadowOf(looper);
Scheduler old = sLooper.getScheduler();
sLooper.reset();
- assertThat(old).isNotSameAs(sLooper.getScheduler());
+ assertThat(old).isNotSameInstanceAs(sLooper.getScheduler());
}
@Test
public void resetThreadLoopers_shouldQuitAllNonMainLoopers() throws InterruptedException {
QuitThread test = getQuitThread();
- assertThat(test.hasContinued).named("hasContinued:before").isFalse();
+ assertWithMessage("hasContinued:before").that(test.hasContinued).isFalse();
ShadowLooper.resetThreadLoopers();
test.join(5000);
- assertThat(test.hasContinued).named("hasContinued:after").isTrue();
+ assertWithMessage("hasContinued:after").that(test.hasContinued).isTrue();
}
@Test(timeout = 1000)
public void whenTestHarnessUsesDifferentThread_shouldStillHaveMainLooper() {
- assertThat(Looper.myLooper()).isSameAs(Looper.getMainLooper());
+ assertThat(Looper.myLooper()).isSameInstanceAs(Looper.getMainLooper());
}
@Test
@@ -246,7 +247,7 @@
Looper mainLooper = Looper.getMainLooper();
Scheduler scheduler = shadowOf(mainLooper).getScheduler();
shadowOf(mainLooper).quit = true;
- assertThat(ApplicationProvider.getApplicationContext().getMainLooper()).isSameAs(mainLooper);
+ assertThat(ApplicationProvider.getApplicationContext().getMainLooper()).isSameInstanceAs(mainLooper);
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
ShadowLooper.resetThreadLoopers();
@@ -258,11 +259,11 @@
Context.class,
((Application) ApplicationProvider.getApplicationContext()).getBaseContext()));
- assertThat(Looper.getMainLooper()).named("Looper.getMainLooper()").isSameAs(mainLooper);
- assertThat(application.getMainLooper()).named("app.getMainLooper()").isSameAs(mainLooper);
- assertThat(shadowOf(mainLooper).getScheduler()).named("scheduler").isNotSameAs(scheduler);
- assertThat(shadowOf(mainLooper).getScheduler()).named("scheduler").isSameAs(s);
- assertThat(shadowOf(mainLooper).hasQuit()).named("quit").isFalse();
+ assertWithMessage("Looper.getMainLooper()").that(Looper.getMainLooper()).isSameInstanceAs(mainLooper);
+ assertWithMessage("app.getMainLooper()").that(application.getMainLooper()).isSameInstanceAs(mainLooper);
+ assertWithMessage("scheduler").that(shadowOf(mainLooper).getScheduler()).isNotSameInstanceAs(scheduler);
+ assertWithMessage("scheduler").that(shadowOf(mainLooper).getScheduler()).isSameInstanceAs(s);
+ assertWithMessage("quit").that(shadowOf(mainLooper).hasQuit()).isFalse();
}
@Test
@@ -281,7 +282,7 @@
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
sMainLooper.reset();
- assertThat(sMainLooper.getScheduler()).isSameAs(s);
+ assertThat(sMainLooper.getScheduler()).isSameInstanceAs(s);
}
@Test
@@ -291,7 +292,7 @@
Scheduler s = new Scheduler();
RuntimeEnvironment.setMasterScheduler(s);
sMainLooper.reset();
- assertThat(sMainLooper.getScheduler()).isSameAs(s);
+ assertThat(sMainLooper.getScheduler()).isSameInstanceAs(s);
}
@Test
@@ -300,8 +301,8 @@
ShadowLooper sLooper = shadowOf(ht.getLooper());
Scheduler old = sLooper.getScheduler();
sLooper.reset();
- assertThat(sLooper.getScheduler()).isNotSameAs(old);
- assertThat(sLooper.getScheduler()).isNotSameAs(RuntimeEnvironment.getMasterScheduler());
+ assertThat(sLooper.getScheduler()).isNotSameInstanceAs(old);
+ assertThat(sLooper.getScheduler()).isNotSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
}
@Test
@@ -312,7 +313,7 @@
RuntimeEnvironment.setMasterScheduler(s);
setAdvancedScheduling();
sLooper.reset();
- assertThat(sLooper.getScheduler()).isSameAs(s);
+ assertThat(sLooper.getScheduler()).isSameInstanceAs(s);
}
@Test
@@ -352,7 +353,7 @@
t.start();
try {
t.join(1000);
- assertThat(myLooper.get()).isSameAs(Looper.getMainLooper());
+ assertThat(myLooper.get()).isSameInstanceAs(Looper.getMainLooper());
} finally {
RuntimeEnvironment.setMainThread(Thread.currentThread());
}
@@ -373,20 +374,20 @@
backgroundThread.start();
backgroundThread.join();
- assertThat(mainLooperAtomicReference.get()).named("mainLooper").isSameAs(Looper.getMainLooper());
+ assertWithMessage("mainLooper").that(mainLooperAtomicReference.get()).isSameInstanceAs(Looper.getMainLooper());
}
@Test
public void schedulerOnAnotherLooper_shouldNotBeMaster_byDefault() {
HandlerThread ht = getHandlerThread();
- assertThat(shadowOf(ht.getLooper()).getScheduler()).isNotSameAs(RuntimeEnvironment.getMasterScheduler());
+ assertThat(shadowOf(ht.getLooper()).getScheduler()).isNotSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
}
@Test
public void schedulerOnAnotherLooper_shouldBeMaster_ifAdvancedSchedulingEnabled() {
setAdvancedScheduling();
HandlerThread ht = getHandlerThread();
- assertThat(shadowOf(ht.getLooper()).getScheduler()).isSameAs(RuntimeEnvironment.getMasterScheduler());
+ assertThat(shadowOf(ht.getLooper()).getScheduler()).isSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
}
@Test
@@ -409,17 +410,17 @@
events.add("handler2");
}
}, 200);
- assertThat(events).named("start").isEmpty();
+ assertWithMessage("start").that(events).isEmpty();
Scheduler s = ShadowLooper.getShadowMainLooper().getScheduler();
- assertThat(s).isSameAs(RuntimeEnvironment.getMasterScheduler());
- assertThat(s).isSameAs(shadowOf(ht.getLooper()).getScheduler());
+ assertThat(s).isSameInstanceAs(RuntimeEnvironment.getMasterScheduler());
+ assertThat(s).isSameInstanceAs(shadowOf(ht.getLooper()).getScheduler());
final long startTime = s.getCurrentTime();
s.runOneTask();
- assertThat(events).named("firstEvent").containsExactly("handler1");
- assertThat(s.getCurrentTime()).named("firstEvent:time").isEqualTo(100 + startTime);
+ assertWithMessage("firstEvent").that(events).containsExactly("handler1");
+ assertWithMessage("firstEvent:time").that(s.getCurrentTime()).isEqualTo(100 + startTime);
s.runOneTask();
- assertThat(events).named("secondEvent").containsExactly("handler1", "handler2");
- assertThat(s.getCurrentTime()).named("secondEvent:time").isEqualTo(200 + startTime);
+ assertWithMessage("secondEvent").that(events).containsExactly("handler1", "handler2");
+ assertWithMessage("secondEvent:time").that(s.getCurrentTime()).isEqualTo(200 + startTime);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaMetadataRetrieverTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaMetadataRetrieverTest.java
index 40d771f..ce6227e 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaMetadataRetrieverTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaMetadataRetrieverTest.java
@@ -4,6 +4,7 @@
import static android.media.MediaMetadataRetriever.METADATA_KEY_ARTIST;
import static android.media.MediaMetadataRetriever.METADATA_KEY_TITLE;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import static org.robolectric.shadows.ShadowMediaMetadataRetriever.addException;
import static org.robolectric.shadows.ShadowMediaMetadataRetriever.addFrame;
@@ -112,7 +113,7 @@
addException(toDataSource(path2), new IllegalArgumentException());
retriever.setDataSource(path);
assertThat(retriever.extractMetadata(METADATA_KEY_ARTIST)).isEqualTo("The Rolling Stones");
- assertThat(retriever.getFrameAtTime(1)).isSameAs(bitmap);
+ assertThat(retriever.getFrameAtTime(1)).isSameInstanceAs(bitmap);
try {
retriever2.setDataSource(path2);
fail("Expected exception");
@@ -135,9 +136,9 @@
retriever.setDataSource(path);
fail("Expected exception");
} catch (Exception caught) {
- assertThat(caught).isSameAs(e);
- assertThat(e.getStackTrace()[0].getClassName())
- .named("Stack trace should originate in Shadow")
+ assertThat(caught).isSameInstanceAs(e);
+ assertWithMessage("Stack trace should originate in Shadow")
+ .that(e.getStackTrace()[0].getClassName())
.isEqualTo(ShadowMediaMetadataRetriever.class.getName());
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaPlayerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaPlayerTest.java
index 0ea7811..f9a5674 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaPlayerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaPlayerTest.java
@@ -2,6 +2,7 @@
import static android.os.Build.VERSION_CODES.O;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import static org.robolectric.Shadows.shadowOf;
import static org.robolectric.shadows.ShadowMediaPlayer.State.END;
@@ -157,7 +158,7 @@
DataSource ds = toDataSource("dummy");
ShadowMediaPlayer.addMediaInfo(ds, info);
mediaPlayer.setDataSource("dummy");
- assertThat(shadowMediaPlayer.getDataSource()).named("dataSource").isEqualTo(ds);
+ assertWithMessage("dataSource").that(shadowMediaPlayer.getDataSource()).isEqualTo(ds);
}
@Test
@@ -169,8 +170,8 @@
mediaPlayer.setDataSource(ApplicationProvider.getApplicationContext(), uri, headers);
- assertThat(shadowMediaPlayer.getSourceUri()).named("sourceUri").isSameAs(uri);
- assertThat(shadowMediaPlayer.getDataSource()).named("dataSource").isEqualTo(ds);
+ assertWithMessage("sourceUri").that(shadowMediaPlayer.getSourceUri()).isSameInstanceAs(uri);
+ assertWithMessage("dataSource").that(shadowMediaPlayer.getDataSource()).isEqualTo(ds);
}
@Test
@@ -184,8 +185,8 @@
DataSource ds = toDataSource(fd, 23, 524);
ShadowMediaPlayer.addMediaInfo(ds, info);
mediaPlayer.setDataSource(fd, 23, 524);
- assertThat(shadowMediaPlayer.getSourceUri()).named("sourceUri").isNull();
- assertThat(shadowMediaPlayer.getDataSource()).named("dataSource")
+ assertWithMessage("sourceUri").that(shadowMediaPlayer.getSourceUri()).isNull();
+ assertWithMessage("dataSource").that(shadowMediaPlayer.getDataSource())
.isEqualTo(ds);
} finally {
is.close();
@@ -209,7 +210,7 @@
assertThat(shadowMediaPlayer.getState()).isEqualTo(PREPARING);
Mockito.verifyZeroInteractions(preparedListener);
scheduler.advanceToLastPostedRunnable();
- assertThat(scheduler.getCurrentTime()).named("currentTime").isEqualTo(
+ assertWithMessage("currentTime").that(scheduler.getCurrentTime()).isEqualTo(
startTime + delay);
assertThat(shadowMediaPlayer.getState()).isEqualTo(PREPARED);
Mockito.verify(preparedListener).onPrepared(mediaPlayer);
@@ -227,20 +228,20 @@
final long startTime = scheduler.getCurrentTime();
mediaPlayer.prepareAsync();
- assertThat(scheduler.getCurrentTime()).named("currentTime").isEqualTo(
+ assertWithMessage("currentTime").that(scheduler.getCurrentTime()).isEqualTo(
startTime);
- assertThat(shadowMediaPlayer.getState()).isSameAs(PREPARING);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(PREPARING);
Mockito.verifyZeroInteractions(preparedListener);
shadowMediaPlayer.invokePreparedListener();
- assertThat(shadowMediaPlayer.getState()).isSameAs(PREPARED);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(PREPARED);
Mockito.verify(preparedListener).onPrepared(mediaPlayer);
Mockito.verifyNoMoreInteractions(preparedListener);
}
@Test
public void testDefaultPreparationDelay() {
- assertThat(info.getPreparationDelay())
- .named("preparationDelay").isEqualTo(0);
+ assertWithMessage("preparationDelay").that(info.getPreparationDelay())
+ .isEqualTo(0);
}
@Test
@@ -587,7 +588,7 @@
@Test
public void testInitialAudioSessionIdIsNotZero() {
- assertThat(mediaPlayer.getAudioSessionId()).named("initial audioSessionId")
+ assertWithMessage("initial audioSessionId").that(mediaPlayer.getAudioSessionId())
.isNotEqualTo(0);
}
@@ -750,7 +751,7 @@
}
Mockito.verifyZeroInteractions(errorListener);
final State finalState = shadowMediaPlayer.getState();
- assertThat(finalState).isSameAs(ERROR);
+ assertThat(finalState).isSameInstanceAs(ERROR);
scheduler.unPause();
Mockito.verify(errorListener).onError(mediaPlayer, what, extra);
Mockito.reset(errorListener);
@@ -779,7 +780,7 @@
Throwable cause = e.getTargetException();
assertThat(cause).isInstanceOf(eClass);
final State finalState = shadowMediaPlayer.getState();
- assertThat(finalState).isSameAs(state);
+ assertThat(finalState).isSameInstanceAs(state);
}
assertThat(success).isFalse();
}
@@ -834,9 +835,9 @@
mediaPlayer.seekTo(-1);
shadowMediaPlayer.invokeSeekCompleteListener();
- assertThat(mediaPlayer.getCurrentPosition()).named(
- "Current postion while " + state).isEqualTo(0);
- assertThat(shadowMediaPlayer.getState()).named("Final state " + state)
+ assertWithMessage("Current postion while " + state).that(mediaPlayer.getCurrentPosition())
+ .isEqualTo(0);
+ assertWithMessage("Final state " + state).that(shadowMediaPlayer.getState())
.isEqualTo(state);
}
}
@@ -852,9 +853,9 @@
mediaPlayer.seekTo(1001);
shadowMediaPlayer.invokeSeekCompleteListener();
- assertThat(mediaPlayer.getCurrentPosition()).named(
- "Current postion while " + state).isEqualTo(1000);
- assertThat(shadowMediaPlayer.getState()).named("Final state " + state)
+ assertWithMessage("Current postion while " + state).that(mediaPlayer.getCurrentPosition())
+ .isEqualTo(1000);
+ assertWithMessage("Final state " + state).that(shadowMediaPlayer.getState())
.isEqualTo(state);
}
}
@@ -1054,16 +1055,16 @@
// invoked automatically by the shadow player itself.
shadowMediaPlayer.setSeekDelay(-1);
- assertThat(shadowMediaPlayer.getPendingSeek()).named("pendingSeek before")
+ assertWithMessage("pendingSeek before").that(shadowMediaPlayer.getPendingSeek())
.isEqualTo(-1);
int[] positions = { 0, 5, 2, 999 };
int prevPos = 0;
for (int position : positions) {
mediaPlayer.seekTo(position);
- assertThat(shadowMediaPlayer.getPendingSeek()).named("pendingSeek")
+ assertWithMessage("pendingSeek").that(shadowMediaPlayer.getPendingSeek())
.isEqualTo(position);
- assertThat(mediaPlayer.getCurrentPosition()).named("pendingSeekCurrentPos")
+ assertWithMessage("pendingSeekCurrentPos").that(mediaPlayer.getCurrentPosition())
.isEqualTo(prevPos);
shadowMediaPlayer.invokeSeekCompleteListener();
@@ -1156,7 +1157,7 @@
shadowMediaPlayer.doStart();
assertThat(shadowMediaPlayer.isReallyPlaying()).isTrue();
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(0);
- assertThat(shadowMediaPlayer.getState()).isSameAs(IDLE);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(IDLE);
scheduler.advanceBy(100);
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(100);
@@ -1164,7 +1165,7 @@
shadowMediaPlayer.doStop();
assertThat(shadowMediaPlayer.isReallyPlaying()).isFalse();
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(100);
- assertThat(shadowMediaPlayer.getState()).isSameAs(IDLE);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(IDLE);
scheduler.advanceBy(50);
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(100);
@@ -1182,7 +1183,7 @@
scheduler.advanceBy(1);
Mockito.verify(errorListener).onError(mediaPlayer, 1, 3);
- assertThat(shadowMediaPlayer.getState()).isSameAs(ERROR);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(ERROR);
assertThat(scheduler.advanceToLastPostedRunnable()).isFalse();
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(500);
}
@@ -1304,7 +1305,7 @@
Mockito.verify(errorListener).onError(mediaPlayer, 32, 22);
assertThat(scheduler.size()).isEqualTo(0);
assertThat(shadowMediaPlayer.getCurrentPositionRaw()).isEqualTo(675);
- assertThat(shadowMediaPlayer.getState()).isSameAs(ERROR);
+ assertThat(shadowMediaPlayer.getState()).isSameInstanceAs(ERROR);
Mockito.verifyZeroInteractions(e2);
}
@@ -1387,8 +1388,7 @@
scheduler.advanceBy(700);
Mockito.verifyZeroInteractions(completionListener);
- assertThat(mediaPlayer.getCurrentPosition()).named(state.toString())
- .isEqualTo(200);
+ assertWithMessage(state.toString()).that(mediaPlayer.getCurrentPosition()).isEqualTo(200);
}
}
@@ -1410,9 +1410,8 @@
ShadowMediaPlayer.CreateListener createListener = Mockito
.mock(ShadowMediaPlayer.CreateListener.class);
ShadowMediaPlayer.setCreateListener(createListener);
- assertThat(ShadowMediaPlayer.createListener)
- .named("createListener")
- .isSameAs(createListener);
+ assertWithMessage("createListener").that(ShadowMediaPlayer.createListener)
+ .isSameInstanceAs(createListener);
DataSource dummy = toDataSource("stuff");
IOException e = new IOException();
addException(dummy, e);
@@ -1422,18 +1421,16 @@
shadowMediaPlayer.setDataSource(dummy);
fail("Expected exception thrown");
} catch (IOException e2) {
- assertThat(e2).named("thrown exception").isSameAs(e);
+ assertWithMessage("thrown exception").that(e2).isSameInstanceAs(e);
}
// Check that the mediaInfo was cleared
shadowMediaPlayer.doSetDataSource(defaultSource);
- assertThat(shadowMediaPlayer.getMediaInfo()).named("mediaInfo:before").isNotNull();
+ assertWithMessage("mediaInfo:before").that(shadowMediaPlayer.getMediaInfo()).isNotNull();
ShadowMediaPlayer.resetStaticState();
// Check that the listener was cleared.
- assertThat(ShadowMediaPlayer.createListener)
- .named("createListener")
- .isNull();
+ assertWithMessage("createListener").that(ShadowMediaPlayer.createListener).isNull();
// Check that the mediaInfo was cleared.
try {
@@ -1461,9 +1458,9 @@
mediaPlayer.setDataSource("dummy");
fail("Expected exception thrown");
} catch (Exception caught) {
- assertThat(caught).isSameAs(e);
- assertThat(e.getStackTrace()[0].getClassName())
- .named("Stack trace should originate in Shadow")
+ assertThat(caught).isSameInstanceAs(e);
+ assertWithMessage("Stack trace should originate in Shadow")
+ .that(e.getStackTrace()[0].getClassName())
.isEqualTo(ShadowMediaPlayer.class.getName());
}
}
@@ -1477,12 +1474,12 @@
mediaPlayer.setDataSource("dummy");
fail("Expected exception thrown");
} catch (Exception caught) {
- assertThat(caught).isSameAs(e);
- assertThat(e.getStackTrace()[0].getClassName())
- .named("Stack trace should originate in Shadow")
+ assertThat(caught).isSameInstanceAs(e);
+ assertWithMessage("Stack trace should originate in Shadow")
+ .that(e.getStackTrace()[0].getClassName())
.isEqualTo(ShadowMediaPlayer.class.getName());
- assertThat(shadowMediaPlayer.getState()).named(
- "State after " + e + " thrown should be unchanged").isSameAs(IDLE);
+ assertWithMessage("State after " + e + " thrown should be unchanged")
+ .that(shadowMediaPlayer.getState()).isSameInstanceAs(IDLE);
}
}
@@ -1492,9 +1489,9 @@
mediaPlayer.setDataSource("some unspecified data source");
fail("Expected exception thrown");
} catch (IllegalArgumentException a) {
- assertThat(a.getMessage()).named("assertionMessage")
+ assertWithMessage("assertionMessage").that(a.getMessage())
.contains("addException");
- assertThat(a.getMessage()).named("assertionMessage")
+ assertWithMessage("assertionMessage").that(a.getMessage())
.contains("addMediaInfo");
} catch (Exception e) {
throw new RuntimeException("Unexpected exception", e);
@@ -1517,7 +1514,7 @@
new MediaEvent() {
@Override
public void run(MediaPlayer mp, ShadowMediaPlayer smp) {
- assertThat(Looper.myLooper()).isSameAs(Looper.getMainLooper());
+ assertThat(Looper.myLooper()).isSameInstanceAs(Looper.getMainLooper());
ran.set(true);
}
});
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaRecorderTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaRecorderTest.java
index 85b02fa..c11fff4 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaRecorderTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowMediaRecorderTest.java
@@ -69,7 +69,7 @@
Camera c = Shadow.newInstanceOf(Camera.class);
mediaRecorder.setCamera(c);
assertThat(shadowMediaRecorder.getCamera()).isNotNull();
- assertThat(shadowMediaRecorder.getCamera()).isSameAs(c);
+ assertThat(shadowMediaRecorder.getCamera()).isSameInstanceAs(c);
}
@Test
@@ -92,7 +92,7 @@
TestErrorListener listener = new TestErrorListener();
mediaRecorder.setOnErrorListener(listener);
assertThat(shadowMediaRecorder.getErrorListener()).isNotNull();
- assertThat(shadowMediaRecorder.getErrorListener()).isSameAs((MediaRecorder.OnErrorListener) listener);
+ assertThat(shadowMediaRecorder.getErrorListener()).isSameInstanceAs((MediaRecorder.OnErrorListener) listener);
}
@Test
@@ -101,7 +101,7 @@
TestInfoListener listener = new TestInfoListener();
mediaRecorder.setOnInfoListener(listener);
assertThat(shadowMediaRecorder.getInfoListener()).isNotNull();
- assertThat(shadowMediaRecorder.getInfoListener()).isSameAs((MediaRecorder.OnInfoListener) listener);
+ assertThat(shadowMediaRecorder.getInfoListener()).isSameInstanceAs((MediaRecorder.OnInfoListener) listener);
}
@Test
@@ -129,7 +129,7 @@
Surface surface = Shadow.newInstanceOf(Surface.class);
mediaRecorder.setPreviewDisplay(surface);
assertThat(shadowMediaRecorder.getPreviewDisplay()).isNotNull();
- assertThat(shadowMediaRecorder.getPreviewDisplay()).isSameAs(surface);
+ assertThat(shadowMediaRecorder.getPreviewDisplay()).isSameInstanceAs(surface);
assertThat(shadowMediaRecorder.getState()).isEqualTo(ShadowMediaRecorder.STATE_DATA_SOURCE_CONFIGURED);
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageQueueTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageQueueTest.java
index 9fa24e8..66794c4 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageQueueTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageQueueTest.java
@@ -2,6 +2,7 @@
import static android.os.Build.VERSION_CODES.M;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import static org.robolectric.Shadows.shadowOf;
import static org.robolectric.util.ReflectionHelpers.ClassParameter.from;
@@ -74,7 +75,7 @@
@Test
public void test_setGetHead() {
shadowQueue.setHead(testMessage);
- assertThat(shadowQueue.getHead()).named("getHead()").isSameAs(testMessage);
+ assertWithMessage("getHead()").that(shadowQueue.getHead()).isSameInstanceAs(testMessage);
}
private boolean enqueueMessage(Message msg, long when) {
@@ -95,50 +96,50 @@
@Test
public void enqueueMessage_setsHead() {
enqueueMessage(testMessage, 100);
- assertThat(shadowQueue.getHead()).named("head").isSameAs(testMessage);
+ assertWithMessage("head").that(shadowQueue.getHead()).isSameInstanceAs(testMessage);
}
@Test
public void enqueueMessage_returnsTrue() {
- assertThat(enqueueMessage(testMessage, 100)).named("retval").isTrue();
+ assertWithMessage("retval").that(enqueueMessage(testMessage, 100)).isTrue();
}
@Test
public void enqueueMessage_setsWhen() {
enqueueMessage(testMessage, 123);
- assertThat(testMessage.getWhen()).named("when").isEqualTo(123);
+ assertWithMessage("when").that(testMessage.getWhen()).isEqualTo(123);
}
@Test
public void enqueueMessage_returnsFalse_whenQuitting() {
setField(queue, quitField, true);
- assertThat(enqueueMessage(testMessage, 1)).named("enqueueMessage()").isFalse();
+ assertWithMessage("enqueueMessage()").that(enqueueMessage(testMessage, 1)).isFalse();
}
@Test
public void enqueueMessage_doesntSchedule_whenQuitting() {
setField(queue, quitField, true);
enqueueMessage(testMessage, 1);
- assertThat(scheduler.size()).named("scheduler_size").isEqualTo(0);
+ assertWithMessage("scheduler_size").that(scheduler.size()).isEqualTo(0);
}
@Test
public void enqueuedMessage_isSentToHandler() {
enqueueMessage(testMessage, 200);
scheduler.advanceTo(199);
- assertThat(handler.handled).named("handled:before").isEmpty();
+ assertWithMessage("handled:before").that(handler.handled).isEmpty();
scheduler.advanceTo(200);
- assertThat(handler.handled).named("handled:after").containsExactly(testMessage);
+ assertWithMessage("handled:after").that(handler.handled).containsExactly(testMessage);
}
@Test
public void removedMessage_isNotSentToHandler() {
enqueueMessage(testMessage, 200);
- assertThat(scheduler.size()).named("scheduler size:before").isEqualTo(1);
+ assertWithMessage("scheduler size:before").that(scheduler.size()).isEqualTo(1);
removeMessages(handler, testMessage.what, null);
scheduler.advanceToLastPostedRunnable();
- assertThat(scheduler.size()).named("scheduler size:after").isEqualTo(0);
- assertThat(handler.handled).named("handled").isEmpty();
+ assertWithMessage("scheduler size:after").that(scheduler.size()).isEqualTo(0);
+ assertWithMessage("handled").that(handler.handled).isEmpty();
}
@Test
@@ -147,7 +148,7 @@
Message m2 = handler.obtainMessage(2);
enqueueMessage(m2, 0);
scheduler.advanceToLastPostedRunnable();
- assertThat(handler.handled).named("handled").containsExactly(m2, testMessage);
+ assertWithMessage("handled").that(handler.handled).containsExactly(m2, testMessage);
}
@Test
@@ -156,9 +157,9 @@
@Override
public void handleMessage(Message msg) {
boolean inUse = callInstanceMethod(msg, "isInUse");
- assertThat(inUse).named(msg.what + ":inUse").isTrue();
+ assertWithMessage(msg.what + ":inUse").that(inUse).isTrue();
Message next = getField(msg, "next");
- assertThat(next).named(msg.what + ":next").isNull();
+ assertWithMessage(msg.what + ":next").that(next).isNull();
}
};
Message msg = handler.obtainMessage(1);
@@ -168,11 +169,11 @@
scheduler.advanceToNextPostedRunnable();
// Check that it's been properly recycled.
- assertThat(msg.what).named("msg.what").isEqualTo(0);
+ assertWithMessage("msg.what").that(msg.what).isEqualTo(0);
scheduler.advanceToNextPostedRunnable();
- assertThat(msg2.what).named("msg2.what").isEqualTo(0);
+ assertWithMessage("msg2.what").that(msg2.what).isEqualTo(0);
}
@Test
@@ -181,11 +182,11 @@
Message msg2 = handler.obtainMessage(5678);
handler.sendMessage(msg);
handler.sendMessage(msg2);
- assertThat(handler.hasMessages(1234)).named("before-1234").isTrue();
- assertThat(handler.hasMessages(5678)).named("before-5678").isTrue();
+ assertWithMessage("before-1234").that(handler.hasMessages(1234)).isTrue();
+ assertWithMessage("before-5678").that(handler.hasMessages(5678)).isTrue();
shadowQueue.reset();
- assertThat(handler.hasMessages(1234)).named("after-1234").isFalse();
- assertThat(handler.hasMessages(5678)).named("after-5678").isFalse();
+ assertWithMessage("after-1234").that(handler.hasMessages(1234)).isFalse();
+ assertWithMessage("after-5678").that(handler.hasMessages(5678)).isFalse();
}
@Test
@@ -221,7 +222,7 @@
scheduler.advanceToLastPostedRunnable();
removeSyncBarrier(queue, token);
assertThat(shadowQueue.getHead()).isNull();
- assertThat(handler.handled).named("handled:after").containsExactly(testMessage);
+ assertWithMessage("handled:after").that(handler.handled).containsExactly(testMessage);
}
@Test
@@ -233,7 +234,7 @@
assertThat(shadowQueue.getHead()).isEqualTo(testMessage);
scheduler.advanceToLastPostedRunnable();
assertThat(shadowQueue.getHead()).isNull();
- assertThat(handler.handled).named("handled:after").containsExactly(testMessage);
+ assertWithMessage("handled:after").that(handler.handled).containsExactly(testMessage);
}
@Test
@@ -243,7 +244,7 @@
scheduler.advanceToLastPostedRunnable();
removeSyncBarrier(queue, token);
assertThat(shadowQueue.getHead()).isNull();
- assertThat(handler.handled).named("handled:after").containsExactly(testMessage);
+ assertWithMessage("handled:after").that(handler.handled).containsExactly(testMessage);
}
private static void removeSyncBarrier(MessageQueue queue, int token) {
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageTest.java
index 8699bd5..ad05cd0 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowMessageTest.java
@@ -3,6 +3,7 @@
import static android.os.Build.VERSION_CODES.KITKAT_WATCH;
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.robolectric.Shadows.shadowOf;
import android.os.Bundle;
@@ -175,7 +176,7 @@
Message msg2 = Message.obtain();
ShadowMessage sMsg = shadowOf(msg);
sMsg.setNext(msg2);
- assertThat(sMsg.getNext()).isSameAs(msg2);
+ assertThat(sMsg.getNext()).isSameInstanceAs(msg2);
}
@Test
@@ -227,9 +228,9 @@
Message msg = Message.obtain(h, 234);
msg.sendToTarget();
Scheduler scheduler = Robolectric.getForegroundThreadScheduler();
- assertThat(scheduler.size()).named("before recycle").isEqualTo(1);
+ assertWithMessage("before recycle").that(scheduler.size()).isEqualTo(1);
shadowOf(msg).recycleUnchecked();
- assertThat(scheduler.size()).named("after recycle").isEqualTo(0);
+ assertWithMessage("after recycle").that(scheduler.size()).isEqualTo(0);
}
@Test
@@ -237,11 +238,11 @@
Message dummy1 = Message.obtain();
shadowOf(dummy1).recycleUnchecked();
Message dummy2 = Message.obtain();
- assertThat(dummy2).named("before resetting").isSameAs(dummy1);
+ assertWithMessage("before resetting").that(dummy2).isSameInstanceAs(dummy1);
shadowOf(dummy2).recycleUnchecked();
ShadowMessage.reset();
dummy1 = Message.obtain();
- assertThat(dummy1).named("after resetting").isNotSameAs(dummy2);
+ assertWithMessage("after resetting").that(dummy1).isNotSameInstanceAs(dummy2);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowNfcAdapterTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowNfcAdapterTest.java
index 3dbbb9a..88be8dc 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowNfcAdapterTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowNfcAdapterTest.java
@@ -36,7 +36,7 @@
final NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity);
adapter.setNdefPushMessageCallback(callback, activity);
- assertThat(shadowOf(adapter).getNdefPushMessageCallback()).isSameAs(callback);
+ assertThat(shadowOf(adapter).getNdefPushMessageCallback()).isSameInstanceAs(callback);
}
@Test
@@ -47,7 +47,7 @@
final NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity);
adapter.setOnNdefPushCompleteCallback(callback, activity);
- assertThat(shadowOf(adapter).getOnNdefPushCompleteCallback()).isSameAs(callback);
+ assertThat(shadowOf(adapter).getOnNdefPushCompleteCallback()).isSameInstanceAs(callback);
}
@Test
@@ -128,7 +128,7 @@
adapter.setNdefPushMessage(message, activity);
- assertThat(shadowOf(adapter).getNdefPushMessage()).isSameAs(message);
+ assertThat(shadowOf(adapter).getNdefPushMessage()).isSameInstanceAs(message);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowNotificationTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowNotificationTest.java
index e7e5116..5c326c8 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowNotificationTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowNotificationTest.java
@@ -18,6 +18,6 @@
PendingIntent pendingIntent = PendingIntent.getActivity(application, 0, new Intent(), 0);
Notification notification = new Notification();
notification.setLatestEventInfo(application, "title", "content", pendingIntent);
- assertThat(notification.contentIntent).isSameAs(pendingIntent);
+ assertThat(notification.contentIntent).isSameInstanceAs(pendingIntent);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowOpenGLMatrixTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowOpenGLMatrixTest.java
index c4429fb..65e1258 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowOpenGLMatrixTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowOpenGLMatrixTest.java
@@ -69,10 +69,10 @@
13, 14, 15, 16
};
Matrix.multiplyMM(res, 0, m1, 0, i, 0);
- assertThat(res).usingExactEquality().containsAllOf(m1);
+ assertThat(res).usingExactEquality().containsAtLeast(m1);
Matrix.multiplyMM(res, 0, i, 0, m1, 0);
- assertThat(res).usingExactEquality().containsAllOf(m1);
+ assertThat(res).usingExactEquality().containsAtLeast(m1);
}
@Test
@@ -92,10 +92,10 @@
13, 14, 15, 16
};
Matrix.multiplyMM(res, 16, m1, 16, i, 16);
- assertThat(res).usingExactEquality().containsAllOf(m1);
+ assertThat(res).usingExactEquality().containsAtLeast(m1);
Matrix.multiplyMM(res, 16, i, 16, m1, 16);
- assertThat(res).usingExactEquality().containsAllOf(m1);
+ assertThat(res).usingExactEquality().containsAtLeast(m1);
}
@Test
@@ -123,7 +123,7 @@
Matrix.multiplyMM(res, 0, m1, 0, m2, 0);
- assertThat(res).usingExactEquality().containsAllOf(expected);
+ assertThat(res).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -162,7 +162,7 @@
};
Matrix.multiplyMM(res, 16, m1, 16, m2, 16);
- assertThat(res).usingExactEquality().containsAllOf(expected);
+ assertThat(res).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -244,7 +244,7 @@
Matrix.setIdentityM(i, 0);
float[] v1 = new float[]{1, 2, 3, 4};
Matrix.multiplyMV(res, 0, i, 0, v1, 0);
- assertThat(res).usingExactEquality().containsAllOf(v1);
+ assertThat(res).usingExactEquality().containsAtLeast(v1);
}
@Test
@@ -260,7 +260,7 @@
float[] v1 = new float[]{42, 239, 128, 1024};
float[] expected = new float[]{14268, 15701, 17134, 18567};
Matrix.multiplyMV(res, 0, m1, 0, v1, 0);
- assertThat(res).usingExactEquality().containsAllOf(expected);
+ assertThat(res).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -283,7 +283,7 @@
14268, 15701, 17134, 18567
};
Matrix.multiplyMV(res, 1, m1, 4, v1, 2);
- assertThat(res).usingExactEquality().containsAllOf(expected);
+ assertThat(res).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -354,7 +354,7 @@
float[] output = new float[16];
Matrix.multiplyMM(output, 0, matrix1, 0, matrix2, 0);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -372,7 +372,7 @@
};
float[] output = new float[16];
Matrix.frustumM(output, 0, 100, 500, 200, 300, 1, 100);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -386,7 +386,7 @@
};
float[] output = new float[16];
Matrix.frustumM(output, 0, 100, 500, 200, 300, 1, 100);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -399,7 +399,7 @@
};
float[] output = new float[16];
Matrix.perspectiveM(output, 0, 0.2f, 0.5f, 1, 100);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -415,7 +415,7 @@
float[] expected = new float[]{11, 30, 57, 1};
float[] output = new float[4];
Matrix.multiplyMV(output, 0, matrix, 0, vector, 0);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -433,7 +433,7 @@
0, 0, 0, 1
};
Matrix.setIdentityM(matrix, 0);
- assertThat(matrix).usingExactEquality().containsAllOf(expected);
+ assertThat(matrix).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -452,7 +452,7 @@
};
float[] output = new float[16];
Matrix.scaleM(output, 0, matrix, 0, 2, 4, 6);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -470,7 +470,7 @@
13, 14, 15, 16
};
Matrix.scaleM(matrix, 0, 2, 4, 6);
- assertThat(matrix).usingExactEquality().containsAllOf(expected);
+ assertThat(matrix).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -489,7 +489,7 @@
};
float[] output = new float[16];
Matrix.translateM(output, 0, matrix, 0, 2, 4, 6);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -507,7 +507,7 @@
89, 102, 115, 128
};
Matrix.translateM(matrix, 0, 2, 4, 6);
- assertThat(matrix).usingExactEquality().containsAllOf(expected);
+ assertThat(matrix).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -526,7 +526,7 @@
};
float[] output = new float[16];
Matrix.rotateM(output, 0, matrix, 0, 2, 4, 6, 8);
- assertThat(output).usingExactEquality().containsAllOf(expected);
+ assertThat(output).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -544,7 +544,7 @@
13, 14, 15, 16
};
Matrix.rotateM(matrix, 0, 2, 4, 6, 8);
- assertThat(matrix).usingExactEquality().containsAllOf(expected);
+ assertThat(matrix).usingExactEquality().containsAtLeast(expected);
}
@Test
@@ -562,7 +562,7 @@
0, 0, 0, 1
};
Matrix.setRotateM(matrix, 0, 1, 2, 3, 4);
- assertThat(matrix).usingExactEquality().containsAllOf(expected);
+ assertThat(matrix).usingExactEquality().containsAtLeast(expected);
}
private static void assertMatrixWithPrecision(float[] actual, float[] expected, float precision) {
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPackageManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPackageManagerTest.java
index 46a8688..e5bf914 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPackageManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPackageManagerTest.java
@@ -1302,8 +1302,8 @@
shadowPackageManager.addActivityIcon(i, d);
- assertThat(packageManager.getActivityIcon(i)).isSameAs(d);
- assertThat(packageManager.getActivityIcon(i.getComponent())).isSameAs(d);
+ assertThat(packageManager.getActivityIcon(i)).isSameInstanceAs(d);
+ assertThat(packageManager.getActivityIcon(i.getComponent())).isSameInstanceAs(d);
}
@Test
@@ -1593,7 +1593,7 @@
Drawable drawable = ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), "my_source");
shadowPackageManager.addDrawableResolution("com.example.foo", 4334, drawable);
Drawable actual = packageManager.getDrawable("com.example.foo", 4334, null);
- assertThat(actual).isSameAs(drawable);
+ assertThat(actual).isSameInstanceAs(drawable);
}
@Test
@@ -2473,7 +2473,7 @@
packageManager
.getApplicationInfo(packageName, PackageManager.GET_SHARED_LIBRARY_FILES)
.loadUnbadgedIcon(packageManager))
- .isSameAs(d);
+ .isSameInstanceAs(d);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPaintTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPaintTest.java
index 7921b6f..a6303ea 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPaintTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPaintTest.java
@@ -73,6 +73,6 @@
@Test
public void createPaintFromPaint() throws Exception {
Paint origPaint = new Paint();
- assertThat(new Paint(origPaint).getTextLocale()).isSameAs(origPaint.getTextLocale());
+ assertThat(new Paint(origPaint).getTextLocale()).isSameInstanceAs(origPaint.getTextLocale());
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPendingIntentTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPendingIntentTest.java
index 4d666ab..ae191c0 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPendingIntentTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPendingIntentTest.java
@@ -209,7 +209,7 @@
Intent first = shadowActivity.getNextStartedActivity();
assertThat(first).isNotNull();
- assertThat(first).isSameAs(intents[0]);
+ assertThat(first).isSameInstanceAs(intents[0]);
assertThat(first.hasExtra("TEST")).isFalse();
}
@@ -251,7 +251,7 @@
Intent i = shadowOf(otherContext).getNextStartedActivity();
assertThat(i).isNotNull();
- assertThat(i).isSameAs(intent);
+ assertThat(i).isSameInstanceAs(intent);
assertThat(i.hasExtra("TEST")).isFalse();
}
@@ -292,7 +292,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getActivity(context, 99, identical, FLAG_NO_CREATE);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -303,7 +303,7 @@
Intent updated = new Intent();
PendingIntent saved = PendingIntent.getActivity(context, 99, updated, 0);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -329,7 +329,7 @@
PendingIntent saved =
PendingIntent.getActivities(context, 99, identicalIntents, FLAG_NO_CREATE);
assertThat(saved).isNotNull();
- assertThat(intents).isSameAs(shadowOf(saved).getSavedIntents());
+ assertThat(intents).isSameInstanceAs(shadowOf(saved).getSavedIntents());
}
@Test
@@ -340,7 +340,7 @@
Intent[] identicalIntents = {new Intent(Intent.ACTION_VIEW), new Intent(Intent.ACTION_PICK)};
PendingIntent saved = PendingIntent.getActivities(context, 99, identicalIntents, 0);
assertThat(saved).isNotNull();
- assertThat(intents).isSameAs(shadowOf(saved).getSavedIntents());
+ assertThat(intents).isSameInstanceAs(shadowOf(saved).getSavedIntents());
}
@Test
@@ -365,7 +365,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getBroadcast(context, 99, identical, FLAG_NO_CREATE);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -376,7 +376,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getBroadcast(context, 99, identical, 0);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -401,7 +401,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getService(context, 99, identical, FLAG_NO_CREATE);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -412,7 +412,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getService(context, 99, identical, 0);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -442,7 +442,7 @@
PendingIntent saved =
PendingIntent.getForegroundService(context, 99, identical, FLAG_NO_CREATE);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -454,7 +454,7 @@
Intent identical = new Intent();
PendingIntent saved = PendingIntent.getForegroundService(context, 99, identical, 0);
assertThat(saved).isNotNull();
- assertThat(intent).isSameAs(shadowOf(saved).getSavedIntent());
+ assertThat(intent).isSameInstanceAs(shadowOf(saved).getSavedIntent());
}
@Test
@@ -550,7 +550,7 @@
Intent intent = new Intent();
PendingIntent oneShot = PendingIntent.getService(context, 0, intent, FLAG_ONE_SHOT);
PendingIntent notOneShot = PendingIntent.getService(context, 0, intent, FLAG_UPDATE_CURRENT);
- assertThat(oneShot).isNotSameAs(notOneShot);
+ assertThat(oneShot).isNotSameInstanceAs(notOneShot);
}
@Test
@@ -558,7 +558,7 @@
Intent intent = new Intent();
PendingIntent immutable = PendingIntent.getService(context, 0, intent, FLAG_IMMUTABLE);
PendingIntent notImmutable = PendingIntent.getService(context, 0, intent, FLAG_UPDATE_CURRENT);
- assertThat(immutable).isNotSameAs(notImmutable);
+ assertThat(immutable).isNotSameInstanceAs(notImmutable);
}
@Test
@@ -568,7 +568,7 @@
// Same type, requestCode and Intent action implies equality.
assertThat(PendingIntent.getActivity(context, 99, new Intent("activity"), FLAG_NO_CREATE))
- .isSameAs(pendingIntent);
+ .isSameInstanceAs(pendingIntent);
// Mismatched Intent action implies inequality.
assertThat(PendingIntent.getActivity(context, 99, new Intent("activity2"), FLAG_NO_CREATE))
@@ -592,15 +592,15 @@
Intent[] forward = {new Intent("activity"), new Intent("activity2")};
assertThat(PendingIntent.getActivities(context, 99, forward, FLAG_NO_CREATE))
- .isSameAs(pendingIntent);
+ .isSameInstanceAs(pendingIntent);
Intent[] irrelevant = {new Intent("irrelevant"), new Intent("activity2")};
assertThat(PendingIntent.getActivities(context, 99, irrelevant, FLAG_NO_CREATE))
- .isSameAs(pendingIntent);
+ .isSameInstanceAs(pendingIntent);
Intent single = new Intent("activity2");
assertThat(PendingIntent.getActivity(context, 99, single, FLAG_NO_CREATE))
- .isSameAs(pendingIntent);
+ .isSameInstanceAs(pendingIntent);
Intent[] backward = {new Intent("activity2"), new Intent("activity")};
assertThat(PendingIntent.getActivities(context, 99, backward, FLAG_NO_CREATE)).isNull();
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPhoneWindowTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPhoneWindowTest.java
index b534341..47be7c4 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPhoneWindowTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPhoneWindowTest.java
@@ -34,6 +34,6 @@
public void getBackgroundDrawable() throws Exception {
Drawable drawable = activity.getResources().getDrawable(android.R.drawable.bottom_bar);
window.setBackgroundDrawable(drawable);
- assertThat(shadowOf(window).getBackgroundDrawable()).isSameAs(drawable);
+ assertThat(shadowOf(window).getBackgroundDrawable()).isSameInstanceAs(drawable);
}
}
\ No newline at end of file
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPowerManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPowerManagerTest.java
index 04fac09..c93e586 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPowerManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPowerManagerTest.java
@@ -72,13 +72,13 @@
lock.acquire();
assertThat(ShadowPowerManager.getLatestWakeLock()).isNotNull();
- assertThat(ShadowPowerManager.getLatestWakeLock()).isSameAs(lock);
+ assertThat(ShadowPowerManager.getLatestWakeLock()).isSameInstanceAs(lock);
assertThat(lock.isHeld()).isTrue();
lock.release();
assertThat(ShadowPowerManager.getLatestWakeLock()).isNotNull();
- assertThat(ShadowPowerManager.getLatestWakeLock()).isSameAs(lock);
+ assertThat(ShadowPowerManager.getLatestWakeLock()).isSameInstanceAs(lock);
assertThat(lock.isHeld()).isFalse();
ShadowPowerManager.reset();
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowPreferenceGroupTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowPreferenceGroupTest.java
index 5decabd..f21c21f 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowPreferenceGroupTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowPreferenceGroupTest.java
@@ -85,8 +85,8 @@
group.addPreference(pref1);
group.addPreference(pref2);
- assertThat(group.getPreference(0)).isSameAs(pref1);
- assertThat(group.getPreference(1)).isSameAs(pref2);
+ assertThat(group.getPreference(0)).isSameInstanceAs(pref1);
+ assertThat(group.getPreference(1)).isSameInstanceAs(pref2);
}
@Test
@@ -132,8 +132,8 @@
group.addPreference(pref1);
group.addPreference(pref2);
- assertThat(group.findPreference(pref1.getKey())).isSameAs(pref1);
- assertThat(group.findPreference(pref2.getKey())).isSameAs(pref2);
+ assertThat(group.findPreference(pref1.getKey())).isSameInstanceAs(pref1);
+ assertThat(group.findPreference(pref2.getKey())).isSameInstanceAs(pref2);
}
@Test
@@ -145,7 +145,7 @@
group.addPreference(pref1);
group.addPreference(group2);
- assertThat(group.findPreference(pref2.getKey())).isSameAs(pref2);
+ assertThat(group.findPreference(pref2.getKey())).isSameInstanceAs(pref2);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowRatingBarTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowRatingBarTest.java
index 75313c7..f50d4a9 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowRatingBarTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowRatingBarTest.java
@@ -28,7 +28,7 @@
@Test
public void testOnSeekBarChangedListener() {
- assertThat(ratingBar.getOnRatingBarChangeListener()).isSameAs(listener);
+ assertThat(ratingBar.getOnRatingBarChangeListener()).isSameInstanceAs(listener);
ratingBar.setOnRatingBarChangeListener(null);
assertThat(ratingBar.getOnRatingBarChangeListener()).isNull();
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowRemoteCallbackListTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowRemoteCallbackListTest.java
index d75330c..ad68b02 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowRemoteCallbackListTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowRemoteCallbackListTest.java
@@ -20,7 +20,7 @@
fooRemoteCallbackList.beginBroadcast();
- assertThat(fooRemoteCallbackList.getBroadcastItem(0)).isSameAs(callback);
+ assertThat(fooRemoteCallbackList.getBroadcastItem(0)).isSameInstanceAs(callback);
}
public static class Foo implements IInterface {
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSQLiteConnectionTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSQLiteConnectionTest.java
index a1206a9..e7fc1ed 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSQLiteConnectionTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSQLiteConnectionTest.java
@@ -2,6 +2,7 @@
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import static org.robolectric.shadows.ShadowSQLiteConnection.convertSQLWithLocalizedUnicodeCollator;
@@ -94,39 +95,39 @@
@Test
public void nativeOpen_addsConnectionToPool() {
assertThat(conn).isNotNull();
- assertThat(conn.isOpen()).named("open").isTrue();
+ assertWithMessage("open").that(conn.isOpen()).isTrue();
}
@Test
public void nativeClose_closesConnection() {
ShadowSQLiteConnection.nativeClose(ptr);
- assertThat(conn.isOpen()).named("open").isFalse();
+ assertWithMessage("open").that(conn.isOpen()).isFalse();
}
@Test
public void reset_closesConnection() {
ShadowSQLiteConnection.reset();
- assertThat(conn.isOpen()).named("open").isFalse();
+ assertWithMessage("open").that(conn.isOpen()).isFalse();
}
@Test
public void reset_clearsConnectionCache() {
final Map<Long, SQLiteConnection> connectionsMap = ReflectionHelpers.getField(CONNECTIONS, "connectionsMap");
- assertThat(connectionsMap).named("connections before").isNotEmpty();
+ assertWithMessage("connections before").that(connectionsMap).isNotEmpty();
ShadowSQLiteConnection.reset();
- assertThat(connectionsMap).named("connections after").isEmpty();
+ assertWithMessage("connections after").that(connectionsMap).isEmpty();
}
@Test
public void reset_clearsStatementCache() {
final Map<Long, SQLiteStatement> statementsMap = ReflectionHelpers.getField(CONNECTIONS, "statementsMap");
- assertThat(statementsMap).named("statements before").isNotEmpty();
+ assertWithMessage("statements before").that(statementsMap).isNotEmpty();
ShadowSQLiteConnection.reset();
- assertThat(statementsMap).named("statements after").isEmpty();
+ assertWithMessage("statements after").that(statementsMap).isEmpty();
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSeekBarTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSeekBarTest.java
index c462c60..2ef14a7 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSeekBarTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSeekBarTest.java
@@ -31,7 +31,7 @@
@Test
public void testOnSeekBarChangedListener() {
- assertThat(shadow.getOnSeekBarChangeListener()).isSameAs(listener);
+ assertThat(shadow.getOnSeekBarChangeListener()).isSameInstanceAs(listener);
seekBar.setOnSeekBarChangeListener(null);
assertThat(shadow.getOnSeekBarChangeListener()).isNull();
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
index 29484cc..7e65ddb 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
@@ -155,7 +155,7 @@
public void getSensor_shouldBeConfigurable() {
Sensor sensor = ShadowSensor.newInstance(Sensor.TYPE_ACCELEROMETER);
shadowOf(sensorManager).addSensor(sensor);
- assertThat(sensor).isSameAs(sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
+ assertThat(sensor).isSameInstanceAs(sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowServiceTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowServiceTest.java
index 9493d8a..0deb481 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowServiceTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowServiceTest.java
@@ -74,9 +74,9 @@
public void startForeground() {
Notification n = notBuilder.build();
service.startForeground(23, n);
- assertThat(shadowOf(service).getLastForegroundNotification()).isSameAs(n);
+ assertThat(shadowOf(service).getLastForegroundNotification()).isSameInstanceAs(n);
assertThat(shadowOf(service).getLastForegroundNotificationId()).isEqualTo(23);
- assertThat(shadowOf(nm2).getNotification(23)).isSameAs(n);
+ assertThat(shadowOf(nm2).getNotification(23)).isSameInstanceAs(n);
assertThat(n.flags & Notification.FLAG_FOREGROUND_SERVICE).isNotEqualTo(0);
}
@@ -103,7 +103,7 @@
Notification n = notBuilder.build();
service.startForeground(21, n);
service.stopForeground(false);
- assertThat(shadowOf(nm2).getNotification(21)).isSameAs(n);
+ assertThat(shadowOf(nm2).getNotification(21)).isSameInstanceAs(n);
}
/**
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowShapeDrawableTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowShapeDrawableTest.java
index ca02d62..25fd954 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowShapeDrawableTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowShapeDrawableTest.java
@@ -16,6 +16,6 @@
ShapeDrawable shapeDrawable = new ShapeDrawable();
Paint paint = shapeDrawable.getPaint();
assertNotNull(paint);
- assertThat(shapeDrawable.getPaint()).isSameAs(paint);
+ assertThat(shapeDrawable.getPaint()).isSameInstanceAs(paint);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSimpleCursorAdapterTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSimpleCursorAdapterTest.java
index eb3cb74..115d57b 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSimpleCursorAdapterTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSimpleCursorAdapterTest.java
@@ -31,7 +31,7 @@
adapter.changeCursor(cursor);
- assertThat(adapter.getCursor()).isSameAs(cursor);
+ assertThat(adapter.getCursor()).isSameInstanceAs(cursor);
}
@Test
@@ -43,7 +43,7 @@
adapter.swapCursor(cursor);
- assertThat(adapter.getCursor()).isSameAs(cursor);
+ assertThat(adapter.getCursor()).isSameInstanceAs(cursor);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSmsManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSmsManagerTest.java
index 1ee2455..a6b59fb 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSmsManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSmsManagerTest.java
@@ -90,8 +90,8 @@
assertThat(params.getScAddress()).isEqualTo(scAddress);
assertThat(params.getDestinationPort()).isEqualTo(destPort);
assertThat(params.getData()).isEqualTo(data);
- assertThat(params.getSentIntent()).isSameAs(sentIntent);
- assertThat(params.getDeliveryIntent()).isSameAs(deliveryIntent);
+ assertThat(params.getSentIntent()).isSameInstanceAs(sentIntent);
+ assertThat(params.getDeliveryIntent()).isSameInstanceAs(deliveryIntent);
}
@Test(expected = IllegalArgumentException.class)
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSpannableStringTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSpannableStringTest.java
index 31443c1..0d93e7e 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSpannableStringTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSpannableStringTest.java
@@ -23,7 +23,7 @@
@Test
public void testToString() {
- assertThat(spanStr.toString()).isSameAs(TEST_STRING);
+ assertThat(spanStr.toString()).isSameInstanceAs(TEST_STRING);
}
@Test
@@ -47,7 +47,7 @@
Object[] spans = spanStr.getSpans(0, TEST_STRING.length(), Object.class);
assertThat(spans).isNotNull();
assertThat(spans.length).isEqualTo(1);
- assertThat((UnderlineSpan) spans[0]).isSameAs(s2);
+ assertThat((UnderlineSpan) spans[0]).isSameInstanceAs(s2);
}
@Test
@@ -65,35 +65,35 @@
spans = spanStr.getSpans(0, TEST_STRING.length(), URLSpan.class);
assertThat(spans).isNotNull();
assertThat(spans.length).isEqualTo(1);
- assertThat((URLSpan) spans[0]).isSameAs(s1);
+ assertThat((URLSpan) spans[0]).isSameInstanceAs(s1);
spans = spanStr.getSpans(11, 35, Object.class);
assertThat(spans).isNotNull();
assertThat(spans.length).isEqualTo(1);
- assertThat((UnderlineSpan) spans[0]).isSameAs(s2);
+ assertThat((UnderlineSpan) spans[0]).isSameInstanceAs(s2);
spans = spanStr.getSpans(21, 35, Object.class);
assertThat(spans).isNotNull();
assertThat(spans.length).isEqualTo(1);
- assertThat((UnderlineSpan) spans[0]).isSameAs(s2);
+ assertThat((UnderlineSpan) spans[0]).isSameInstanceAs(s2);
spans = spanStr.getSpans(5, 15, Object.class);
assertThat(spans).isNotNull();
assertThat(spans.length).isEqualTo(1);
- assertThat((URLSpan) spans[0]).isSameAs(s1);
+ assertThat((URLSpan) spans[0]).isSameInstanceAs(s1);
}
private void assertBothSpans(URLSpan s1, UnderlineSpan s2) {
Object[] spans = spanStr.getSpans(0, TEST_STRING.length(), Object.class);
if (spans[0] instanceof URLSpan) {
- assertThat((URLSpan) spans[0]).isSameAs(s1);
+ assertThat((URLSpan) spans[0]).isSameInstanceAs(s1);
} else {
- assertThat((UnderlineSpan) spans[0]).isSameAs(s2);
+ assertThat((UnderlineSpan) spans[0]).isSameInstanceAs(s2);
}
if (spans[1] instanceof UnderlineSpan) {
- assertThat((UnderlineSpan) spans[1]).isSameAs(s2);
+ assertThat((UnderlineSpan) spans[1]).isSameInstanceAs(s2);
} else {
- assertThat((URLSpan) spans[1]).isSameAs(s1);
+ assertThat((URLSpan) spans[1]).isSameInstanceAs(s1);
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSubscriptionManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSubscriptionManagerTest.java
index fef53ef..5bd2f24 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSubscriptionManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSubscriptionManagerTest.java
@@ -91,7 +91,7 @@
shadowSubscriptionManager.setActiveSubscriptionInfos(expectedSubscriptionInfo);
assertThat(shadowSubscriptionManager.getActiveSubscriptionInfo(123))
- .isSameAs(expectedSubscriptionInfo);
+ .isSameInstanceAs(expectedSubscriptionInfo);
}
@Test
@@ -101,7 +101,7 @@
shadowSubscriptionManager.setActiveSubscriptionInfos(expectedSubscriptionInfo);
assertThat(shadowSubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(123))
- .isSameAs(expectedSubscriptionInfo);
+ .isSameInstanceAs(expectedSubscriptionInfo);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTabHostTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTabHostTest.java
index 95eccbe..557ab19 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTabHostTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTabHostTest.java
@@ -49,8 +49,8 @@
tabHost.addTab(foo);
tabHost.addTab(bar);
- assertThat(tabHost.getChildAt(0)).isSameAs(fooView);
- assertThat(tabHost.getChildAt(1)).isSameAs(barView);
+ assertThat(tabHost.getChildAt(0)).isSameInstanceAs(fooView);
+ assertThat(tabHost.getChildAt(1)).isSameInstanceAs(barView);
}
@Test
@@ -64,8 +64,8 @@
tabHost.addTab(bar);
tabHost.addTab(baz);
- assertThat(shadowOf(tabHost).getSpecByTag("Bar")).isSameAs(bar);
- assertThat(shadowOf(tabHost).getSpecByTag("Baz")).isSameAs(baz);
+ assertThat(shadowOf(tabHost).getSpecByTag("Bar")).isSameInstanceAs(bar);
+ assertThat(shadowOf(tabHost).getSpecByTag("Baz")).isSameInstanceAs(baz);
assertNull(shadowOf(tabHost).getSpecByTag("Whammie"));
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTabSpecTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTabSpecTest.java
index 702e079..ef917e1 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTabSpecTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTabSpecTest.java
@@ -34,8 +34,8 @@
TabHost.TabSpec spec = new TabHost(context).newTabSpec("foo");
View view = new View(context);
TabHost.TabSpec self = spec.setIndicator(view);
- assertThat(self).isSameAs(spec);
- assertThat(shadowOf(spec).getIndicatorAsView()).isSameAs(view);
+ assertThat(self).isSameInstanceAs(spec);
+ assertThat(shadowOf(spec).getIndicatorAsView()).isSameInstanceAs(view);
}
@Test
@@ -43,8 +43,8 @@
TabHost.TabSpec spec = new TabHost(context).newTabSpec("foo");
Intent intent = new Intent();
TabHost.TabSpec self = spec.setContent(intent);
- assertThat(self).isSameAs(spec);
- assertThat(shadowOf(spec).getContentAsIntent()).isSameAs(intent);
+ assertThat(self).isSameInstanceAs(spec);
+ assertThat(shadowOf(spec).getContentAsIntent()).isSameInstanceAs(intent);
}
@Test
@@ -66,7 +66,7 @@
assertThat(shadowOf(spec).getIndicatorLabel()).isEqualTo("labelText");
assertThat(shadowOf(spec).getText()).isEqualTo("labelText");
- assertThat(shadowOf(spec).getIndicatorIcon()).isSameAs(icon1);
+ assertThat(shadowOf(spec).getIndicatorIcon()).isSameInstanceAs(icon1);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTest.java
index 8646217..59ef9b9 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTest.java
@@ -23,18 +23,18 @@
@Test
public void newInstanceOf() throws Exception {
assertThat(Shadow.newInstanceOf(Activity.class.getName()).getClass().getClassLoader())
- .isSameAs(myClassLoader);
+ .isSameInstanceAs(myClassLoader);
}
@Test
public void extractor() throws Exception {
Activity activity = new Activity();
- assertThat((ShadowActivity) Shadow.extract(activity)).isSameAs(shadowOf(activity));
+ assertThat((ShadowActivity) Shadow.extract(activity)).isSameInstanceAs(shadowOf(activity));
}
@Test
public void otherDeprecated_extractor() throws Exception {
Activity activity = new Activity();
- assertThat(Shadow.<Object>extract(activity)).isSameAs(shadowOf(activity));
+ assertThat(Shadow.<Object>extract(activity)).isSameInstanceAs(shadowOf(activity));
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTextViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTextViewTest.java
index 7a4381b..cf95730 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTextViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTextViewTest.java
@@ -73,7 +73,7 @@
textView.onEditorAction(EditorInfo.IME_ACTION_GO);
- assertThat(actionListener.textView).isSameAs(textView);
+ assertThat(actionListener.textView).isSameInstanceAs(textView);
assertThat(actionListener.sentImeId).isEqualTo(EditorInfo.IME_ACTION_GO);
}
@@ -83,7 +83,7 @@
textView.setOnEditorActionListener(actionListener);
- assertThat(shadowOf(textView).getOnEditorActionListener()).isSameAs(actionListener);
+ assertThat(shadowOf(textView).getOnEditorActionListener()).isSameInstanceAs(actionListener);
}
@Test
@@ -111,7 +111,7 @@
assertNull(textView.getMovementMethod());
textView.setMovementMethod(movement);
- assertThat(textView.getMovementMethod()).isSameAs(movement);
+ assertThat(textView.getMovementMethod()).isSameInstanceAs(movement);
}
@Test
@@ -398,7 +398,7 @@
public void canSetAndGetInputFilters() throws Exception {
final InputFilter[] expectedFilters = new InputFilter[]{new InputFilter.LengthFilter(1)};
textView.setFilters(expectedFilters);
- assertThat(textView.getFilters()).isSameAs(expectedFilters);
+ assertThat(textView.getFilters()).isSameInstanceAs(expectedFilters);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderQTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderQTest.java
index c204512..231eace 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderQTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderQTest.java
@@ -33,7 +33,7 @@
ClassParameter.from(String.class, "us"));
assertThat(timezones.stream().map(TimeZone::getID).collect(Collectors.toList()))
- .containsAllOf("America/Los_Angeles", "America/New_York", "Pacific/Honolulu");
+ .containsAtLeast("America/Los_Angeles", "America/New_York", "Pacific/Honolulu");
}
}
// END-INTERNAL
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderSTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderSTest.java
new file mode 100644
index 0000000..64ed056
--- /dev/null
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderSTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2020 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.
+ */
+
+// BEGIN-INTERNAL
+package org.robolectric.shadows;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static android.os.Build.VERSION_CODES.S;
+import static com.google.common.truth.Truth.assertThat;
+
+import android.icu.util.TimeZone;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import java.util.List;
+import java.util.stream.Collectors;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+import org.robolectric.util.ReflectionHelpers.ClassParameter;
+
+/** Unit tests for {@link ShadowTimeZoneFinderS}. */
+@RunWith(AndroidJUnit4.class)
+public class ShadowTimeZoneFinderSTest {
+
+ @Test
+ @Config(minSdk = S)
+ public void lookupTimeZonesByCountry_shouldReturnExpectedTimeZones() throws Exception {
+ Class<?> cls = Class.forName("com.android.i18n.timezone.TimeZoneFinder");
+ Object timeZoneFinder = ReflectionHelpers.callStaticMethod(cls, "getInstance");
+ List<TimeZone> timezones =
+ ReflectionHelpers.callInstanceMethod(
+ cls,
+ timeZoneFinder,
+ "lookupTimeZonesByCountry",
+ ClassParameter.from(String.class, "us"));
+
+ assertThat(timezones.stream().map(TimeZone::getID).collect(Collectors.toList()))
+ .containsAtLeast("America/Los_Angeles", "America/New_York", "Pacific/Honolulu");
+ }
+}
+// END-INTERNAL
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderTest.java
index 433c139..962eaff 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTimeZoneFinderTest.java
@@ -31,6 +31,6 @@
ClassParameter.from(String.class, "us"));
assertThat(timezones.stream().map(TimeZone::getID).collect(Collectors.toList()))
- .containsAllOf("America/Los_Angeles", "America/New_York", "Pacific/Honolulu");
+ .containsAtLeast("America/Los_Angeles", "America/New_York", "Pacific/Honolulu");
}
}
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowToastTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowToastTest.java
index 8f5e1e6..9682483 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowToastTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowToastTest.java
@@ -45,7 +45,7 @@
assertThat(toast).isNotNull();
assertThat(toast.getDuration()).isEqualTo(Toast.LENGTH_SHORT);
toast.show();
- assertThat(ShadowToast.getLatestToast()).isSameAs(toast);
+ assertThat(ShadowToast.getLatestToast()).isSameInstanceAs(toast);
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo("short toast");
assertThat(ShadowToast.showedToast("short toast")).isTrue();
}
@@ -55,7 +55,7 @@
Toast toast = Toast.makeText(context, "short toast", Toast.LENGTH_SHORT);
toast.setText("other toast");
toast.show();
- assertThat(ShadowToast.getLatestToast()).isSameAs(toast);
+ assertThat(ShadowToast.getLatestToast()).isSameInstanceAs(toast);
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo("other toast");
assertThat(ShadowToast.showedToast("other toast")).isTrue();
}
@@ -65,7 +65,7 @@
Toast toast = Toast.makeText(context, "short toast", Toast.LENGTH_SHORT);
toast.setText(R.string.hello);
toast.show();
- assertThat(ShadowToast.getLatestToast()).isSameAs(toast);
+ assertThat(ShadowToast.getLatestToast()).isSameInstanceAs(toast);
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo("Hello");
assertThat(ShadowToast.showedToast("Hello")).isTrue();
}
@@ -76,7 +76,7 @@
toast.setDuration(Toast.LENGTH_SHORT);
final View view = new TextView(context);
toast.setView(view);
- assertThat(toast.getView()).isSameAs(view);
+ assertThat(toast.getView()).isSameInstanceAs(view);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowUserManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowUserManagerTest.java
index e05b8f8..367452d 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowUserManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowUserManagerTest.java
@@ -83,6 +83,12 @@
}
@Test
+ @Config(minSdk = JELLY_BEAN_MR2)
+ public void verifyNoUserRestrictions() {
+ assertThat(userManager.getUserRestrictions().size()).isEqualTo(0);
+ }
+
+ @Test
@Config(minSdk = LOLLIPOP)
public void hasUserRestriction() {
assertThat(userManager.hasUserRestriction(UserManager.ENSURE_VERIFY_APPS)).isFalse();
@@ -96,8 +102,6 @@
@Test
@Config(minSdk = JELLY_BEAN_MR2)
public void getUserRestrictions() {
- assertThat(userManager.getUserRestrictions().size()).isEqualTo(0);
-
UserHandle userHandle = Process.myUserHandle();
shadowOf(userManager).setUserRestriction(userHandle, UserManager.ENSURE_VERIFY_APPS, true);
@@ -117,8 +121,17 @@
@Test
@Config(minSdk = JELLY_BEAN_MR2)
+ public void setUserRestrictions() {
+ userManager.setUserRestriction(UserManager.ENSURE_VERIFY_APPS, true);
+
+ Bundle restrictions = userManager.getUserRestrictions();
+ assertThat(restrictions.size()).isEqualTo(1);
+ assertThat(restrictions.getBoolean(UserManager.ENSURE_VERIFY_APPS)).isTrue();
+ }
+
+ @Test
+ @Config(minSdk = JELLY_BEAN_MR2)
public void clearUserRestrictions() {
- assertThat(userManager.getUserRestrictions().size()).isEqualTo(0);
shadowOf(userManager)
.setUserRestriction(Process.myUserHandle(), UserManager.ENSURE_VERIFY_APPS, true);
assertThat(userManager.getUserRestrictions().size()).isEqualTo(1);
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowValueAnimatorTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowValueAnimatorTest.java
index 84157ee..49da69b 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowValueAnimatorTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowValueAnimatorTest.java
@@ -33,7 +33,7 @@
});
animator.start();
- assertThat(values).isOrdered(Ordering.natural());
+ assertThat(values).isInOrder(Ordering.natural());
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowVibratorTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowVibratorTest.java
index b51713a..630c1e5 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowVibratorTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowVibratorTest.java
@@ -5,6 +5,7 @@
import static org.robolectric.Shadows.shadowOf;
import android.content.Context;
+import android.os.VibrationEffect;
import android.os.Vibrator;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -51,14 +52,15 @@
assertThat(shadowOf(vibrator).isVibrating()).isTrue();
assertThat(shadowOf(vibrator).getMilliseconds()).isEqualTo(5000L);
+ // Wait for vibrator to stop.
Robolectric.getForegroundThreadScheduler().advanceToNextPostedRunnable();
assertThat(shadowOf(vibrator).isVibrating()).isFalse();
}
@Test
public void vibratePattern() {
- long[] pattern = new long[] { 0, 200 };
- vibrator.vibrate(pattern, 1);
+ long[] pattern = new long[]{0, 200};
+ vibrator.vibrate(pattern, 1 /* repeat */);
assertThat(shadowOf(vibrator).isVibrating()).isTrue();
assertThat(shadowOf(vibrator).getPattern()).isEqualTo(pattern);
@@ -66,6 +68,46 @@
}
@Test
+ public void vibrateWaveformEffect() {
+ long[] pattern = new long[]{0, 200};
+ vibrator.vibrate(VibrationEffect.createWaveform(pattern, 0 /* repeat */));
+
+ assertThat(shadowOf(vibrator).isVibrating()).isTrue();
+ assertThat(shadowOf(vibrator).getPattern()).isEqualTo(pattern);
+ assertThat(shadowOf(vibrator).getRepeat()).isEqualTo(0);
+ }
+
+ @Test
+ public void vibrateOneShotEffect() {
+ vibrator.vibrate(VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE));
+
+ assertThat(shadowOf(vibrator).isVibrating()).isTrue();
+ assertThat(shadowOf(vibrator).getMilliseconds()).isEqualTo(100L);
+
+ // Wait for vibrator to stop.
+ Robolectric.getForegroundThreadScheduler().advanceToNextPostedRunnable();
+ assertThat(shadowOf(vibrator).isVibrating()).isFalse();
+ }
+
+ @Test
+ public void vibratePredefinedEffect() {
+ vibrator.vibrate(VibrationEffect.get(VibrationEffect.EFFECT_CLICK));
+
+ assertThat(shadowOf(vibrator).isVibrating()).isFalse();
+ assertThat(shadowOf(vibrator).getMilliseconds()).isEqualTo(-1L);
+ }
+
+ @Test
+ public void vibrateComposedEffect() {
+ vibrator.vibrate(VibrationEffect.startComposition()
+ .addPrimitive(VibrationEffect.Composition.PRIMITIVE_CLICK)
+ .compose());
+
+ assertThat(shadowOf(vibrator).isVibrating()).isFalse();
+ assertThat(shadowOf(vibrator).getMilliseconds()).isEqualTo(-1L);
+ }
+
+ @Test
public void cancelled() {
vibrator.vibrate(5000);
assertThat(shadowOf(vibrator).isVibrating()).isTrue();
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowVideoViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowVideoViewTest.java
index 223af66..4720249 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowVideoViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowVideoViewTest.java
@@ -26,7 +26,7 @@
TestPreparedListener l = new TestPreparedListener();
view.setOnPreparedListener(l);
ShadowVideoView shadowVideoView = shadowOf(view);
- assertThat(shadowVideoView.getOnPreparedListener()).isSameAs(l);
+ assertThat(shadowVideoView.getOnPreparedListener()).isSameInstanceAs(l);
}
@Test
@@ -34,7 +34,7 @@
TestErrorListener l = new TestErrorListener();
view.setOnErrorListener(l);
ShadowVideoView shadowVideoView = shadowOf(view);
- assertThat(shadowVideoView.getOnErrorListener()).isSameAs(l);
+ assertThat(shadowVideoView.getOnErrorListener()).isSameInstanceAs(l);
}
@Test
@@ -42,7 +42,7 @@
TestCompletionListener l = new TestCompletionListener();
view.setOnCompletionListener(l);
ShadowVideoView shadowVideoView = shadowOf(view);
- assertThat(shadowVideoView.getOnCompletionListener()).isSameAs(l);
+ assertThat(shadowVideoView.getOnCompletionListener()).isSameInstanceAs(l);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowViewGroupTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowViewGroupTest.java
index 8e6d1dd..0376b92 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowViewGroupTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowViewGroupTest.java
@@ -92,7 +92,7 @@
};
root.setLayoutAnimationListener(animationListener);
- assertThat(root.getLayoutAnimationListener()).isSameAs(animationListener);
+ assertThat(root.getLayoutAnimationListener()).isSameInstanceAs(animationListener);
}
@Test
@@ -100,7 +100,7 @@
assertThat(root.getLayoutAnimation()).isNull();
LayoutAnimationController layoutAnim = new LayoutAnimationController(context, null);
root.setLayoutAnimation(layoutAnim);
- assertThat(root.getLayoutAnimation()).isSameAs(layoutAnim);
+ assertThat(root.getLayoutAnimation()).isSameInstanceAs(layoutAnim);
}
@Test
@@ -108,8 +108,8 @@
root.removeViewAt(1);
assertThat(root.getChildCount()).isEqualTo(2);
- assertThat(root.getChildAt(0)).isSameAs(child1);
- assertThat(root.getChildAt(1)).isSameAs((View) child3);
+ assertThat(root.getChildAt(0)).isSameInstanceAs(child1);
+ assertThat(root.getChildAt(1)).isSameInstanceAs((View) child3);
assertThat(child2.getParent()).isNull();
}
@@ -120,9 +120,9 @@
root.addView(child1);
root.addView(child2);
root.addView(child3, 1);
- assertThat(root.getChildAt(0)).isSameAs(child1);
- assertThat(root.getChildAt(1)).isSameAs((View) child3);
- assertThat(root.getChildAt(2)).isSameAs(child2);
+ assertThat(root.getChildAt(0)).isSameInstanceAs(child1);
+ assertThat(root.getChildAt(1)).isSameInstanceAs((View) child3);
+ assertThat(root.getChildAt(2)).isSameInstanceAs(child2);
}
@Test
@@ -134,9 +134,9 @@
root.addView(child1);
root.addView(child2);
root.addView(child3, 1);
- assertThat((View) root.findViewWithTag("tag1")).isSameAs(child1);
- assertThat((View) root.findViewWithTag("tag2")).isSameAs((View) child2);
- assertThat((ViewGroup) root.findViewWithTag("tag3")).isSameAs(child3);
+ assertThat((View) root.findViewWithTag("tag1")).isSameInstanceAs(child1);
+ assertThat((View) root.findViewWithTag("tag2")).isSameInstanceAs((View) child2);
+ assertThat((ViewGroup) root.findViewWithTag("tag3")).isSameInstanceAs(child3);
}
@Test
@@ -166,13 +166,13 @@
child3b.setTag("tag2");
//can find views by tag from root
- assertThat((View) root.findViewWithTag("tag1")).isSameAs(child1);
- assertThat((View) root.findViewWithTag("tag2")).isSameAs((View) child2);
- assertThat((ViewGroup) root.findViewWithTag("tag3")).isSameAs(child3);
+ assertThat((View) root.findViewWithTag("tag1")).isSameInstanceAs(child1);
+ assertThat((View) root.findViewWithTag("tag2")).isSameInstanceAs((View) child2);
+ assertThat((ViewGroup) root.findViewWithTag("tag3")).isSameInstanceAs(child3);
//can find views by tag from child3
- assertThat((View) child3.findViewWithTag("tag1")).isSameAs(child3a);
- assertThat((View) child3.findViewWithTag("tag2")).isSameAs(child3b);
+ assertThat((View) child3.findViewWithTag("tag1")).isSameInstanceAs(child3a);
+ assertThat((View) child3.findViewWithTag("tag2")).isSameInstanceAs(child3b);
}
@Test
@@ -285,8 +285,8 @@
assertThat(root.getChildCount()).isEqualTo(3);
root.removeView(child1);
assertThat(root.getChildCount()).isEqualTo(2);
- assertThat(root.getChildAt(0)).isSameAs(child2);
- assertThat(root.getChildAt(1)).isSameAs((View) child3);
+ assertThat(root.getChildAt(0)).isSameInstanceAs(child2);
+ assertThat(root.getChildAt(1)).isSameInstanceAs((View) child3);
assertThat(child1.getParent()).isNull();
}
@@ -296,7 +296,7 @@
assertNotSame(child3a.getParent(), root);
root.removeView(child3a);
assertThat(root.getChildCount()).isEqualTo(3);
- assertThat(child3a.getParent()).isSameAs((ViewParent) child3);
+ assertThat(child3a.getParent()).isSameInstanceAs((ViewParent) child3);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowViewTest.java
index 0380aae..28b8f6e 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowViewTest.java
@@ -3,6 +3,7 @@
import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -167,7 +168,7 @@
@Test
public void shouldKnowIfThisOrAncestorsAreVisible() throws Exception {
- assertThat(view.isShown()).named("view isn't considered shown unless it has a view root").isFalse();
+ assertWithMessage("view isn't considered shown unless it has a view root").that(view.isShown()).isFalse();
shadowOf(view).setMyParent(ReflectionHelpers.createNullProxy(ViewParent.class));
assertThat(view.isShown()).isTrue();
shadowOf(view).setMyParent(null);
@@ -283,7 +284,7 @@
public void shouldRecordBackgroundDrawable() {
Drawable drawable = new BitmapDrawable(BitmapFactory.decodeFile("some/fake/file"));
view.setBackgroundDrawable(drawable);
- assertThat(view.getBackground()).isSameAs(drawable);
+ assertThat(view.getBackground()).isSameInstanceAs(drawable);
assertThat(ShadowView.visualize(view)).isEqualTo("background:\nBitmap for file:some/fake/file");
}
@@ -389,13 +390,13 @@
public void shouldSetAnimation() throws Exception {
Animation anim = new TestAnimation();
view.setAnimation(anim);
- assertThat(view.getAnimation()).isSameAs(anim);
+ assertThat(view.getAnimation()).isSameInstanceAs(anim);
}
@Test
public void shouldFindViewWithTag() {
view.setTag("tagged");
- assertThat((View) view.findViewWithTag("tagged")).isSameAs(view);
+ assertThat((View) view.findViewWithTag("tagged")).isSameInstanceAs(view);
}
@Test
@@ -432,7 +433,7 @@
public void getViewTreeObserver_shouldReturnTheSameObserverFromMultipleCalls() throws Exception {
ViewTreeObserver observer = view.getViewTreeObserver();
assertThat(observer).isInstanceOf(ViewTreeObserver.class);
- assertThat(view.getViewTreeObserver()).isSameAs(observer);
+ assertThat(view.getViewTreeObserver()).isSameInstanceAs(observer);
}
@Test
@@ -440,9 +441,9 @@
TouchableView touchableView = new TouchableView(context);
MotionEvent event = MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN, 12f, 34f, 0);
touchableView.dispatchTouchEvent(event);
- assertThat(touchableView.event).isSameAs(event);
+ assertThat(touchableView.event).isSameInstanceAs(event);
view.dispatchTouchEvent(event);
- assertThat(shadowOf(view).getLastTouchEvent()).isSameAs(event);
+ assertThat(shadowOf(view).getLastTouchEvent()).isSameInstanceAs(event);
}
@Test
@@ -456,7 +457,7 @@
});
MotionEvent event = MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN, 12f, 34f, 0);
view.dispatchTouchEvent(event);
- assertThat(shadowOf(view).getLastTouchEvent()).isSameAs(event);
+ assertThat(shadowOf(view).getLastTouchEvent()).isSameInstanceAs(event);
assertThat(called.get()).isTrue();
}
@@ -850,7 +851,7 @@
WindowId windowId = parent.getWindowId();
assertThat(windowId).isNotNull();
- assertThat(child.getWindowId()).isSameAs(windowId);
+ assertThat(child.getWindowId()).isSameInstanceAs(windowId);
assertThat(child.getWindowId()).isEqualTo(windowId); // equals must work!
MyView anotherChild = new MyView("another child", transcript);
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowWebViewTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowWebViewTest.java
index 0f57428..259f9d3 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowWebViewTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowWebViewTest.java
@@ -84,7 +84,7 @@
assertThat(shadowOf(webView).getWebViewClient()).isNull();
webView.setWebViewClient(webViewClient);
- assertThat(shadowOf(webView).getWebViewClient()).isSameAs(webViewClient);
+ assertThat(shadowOf(webView).getWebViewClient()).isSameInstanceAs(webViewClient);
}
@Test
@@ -92,7 +92,7 @@
WebChromeClient webChromeClient = new WebChromeClient();
assertThat(shadowOf(webView).getWebChromeClient()).isNull();
webView.setWebChromeClient(webChromeClient);
- assertThat(shadowOf(webView).getWebChromeClient()).isSameAs(webChromeClient);
+ assertThat(shadowOf(webView).getWebChromeClient()).isSameInstanceAs(webChromeClient);
}
@Test
@@ -102,7 +102,7 @@
Object obj = new Object();
assertThat(shadowOf(webView).getJavascriptInterface(name)).isNull();
webView.addJavascriptInterface(obj, name);
- assertThat(shadowOf(webView).getJavascriptInterface(name)).isSameAs(obj);
+ assertThat(shadowOf(webView).getJavascriptInterface(name)).isSameInstanceAs(obj);
}
}
@@ -242,7 +242,7 @@
assertThat(webView.getLayoutParams()).isNull();
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
webView.setLayoutParams(params);
- assertThat(webView.getLayoutParams()).isSameAs(params);
+ assertThat(webView.getLayoutParams()).isSameInstanceAs(params);
}
@Test
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowWifiManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowWifiManagerTest.java
index 5b03f59..05ad99c 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowWifiManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowWifiManagerTest.java
@@ -46,7 +46,7 @@
public void setWifiInfo_shouldUpdateWifiInfo() {
WifiInfo wifiInfo = new WifiInfo();
shadowOf(wifiManager).setConnectionInfo(wifiInfo);
- assertThat(wifiManager.getConnectionInfo()).isSameAs(wifiInfo);
+ assertThat(wifiManager.getConnectionInfo()).isSameInstanceAs(wifiInfo);
}
@Test
@@ -144,14 +144,14 @@
public void shouldReturnSetScanResults() throws Exception {
List<ScanResult> scanResults = new ArrayList<>();
shadowOf(wifiManager).setScanResults(scanResults);
- assertThat(wifiManager.getScanResults()).isSameAs(scanResults);
+ assertThat(wifiManager.getScanResults()).isSameInstanceAs(scanResults);
}
@Test
public void shouldReturnDhcpInfo() {
DhcpInfo dhcpInfo = new DhcpInfo();
shadowOf(wifiManager).setDhcpInfo(dhcpInfo);
- assertThat(wifiManager.getDhcpInfo()).isSameAs(dhcpInfo);
+ assertThat(wifiManager.getDhcpInfo()).isSameInstanceAs(dhcpInfo);
}
@Test
@@ -160,7 +160,7 @@
wifiConfiguration.networkId = -1;
int networkId = wifiManager.addNetwork(wifiConfiguration);
assertThat(networkId).isEqualTo(0);
- assertThat(wifiManager.getConfiguredNetworks().get(0)).isNotSameAs(wifiConfiguration);
+ assertThat(wifiManager.getConfiguredNetworks().get(0)).isNotSameInstanceAs(wifiConfiguration);
assertThat(wifiConfiguration.networkId).isEqualTo(-1);
assertThat(wifiManager.getConfiguredNetworks().get(0).networkId).isEqualTo(0);
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowWindowManagerImplTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowWindowManagerImplTest.java
index bf9dcbd..46ddef7 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowWindowManagerImplTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowWindowManagerImplTest.java
@@ -55,7 +55,7 @@
List<View> views = ((ShadowWindowManagerImpl) shadowOf(windowManager)).getViews();
assertThat(views).hasSize(1);
- assertThat(views.get(0)).isSameAs(view);
+ assertThat(views.get(0)).isSameInstanceAs(view);
}
@Test
diff --git a/run_robolectric_module_tests.mk b/run_robolectric_module_tests.mk
index 8bb5edf..6cb0a24 100644
--- a/run_robolectric_module_tests.mk
+++ b/run_robolectric_module_tests.mk
@@ -35,7 +35,7 @@
endif
# Define rules that copy android-all jars to the intermediates folder.
-local_android_all_source_jar := $(call intermediates-dir-for, JAVA_LIBRARIES, robolectric_android-all-stub, , COMMON)/classes.jar
+local_android_all_source_jar := $(call java-lib-files,robolectric-host-android_all,HOST)
android_all_source_dir := prebuilts/misc/common/robolectric/android-all
android_all_target_dir := $(intermediates)/android-all
copy_android_all_jar_pairs := \
@@ -52,7 +52,8 @@
$(android_all_source_dir)/android-all-8.1.0-robolectric-4611349.jar:$(android_all_target_dir)/android-all-8.1.0-robolectric-4611349.jar \
$(android_all_source_dir)/android-all-9-robolectric-4913185-2.jar:$(android_all_target_dir)/android-all-9-robolectric-4913185-2.jar \
$(android_all_source_dir)/android-all-9plus-robolectric-5616371.jar:$(android_all_target_dir)/android-all-9plus-robolectric-5616371.jar \
- $(local_android_all_source_jar):$(android_all_target_dir)/android-all-R-robolectric-r0.jar
+ $(android_all_source_dir)/android-all-R-beta2-robolectric-6625208.jar:$(android_all_target_dir)/android-all-R-beta2-robolectric-6625208.jar \
+ $(local_android_all_source_jar):$(android_all_target_dir)/android-all-S-robolectric-r0.jar
copy_android_all_jars := $(call copy-many-files, $(copy_android_all_jar_pairs))
# If debugging the tests was requested, set up the JVM parameters to enable it.
diff --git a/run_robotests.mk b/run_robotests.mk
index 8e70760..e69eb1c 100644
--- a/run_robotests.mk
+++ b/run_robotests.mk
@@ -105,6 +105,7 @@
# The jars needed to run the tests.
my_jars := \
$(my_robolectric_jars) \
+ $(call java-lib-files,robolectric-host-android_all,HOST) \
$(call java-lib-files,junitxml) \
$(my_srcs_jars)
@@ -116,7 +117,7 @@
my_filename_stem := test
# Define rules that copy android-all jars to the intermediates folder.
- local_android_all_source_jar := $(call intermediates-dir-for, JAVA_LIBRARIES, robolectric_android-all-stub,,COMMON)/classes.jar
+ local_android_all_source_jar := $(call java-lib-files,robolectric-host-android_all,HOST)
android_all_lib_path := prebuilts/misc/common/robolectric/android-all
my_robolectric_path := $(intermediates.COMMON)/android-all
copy_android_all_jar_pairs := \
@@ -133,7 +134,8 @@
$(android_all_lib_path)/android-all-8.1.0-robolectric-4611349.jar:$(my_robolectric_path)/android-all-8.1.0-robolectric-4611349.jar \
$(android_all_lib_path)/android-all-9-robolectric-4913185-2.jar:$(my_robolectric_path)/android-all-9-robolectric-4913185-2.jar \
$(android_all_lib_path)/android-all-10-robolectric-5803371.jar:$(my_robolectric_path)/android-all-10-robolectric-5803371.jar \
- $(local_android_all_source_jar):$(my_robolectric_path)/android-all-R-robolectric-r0.jar
+ $(android_all_lib_path)/android-all-R-beta2-robolectric-6625208.jar:$(my_robolectric_path)/android-all-R-beta2-robolectric-6625208.jar \
+ $(local_android_all_source_jar):$(my_robolectric_path)/android-all-S-robolectric-r0.jar
copy_android_all_jars := $(call copy-many-files, $(copy_android_all_jar_pairs))
$(my_target): $(copy_android_all_jars)
diff --git a/sandbox/Android.bp b/sandbox/Android.bp
index 8664c45..cad5fd5 100644
--- a/sandbox/Android.bp
+++ b/sandbox/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric sandbox
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_sandbox",
srcs: ["src/main/java/**/*.java"],
diff --git a/sandbox/Android.mk b/sandbox/Android.mk
index 41c1d13..360672c 100644
--- a/sandbox/Android.mk
+++ b/sandbox/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_sandbox_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/sandbox/src/test/java/org/robolectric/ShadowingTest.java b/sandbox/src/test/java/org/robolectric/ShadowingTest.java
index 2760f5f..6d22100 100644
--- a/sandbox/src/test/java/org/robolectric/ShadowingTest.java
+++ b/sandbox/src/test/java/org/robolectric/ShadowingTest.java
@@ -30,7 +30,7 @@
Object arg = mock(Object.class);
AccountManager.get(arg);
assertThat(ShadowAccountManagerForTests.wasCalled).isTrue();
- assertThat(ShadowAccountManagerForTests.arg).isSameAs(arg);
+ assertThat(ShadowAccountManagerForTests.arg).isSameInstanceAs(arg);
}
@Implements(AccountManager.class)
diff --git a/sandbox/src/test/java/org/robolectric/ThreadSafetyTest.java b/sandbox/src/test/java/org/robolectric/ThreadSafetyTest.java
index eb20d40..d09b308 100644
--- a/sandbox/src/test/java/org/robolectric/ThreadSafetyTest.java
+++ b/sandbox/src/test/java/org/robolectric/ThreadSafetyTest.java
@@ -28,7 +28,7 @@
instrumentedThread.join();
Object shadowFromOtherThread = field.get(instrumentedThread);
- assertThat(shadowFromThisThread).isSameAs(shadowFromOtherThread);
+ assertThat(shadowFromThisThread).isSameInstanceAs(shadowFromOtherThread);
}
}
diff --git a/sandbox/src/test/java/org/robolectric/internal/bytecode/ProxyMakerTest.java b/sandbox/src/test/java/org/robolectric/internal/bytecode/ProxyMakerTest.java
index 1408f1b..ee74506 100644
--- a/sandbox/src/test/java/org/robolectric/internal/bytecode/ProxyMakerTest.java
+++ b/sandbox/src/test/java/org/robolectric/internal/bytecode/ProxyMakerTest.java
@@ -23,7 +23,7 @@
Thing mock = mock(Thing.class);
Thing proxy = maker.createProxyFactory(Thing.class).createProxy(Thing.class, mock);
- assertThat(proxy.getClass()).isNotSameAs(Thing.class);
+ assertThat(proxy.getClass()).isNotSameInstanceAs(Thing.class);
proxy.returnNothing();
verify(mock).returnNothing();
@@ -45,7 +45,7 @@
Thing proxy1 = maker.createProxy(Thing.class, thing1);
Thing proxy2 = maker.createProxy(Thing.class, thing2);
- assertThat(proxy1.getClass()).isSameAs(proxy2.getClass());
+ assertThat(proxy1.getClass()).isSameInstanceAs(proxy2.getClass());
}
public static class Thing {
diff --git a/shadowapi/Android.bp b/shadowapi/Android.bp
index c918180..ad3841e 100644
--- a/shadowapi/Android.bp
+++ b/shadowapi/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadowapi
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadowapi",
libs: ["jsr305"],
diff --git a/shadowapi/Android.mk b/shadowapi/Android.mk
index fd9d746..97baf69 100644
--- a/shadowapi/Android.mk
+++ b/shadowapi/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_shadowapi_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/shadowapi/src/test/java/org/robolectric/util/ReflectionHelpersTest.java b/shadowapi/src/test/java/org/robolectric/util/ReflectionHelpersTest.java
index 9c3afc4..40c007f 100644
--- a/shadowapi/src/test/java/org/robolectric/util/ReflectionHelpersTest.java
+++ b/shadowapi/src/test/java/org/robolectric/util/ReflectionHelpersTest.java
@@ -1,6 +1,7 @@
package org.robolectric.util;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.fail;
import java.lang.reflect.Field;
@@ -88,8 +89,8 @@
int startingValue = ReflectionHelpers.getStaticField(field);
ReflectionHelpers.setStaticField(field, 7);
- assertThat(startingValue).named("startingValue").isEqualTo(6);
- assertThat(ExampleDescendant.DESCENDANT).named("DESCENDENT").isEqualTo(7);
+ assertWithMessage("startingValue").that(startingValue).isEqualTo(6);
+ assertWithMessage("DESCENDENT").that(ExampleDescendant.DESCENDANT).isEqualTo(7);
/// Reset the value to avoid test pollution
ReflectionHelpers.setStaticField(field, startingValue);
@@ -100,8 +101,8 @@
int startingValue = ReflectionHelpers.getStaticField(ExampleDescendant.class, "DESCENDANT");
ReflectionHelpers.setStaticField(ExampleDescendant.class, "DESCENDANT", 7);
- assertThat(startingValue).named("startingValue").isEqualTo(6);
- assertThat(ExampleDescendant.DESCENDANT).named("DESCENDENT").isEqualTo(7);
+ assertWithMessage("startingValue").that(startingValue).isEqualTo(6);
+ assertWithMessage("DESCENDENT").that(ExampleDescendant.DESCENDANT).isEqualTo(7);
// Reset the value to avoid test pollution
ReflectionHelpers.setStaticField(ExampleDescendant.class, "DESCENDANT", startingValue);
@@ -257,8 +258,8 @@
@Test
public void callConstructorReflectively_whenMultipleSignaturesExistForTheConstructor_callsConstructorWithCorrectSignature() {
ExampleClass ec = ReflectionHelpers.callConstructor(ExampleClass.class, ClassParameter.from(int.class, 16));
- assertThat(ec.index).named("index").isEqualTo(16);
- assertThat(ec.name).named("name").isNull();
+ assertWithMessage("index").that(ec.index).isEqualTo(16);
+ assertWithMessage("name").that(ec.name).isNull();
}
@SuppressWarnings("serial")
diff --git a/shadows/androidx/fragment/Android.bp b/shadows/androidx/fragment/Android.bp
index 160cbe8..fccd672 100644
--- a/shadows/androidx/fragment/Android.bp
+++ b/shadows/androidx/fragment/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadows androidx fragment #
//###############################################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadows_androidx_fragment",
static_libs: [
diff --git a/shadows/androidx/fragment/Android.mk b/shadows/androidx/fragment/Android.mk
index 6de68e9..6b538e3 100644
--- a/shadows/androidx/fragment/Android.mk
+++ b/shadows/androidx/fragment/Android.mk
@@ -22,6 +22,9 @@
LOCAL_PROGUARD_ENABLED := disabled
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../LICENSE
include $(BUILD_PACKAGE)
################################################################
@@ -30,6 +33,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Robolectric_shadows_androidx_fragment_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../LICENSE
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_SRC_FILES := $(call all-java-files-under, src/test/java)
@@ -58,6 +64,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_shadows_androidx_fragment_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../LICENSE
LOCAL_JAVA_LIBRARIES := \
Robolectric_shadows_androidx_fragment_tests \
diff --git a/shadows/framework/Android.bp b/shadows/framework/Android.bp
index 55ebfe1..28a7108 100644
--- a/shadows/framework/Android.bp
+++ b/shadows/framework/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadows framework
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadows_framework",
libs: [
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java
index 64ac51e..4a81b00 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java
@@ -210,7 +210,7 @@
ReflectionHelpers.ClassParameter.from(
ViewRootImpl.ActivityConfigCallback.class, null) // ADDED
);
- } else if (apiLevel >= Build.VERSION_CODES.Q) {
+ } else if (apiLevel <= Build.VERSION_CODES.R) {
ReflectionHelpers.callInstanceMethod(
Activity.class,
realActivity,
@@ -237,6 +237,34 @@
ViewRootImpl.ActivityConfigCallback.class, null),
ReflectionHelpers.ClassParameter.from(IBinder.class, null) // ADDED
);
+ } else if (apiLevel >= Build.VERSION_CODES.S) {
+ ReflectionHelpers.callInstanceMethod(
+ Activity.class,
+ realActivity,
+ "attach",
+ ReflectionHelpers.ClassParameter.from(Context.class, baseContext),
+ ReflectionHelpers.ClassParameter.from(
+ ActivityThread.class, RuntimeEnvironment.getActivityThread()),
+ ReflectionHelpers.ClassParameter.from(Instrumentation.class, instrumentation),
+ ReflectionHelpers.ClassParameter.from(IBinder.class, null),
+ ReflectionHelpers.ClassParameter.from(int.class, 0),
+ ReflectionHelpers.ClassParameter.from(Application.class, application),
+ ReflectionHelpers.ClassParameter.from(Intent.class, intent),
+ ReflectionHelpers.ClassParameter.from(ActivityInfo.class, activityInfo),
+ ReflectionHelpers.ClassParameter.from(CharSequence.class, activityTitle),
+ ReflectionHelpers.ClassParameter.from(Activity.class, null),
+ ReflectionHelpers.ClassParameter.from(String.class, "id"),
+ ReflectionHelpers.ClassParameter.from(nonConfigurationInstancesClass, null),
+ ReflectionHelpers.ClassParameter.from(
+ Configuration.class, application.getResources().getConfiguration()),
+ ReflectionHelpers.ClassParameter.from(String.class, "referrer"),
+ ReflectionHelpers.ClassParameter.from(IVoiceInteractor.class, null),
+ ReflectionHelpers.ClassParameter.from(Window.class, null),
+ ReflectionHelpers.ClassParameter.from(
+ ViewRootImpl.ActivityConfigCallback.class, null),
+ ReflectionHelpers.ClassParameter.from(IBinder.class, null), // ADDED
+ ReflectionHelpers.ClassParameter.from(IBinder.class, null) // ADDED
+ );
} else {
throw new RuntimeException("Could not find AndroidRuntimeAdapter for API level: " + apiLevel);
}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivityClient.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivityClient.java
new file mode 100644
index 0000000..02684bb
--- /dev/null
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivityClient.java
@@ -0,0 +1,21 @@
+// BEGIN-INTERNAL
+
+package org.robolectric.shadows;
+
+import static android.os.Build.VERSION_CODES.S;
+
+import android.app.ActivityClient;
+import android.app.IActivityClientController;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.util.ReflectionHelpers;
+
+@Implements(value = ActivityClient.class, minSdk = S, isInAndroidSdk = false)
+public class ShadowActivityClient {
+ @Implementation
+ protected static IActivityClientController getActivityClientController() {
+ return (IActivityClientController) ReflectionHelpers.createNullProxy(
+ IActivityClientController.class);
+ }
+}
+// END-INTERNAL
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppOpsManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppOpsManager.java
index 04a2f79..42ccbfb 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppOpsManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppOpsManager.java
@@ -142,7 +142,12 @@
return unsafeCheckOpRawNoThrow(AppOpsManager.strOpToOp(op), uid, packageName);
}
- private int unsafeCheckOpRawNoThrow(int op, int uid, String packageName) {
+ /**
+ * Returns the <em>raw</em> mode associated with the op.
+ * Does not throw a security exception, does not translate {@link AppOpsManager#MODE_FOREGROUND}.
+ */
+ @Implementation(minSdk = Q)
+ protected int unsafeCheckOpRawNoThrow(int op, int uid, String packageName) {
Integer mode = appModeMap.get(getOpMapKey(uid, packageName, op));
if (mode == null) {
return AppOpsManager.MODE_ALLOWED;
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
index 118d2f6..82cc3ff 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
@@ -118,7 +118,7 @@
private Context context;
- @Implementation(maxSdk = Q)
+ @Implementation
protected void __constructor__(Object contextImpl, Object pm) {
try {
invokeConstructor(
@@ -133,7 +133,7 @@
}
// BEGIN-INTERNAL
- @Implementation(minSdk = R)
+ @Implementation(minSdk = R, maxSdk = R)
protected void __constructor__(
Object contextImpl, Object packageManager, Object permissionManager) {
try {
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscApkAssets9.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscApkAssets9.java
index 2b9be09..80a8439 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscApkAssets9.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowArscApkAssets9.java
@@ -120,6 +120,13 @@
ApkAssets call();
}
+ // BEGIN-INTERNAL
+ // Overwrite ApkAssets.java to prevent clearing out the apk assets
+ @Implementation(minSdk = Build.VERSION_CODES.S)
+ protected void close() {
+ }
+ // END-INTERNAL
+
private static ApkAssets getFromCacheOrLoad(Key key, ApkAssetMaker callable) {
synchronized (cachedApkAssets) {
WeakReference<ApkAssets> cachedRef = cachedApkAssets.get(key);
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java
index 6b164b8..0f0106a 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java
@@ -125,7 +125,8 @@
: null;
Point imageSize = (is instanceof NamedStream) ? null : getImageSizeFromStream(is);
Bitmap bitmap = create(name, opts, imageSize);
- bitmap.setNinePatchChunk(ninePatchChunk);
+ ReflectionHelpers.callInstanceMethod(bitmap, "setNinePatchChunk",
+ ClassParameter.from(byte[].class, ninePatchChunk));
ShadowBitmap shadowBitmap = Shadow.extract(bitmap);
shadowBitmap.createdFromStream = is;
return bitmap;
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCompatibility.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCompatibility.java
new file mode 100644
index 0000000..00f2180
--- /dev/null
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCompatibility.java
@@ -0,0 +1,17 @@
+package org.robolectric.shadows;
+
+import static android.os.Build.VERSION_CODES.S;
+
+import android.compat.Compatibility;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(value = Compatibility.class, minSdk = S)
+public class ShadowCompatibility {
+ // override to avoid calling to System.logW in the uninstrumented interface default method
+ @Implementation
+ public static boolean isChangeEnabled(long changeId) {
+ return true;
+ }
+}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java
index b5c6755..0009bd1 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java
@@ -657,6 +657,11 @@
wipeCalled++;
}
+ @Implementation
+ protected void wipeData(int flags, CharSequence reason) {
+ wipeData(flags);
+ }
+
public long getWipeCalledTimes() {
return wipeCalled;
}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLocaleData.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLocaleData.java
index b8d0da7..50f58f1 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLocaleData.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLocaleData.java
@@ -5,6 +5,7 @@
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static android.os.Build.VERSION_CODES.LOLLIPOP_MR1;
import static android.os.Build.VERSION_CODES.M;
+import static android.os.Build.VERSION_CODES.Q;
import static org.robolectric.RuntimeEnvironment.getApiLevel;
import java.util.Locale;
@@ -47,7 +48,6 @@
localeData.tinyWeekdayNames = new String[]{"", "S", "M", "T", "W", "T", "F", "S"};
localeData.tinyStandAloneWeekdayNames = localeData.tinyWeekdayNames;
- localeData.yesterday = "Yesterday";
localeData.today = "Today";
localeData.tomorrow = "Tomorrow";
}
@@ -114,8 +114,12 @@
localeData.infinity = "\u221E";
localeData.NaN = "NaN";
- localeData.currencySymbol = "$";
- localeData.internationalCurrencySymbol = "USD";
+ // These fields are removed in Android R or later
+ if (getApiLevel() <= Q) {
+ ReflectionHelpers.setField(localeData, "currencySymbol", "$");
+ ReflectionHelpers.setField(localeData, "internationalCurrencySymbol", "USD");
+ ReflectionHelpers.setField(localeData, "yesterday", "Yesterday");
+ }
localeData.numberPattern = "\u0023,\u0023\u00230.\u0023\u0023\u0023";
localeData.integerPattern = "\u0023,\u0023\u00230";
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionChecker.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionChecker.java
new file mode 100644
index 0000000..b778651
--- /dev/null
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionChecker.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2021 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 org.robolectric.shadows;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.AttributionSource;
+import android.content.Context;
+import android.content.PermissionChecker;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/** Shadow class of {@link PermissionChecker}. */
+@Implements(PermissionChecker.class)
+public class ShadowPermissionChecker {
+
+ private static final Map<String, Map<String, Integer>> RESULTS = new HashMap<>();
+
+ /** Set the result of permission check for a specific permission. */
+ public static void setResult(String packageName, String permission, int result) {
+ if (!RESULTS.containsKey(packageName)) {
+ RESULTS.put(packageName, new HashMap<>());
+ }
+ RESULTS.get(packageName).put(permission, result);
+ }
+
+ /** Check the permission of calling package. */
+ @Implementation
+ public static int checkCallingPermissionForDataDelivery(
+ Context context,
+ String permission,
+ String packageName,
+ String attributionTag,
+ String message) {
+ return RESULTS.containsKey(packageName) && RESULTS.get(packageName).containsKey(permission)
+ ? RESULTS.get(packageName).get(permission)
+ : PermissionChecker.checkCallingPermissionForDataDelivery(
+ context, permission, packageName, attributionTag, message);
+ }
+
+ /** Check general permission. */
+ @Implementation
+ public static int checkPermissionForDataDelivery(
+ Context context,
+ String permission,
+ int pid,
+ int uid,
+ String packageName,
+ String attributionTag,
+ String message) {
+ return RESULTS.containsKey(packageName) && RESULTS.get(packageName).containsKey(permission)
+ ? RESULTS.get(packageName).get(permission)
+ : PermissionChecker.checkPermissionForDataDelivery(
+ context, permission, pid, uid, packageName, attributionTag, message);
+ }
+
+ /** Check general permission. */
+ @Implementation
+ public static int checkPermissionForPreflight(@NonNull Context context,
+ @NonNull String permission, int pid, int uid, @Nullable String packageName) {
+ return checkPermissionForPreflight(context, permission, new AttributionSource(
+ uid, packageName, null /*attributionTag*/));
+ }
+
+ /** Check general permission. */
+ @Implementation
+ public static int checkPermissionForPreflight(@NonNull Context context,
+ @NonNull String permission, @NonNull AttributionSource attributionSource) {
+ final String packageName = attributionSource.getPackageName();
+ return RESULTS.containsKey(packageName) && RESULTS.get(packageName).containsKey(permission)
+ ? RESULTS.get(packageName).get(permission)
+ : PermissionChecker.checkPermissionForPreflight(
+ context, permission, attributionSource);
+ }
+}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionManager.java
new file mode 100644
index 0000000..948965f
--- /dev/null
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPermissionManager.java
@@ -0,0 +1,22 @@
+// BEGIN-INTERNAL
+
+package org.robolectric.shadows;
+
+import static android.os.Build.VERSION_CODES.S;
+
+import android.permission.PermissionManager;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.Collections;
+import java.util.List;
+
+@Implements(value = PermissionManager.class, minSdk = S, isInAndroidSdk = false)
+public class ShadowPermissionManager {
+ @Implementation
+ public List<PermissionManager.SplitPermissionInfo> getSplitPermissions() {
+ return Collections.emptyList();
+ }
+}
+// END-INTERNAL
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowServiceManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowServiceManager.java
index d7dae9b..3c4afda 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowServiceManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowServiceManager.java
@@ -10,6 +10,7 @@
import static android.os.Build.VERSION_CODES.P;
import static android.os.Build.VERSION_CODES.Q;
import static android.os.Build.VERSION_CODES.R;
+import static android.os.Build.VERSION_CODES.S;
import android.accounts.IAccountManager;
import android.app.IAlarmManager;
@@ -17,7 +18,6 @@
import android.app.ISearchManager;
import android.app.admin.IDevicePolicyManager;
import android.app.job.IJobScheduler;
-import android.app.role.IRoleManager;
import android.app.slice.ISliceManager;
import android.app.trust.ITrustManager;
import android.app.usage.IUsageStatsManager;
@@ -38,6 +38,7 @@
import android.net.IConnectivityManager;
import android.net.INetworkScoreService;
import android.net.ITetheringConnector;
+import android.net.IVpnManager;
import android.net.nsd.INsdManager;
import android.net.wifi.IWifiManager;
import android.net.wifi.p2p.IWifiP2pManager;
@@ -52,6 +53,7 @@
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.storage.IStorageManager;
+import android.permission.IPermissionManager;
import android.service.persistentdata.IPersistentDataBlockService;
import com.android.internal.app.IAppOpsService;
@@ -205,8 +207,6 @@
createBinder(INotificationManager.class, "android.app.INotificationManager"));
map.put(Context.COLOR_DISPLAY_SERVICE, createBinder(IColorDisplayManager.class,
"android.hardware.display.ColorDisplayManager"));
- map.put(Context.ROLE_SERVICE,
- createBinder(IRoleManager.class, "android.app.role.IRoleManager"));
}
if (RuntimeEnvironment.getApiLevel() >= R) {
map.put(Context.TETHERING_SERVICE,
@@ -214,6 +214,12 @@
map.put(Context.THERMAL_SERVICE,
createBinder(IThermalService.class, "android.os.IThermalService"));
}
+ if (RuntimeEnvironment.getApiLevel() >= S) {
+ map.put("permissionmgr",
+ createBinder(IPermissionManager.class, "android.permission.IPermissionManager"));
+ map.put(Context.VPN_MANAGEMENT_SERVICE,
+ createBinder(IVpnManager.class, "android.net.IVpnManager"));
+ }
// END-INTERNAL
SERVICES = Collections.unmodifiableMap(map);
}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSystemVibrator.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSystemVibrator.java
index 15002b4..b704501 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSystemVibrator.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSystemVibrator.java
@@ -7,6 +7,7 @@
import static android.os.Build.VERSION_CODES.N_MR1;
import static android.os.Build.VERSION_CODES.O;
import static android.os.Build.VERSION_CODES.P;
+import static android.os.Build.VERSION_CODES.S;
import android.media.AudioAttributes;
import android.os.Build.VERSION_CODES;
@@ -14,11 +15,15 @@
import android.os.Looper;
import android.os.SystemVibrator;
import android.os.VibrationEffect;
+import android.os.vibrator.VibrationEffectSegment;
+
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.util.ReflectionHelpers;
+import java.util.Arrays;
+
@Implements(value = SystemVibrator.class, isInAndroidSdk = false)
public class ShadowSystemVibrator extends ShadowVibrator {
@@ -72,24 +77,36 @@
@Implementation(minSdk = VERSION_CODES.CUR_DEVELOPMENT)
protected void vibrate(int uid, String opPkg, VibrationEffect effect,
- String reason, AudioAttributes attributes) {
- if (effect instanceof VibrationEffect.Waveform) {
- VibrationEffect.Waveform waveform = (VibrationEffect.Waveform) effect;
- recordVibratePattern(waveform.getTimings(), waveform.getRepeatIndex());
-
+ String reason, AudioAttributes attributes) {
+ long duration;
+ if (RuntimeEnvironment.getApiLevel() >= P) {
+ duration = effect.getDuration();
} else {
- VibrationEffect.OneShot oneShot = (VibrationEffect.OneShot) effect;
-
- long timing;
-
- if (RuntimeEnvironment.getApiLevel() >= P) {
- timing = oneShot.getDuration();
- } else {
- timing = ReflectionHelpers.callInstanceMethod(oneShot, "getTiming");
- }
-
- recordVibrate(timing);
+ duration = ReflectionHelpers.callInstanceMethod(effect, "getTiming");
}
+
+ if (RuntimeEnvironment.getApiLevel() >= S) {
+ long[] pattern = ((VibrationEffect.Composed) effect).getSegments().stream()
+ .mapToLong(VibrationEffectSegment::getDuration)
+ .toArray();
+ int repeatIndex = ((VibrationEffect.Composed) effect).getRepeatIndex();
+ recordVibratePattern(duration, pattern, repeatIndex);
+ return;
+ }
+
+ if (RuntimeEnvironment.getApiLevel() >= O) {
+ try {
+ // Try to extract fields from VibrationEffect.Waveform.
+ long[] pattern = ReflectionHelpers.callInstanceMethod(effect, "getTimings");
+ int repeatIndex = ReflectionHelpers.callInstanceMethod(effect, "getRepeatIndex");
+ recordVibratePattern(pattern, repeatIndex);
+ return;
+ } catch (RuntimeException e) {
+ // Not a VibrationEffect.Waveform, fallback to generic effect.
+ }
+ }
+
+ recordVibrate(duration);
}
private void recordVibrate(long milliseconds) {
@@ -100,16 +117,18 @@
}
private void recordVibratePattern(long[] pattern, int repeat) {
+ long duration = repeat < 0 ? Arrays.stream(pattern).sum() : Long.MAX_VALUE;
+ recordVibratePattern(duration, pattern, repeat);
+ }
+
+ private void recordVibratePattern(long milliseconds, long[] pattern, int repeat) {
vibrating = true;
+ this.milliseconds = milliseconds;
this.pattern = pattern;
this.repeat = repeat;
handler.removeCallbacks(stopVibratingRunnable);
- if (repeat < 0) {
- long endDelayMillis = 0;
- for (long t : pattern) {
- endDelayMillis += t;
- }
- handler.postDelayed(stopVibratingRunnable, endDelayMillis);
+ if (milliseconds < Long.MAX_VALUE) {
+ handler.postDelayed(stopVibratingRunnable, milliseconds);
}
}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderQ.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderQ.java
index 761a39b..94c20c3 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderQ.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderQ.java
@@ -2,30 +2,40 @@
package org.robolectric.shadows;
import static android.os.Build.VERSION_CODES.Q;
+import static android.os.Build.VERSION_CODES.R;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import libcore.timezone.TimeZoneFinder;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
+import org.robolectric.util.ReflectionHelpers;
+import org.robolectric.util.ReflectionHelpers.ClassParameter;
-/** Shadow for TimeZoneFinder on Q or above. */
+/** Shadow for TimeZoneFinder on Q,R. */
@Implements(
- value = TimeZoneFinder.class,
+ className = "libcore.timezone.TimeZoneFinder",
minSdk = Q,
+ maxSdk = R,
isInAndroidSdk = false,
looseSignatures = true)
public class ShadowTimeZoneFinderQ {
private static final String TZLOOKUP_PATH = "/usr/share/zoneinfo/tzlookup.xml";
- @Implementation
- protected static Object getInstance() {
- return TimeZoneFinder.createInstanceForTests(readTzlookup());
- }
+ @Implementation
+ protected static Object getInstance() {
+ try {
+ return ReflectionHelpers.callStaticMethod(
+ Class.forName("libcore.timezone.TimeZoneFinder"),
+ "createInstanceForTests",
+ ClassParameter.from(String.class, readTzlookup()));
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
/**
* Reads tzlookup.xml from the files bundled inside android-all JARs. We need to read the file
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderS.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderS.java
new file mode 100644
index 0000000..4a6e680
--- /dev/null
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTimeZoneFinderS.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2020 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.
+ */
+
+// BEGIN-INTERNAL
+package org.robolectric.shadows;
+
+import static android.os.Build.VERSION_CODES.S;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import com.android.i18n.timezone.TimeZoneFinder;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+/** Shadow for TimeZoneFinder on S or above. */
+@Implements(
+ value = TimeZoneFinder.class,
+ minSdk = S,
+ isInAndroidSdk = false,
+ looseSignatures = true)
+public class ShadowTimeZoneFinderS {
+
+ private static final String TZLOOKUP_PATH = "/usr/share/zoneinfo/tzlookup.xml";
+
+ @Implementation
+ protected static Object getInstance() {
+ return TimeZoneFinder.createInstanceForTests(readTzlookup());
+ }
+
+ /**
+ * Reads tzlookup.xml from the files bundled inside android-all JARs. We need to read the file
+ * instead of passing in the path because the real implementation uses {@link java.nio.file.Paths}
+ * which doesn't support reading from JARs.
+ */
+ private static String readTzlookup() {
+ StringBuilder stringBuilder = new StringBuilder();
+ InputStream is = null;
+ try {
+ try {
+ is = ShadowTimeZoneFinder.class.getResourceAsStream(TZLOOKUP_PATH);
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, UTF_8));
+ for (String line; (line = reader.readLine()) != null; ) {
+ stringBuilder.append(line);
+ }
+ } finally {
+ if (is != null) {
+ is.close();
+ }
+ }
+ } catch (IOException e) {
+ // ignore
+ }
+
+ return stringBuilder.toString();
+ }
+}
+// END-INTERNAL
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowToast.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowToast.java
index f560eb9..d31408f 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowToast.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowToast.java
@@ -1,9 +1,11 @@
package org.robolectric.shadows;
import android.content.Context;
+import android.os.Looper;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
+
import java.util.List;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation;
@@ -27,6 +29,11 @@
@Implementation
protected void __constructor__(Context context) {}
+ // BEGIN-INTERNAL
+ @Implementation
+ protected void __constructor__(Context context, Looper looper) {}
+ // END-INTERNAL
+
@Implementation
protected static Toast makeText(Context context, int resId, int duration) {
return makeText(context, context.getResources().getString(resId), duration);
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTypeface.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTypeface.java
index 343f030..e344b5b 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTypeface.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTypeface.java
@@ -5,6 +5,7 @@
import static android.os.Build.VERSION_CODES.O;
import static android.os.Build.VERSION_CODES.O_MR1;
import static android.os.Build.VERSION_CODES.P;
+import static android.os.Build.VERSION_CODES.S;
import static org.robolectric.RuntimeEnvironment.getApiLevel;
import android.annotation.SuppressLint;
@@ -131,6 +132,13 @@
}
// BEGIN-INTERNAL
+ @Implementation(minSdk = S)
+ public static Typeface defaultFromStyle(int style) {
+ return createUnderlyingTypeface(/* familyName= */ null, style);
+ }
+ // END-INTERNAL
+
+ // BEGIN-INTERNAL
@HiddenApi
@Implementation(minSdk = android.os.Build.VERSION_CODES.Q)
public static void initSystemDefaultTypefaces(Object systemFontMap,
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java
index 3223c3c..44996fa 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java
@@ -119,6 +119,11 @@
return ImmutableList.copyOf(userProfiles.keySet());
}
+ @Implementation
+ public List<UserHandle> getAllProfiles() {
+ return getUserProfiles();
+ }
+
/**
* If any profiles have been added using {@link #addProfile}, return those profiles.
*
@@ -260,6 +265,12 @@
bundle.putBoolean(restrictionKey, value);
}
+ @Implementation(minSdk = JELLY_BEAN_MR2)
+ protected void setUserRestriction(String key, boolean value) {
+ Bundle bundle = getUserRestrictionsForUser(Process.myUserHandle());
+ bundle.putBoolean(key, value);
+ }
+
/**
* Removes all user restrictions set of a user identified by {@code userHandle}.
*/
@@ -619,4 +630,4 @@
userPidMap.put(UserHandle.USER_SYSTEM, Process.myUid());
}
}
-}
\ No newline at end of file
+}
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowViewRootImpl.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowViewRootImpl.java
index 964cdda..c42e507 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowViewRootImpl.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowViewRootImpl.java
@@ -13,6 +13,7 @@
import android.view.IWindowSession;
import android.view.ViewRootImpl;
import android.view.WindowManager;
+import android.window.ClientWindowFrames;
import java.util.ArrayList;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation;
@@ -41,6 +42,7 @@
Rect frame = new Rect();
display.getRectSize(frame);
Rect zeroSizedRect = new Rect(0, 0, 0, 0);
+ ClientWindowFrames clientWindowFrame = new ClientWindowFrames();
int apiLevel = RuntimeEnvironment.getApiLevel();
ViewRootImpl component = realObject;
@@ -116,7 +118,7 @@
ClassParameter.from(boolean.class, false),
ClassParameter.from(boolean.class, false),
ClassParameter.from(int.class, 0));
- } else if (apiLevel <= Build.VERSION_CODES.P) {
+ } else if (apiLevel <= Build.VERSION_CODES.Q) {
ReflectionHelpers.callInstanceMethod(ViewRootImpl.class, component, "dispatchResized",
ClassParameter.from(Rect.class, frame),
ClassParameter.from(Rect.class, zeroSizedRect),
@@ -132,7 +134,7 @@
ClassParameter.from(int.class, 0),
ClassParameter.from(android.view.DisplayCutout.ParcelableWrapper.class,
new android.view.DisplayCutout.ParcelableWrapper()));
- } else if (apiLevel >= Build.VERSION_CODES.R) {
+ } else if (apiLevel <= Build.VERSION_CODES.R) {
// BEGIN-INTERNAL
ReflectionHelpers.callInstanceMethod(ViewRootImpl.class, component, "dispatchResized",
ClassParameter.from(Rect.class, frame),
@@ -148,6 +150,16 @@
ClassParameter.from(android.view.DisplayCutout.ParcelableWrapper.class,
new android.view.DisplayCutout.ParcelableWrapper()));
// END-INTERNAL
+ } else if (apiLevel >= Build.VERSION_CODES.S) {
+ // BEGIN-INTERNAL
+ ReflectionHelpers.callInstanceMethod(ViewRootImpl.class, component, "dispatchResized",
+ ClassParameter.from(ClientWindowFrames.class, clientWindowFrame),
+ ClassParameter.from(boolean.class, true),
+ ClassParameter.from(MergedConfiguration.class, new MergedConfiguration()),
+ ClassParameter.from(boolean.class, false),
+ ClassParameter.from(boolean.class, false),
+ ClassParameter.from(int.class, 0));
+ // END-INTERNAL
} else {
throw new RuntimeException("Could not find AndroidRuntimeAdapter for API level: " + apiLevel);
}
diff --git a/shadows/httpclient/Android.bp b/shadows/httpclient/Android.bp
index 7c8bf9a..613f852 100644
--- a/shadows/httpclient/Android.bp
+++ b/shadows/httpclient/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadows httpclient
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadows_httpclient",
libs: [
diff --git a/shadows/httpclient/Android.mk b/shadows/httpclient/Android.mk
index b4c9810..bdb7cfd 100644
--- a/shadows/httpclient/Android.mk
+++ b/shadows/httpclient/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_shadows_httpclient_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/shadows/multidex/Android.bp b/shadows/multidex/Android.bp
index fe51793..ba313f8 100644
--- a/shadows/multidex/Android.bp
+++ b/shadows/multidex/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadows multidex
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadows_multidex",
libs: [
diff --git a/shadows/supportv4/Android.bp b/shadows/supportv4/Android.bp
index 4a79b4f..a1d30f8 100644
--- a/shadows/supportv4/Android.bp
+++ b/shadows/supportv4/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric shadows supportv4
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-MIT
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_shadows_supportv4",
libs: [
@@ -55,4 +64,8 @@
"jsr305",
],
libs: ["robolectric-host-android_all"],
+ // Robolectric tests do not work well with unit tests setup yet
+ test_options: {
+ unit_test: false,
+ },
}
diff --git a/shadows/supportv4/Android.mk b/shadows/supportv4/Android.mk
index 648a82a..a222218 100644
--- a/shadows/supportv4/Android.mk
+++ b/shadows/supportv4/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_shadows_supportv4_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowDrawerLayoutTest.java b/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowDrawerLayoutTest.java
index 218abf5..cad128e 100644
--- a/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowDrawerLayoutTest.java
+++ b/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowDrawerLayoutTest.java
@@ -19,7 +19,7 @@
DrawerLayout drawerLayout = new DrawerLayout(Robolectric.buildActivity(Activity.class).create().get());
DrawerLayout.DrawerListener mockDrawerListener = mock(DrawerLayout.DrawerListener.class);
drawerLayout.setDrawerListener(mockDrawerListener);
- assertThat(shadowOf(drawerLayout).getDrawerListener()).isSameAs(mockDrawerListener);
+ assertThat(shadowOf(drawerLayout).getDrawerListener()).isSameInstanceAs(mockDrawerListener);
}
private ShadowDrawerLayout shadowOf(DrawerLayout drawerLayout) {
diff --git a/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowSwipeRefreshLayoutTest.java b/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowSwipeRefreshLayoutTest.java
index 7b545d7..c567cd1 100644
--- a/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowSwipeRefreshLayoutTest.java
+++ b/shadows/supportv4/src/test/java/org/robolectric/shadows/support/v4/ShadowSwipeRefreshLayoutTest.java
@@ -21,6 +21,6 @@
final SwipeRefreshLayout layout = new SwipeRefreshLayout(RuntimeEnvironment.application);
layout.setOnRefreshListener(listener);
- assertThat(shadowOf(layout).getOnRefreshListener()).isSameAs(listener);
+ assertThat(shadowOf(layout).getOnRefreshListener()).isSameInstanceAs(listener);
}
}
diff --git a/soong/Android.bp b/soong/Android.bp
index 816cc28..954cf15 100644
--- a/soong/Android.bp
+++ b/soong/Android.bp
@@ -12,6 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
bootstrap_go_package {
name: "soong-robolectric",
pkgPath: "android/soong/robolectric",
diff --git a/soong/robolectric.go b/soong/robolectric.go
index 0ef5bd2..cadeb0f 100644
--- a/soong/robolectric.go
+++ b/soong/robolectric.go
@@ -58,7 +58,7 @@
"ro.product.model=robolectric",
"ro.hardware=robolectric",
"ro.build.version.security_patch=" + ctx.Config().PlatformSecurityPatch(),
- "ro.build.version.sdk=" + ctx.Config().PlatformSdkVersion(),
+ "ro.build.version.sdk=" + ctx.Config().PlatformSdkVersion().String(),
"ro.build.version.release=" + ctx.Config().PlatformVersionName(),
"ro.build.version.preview_sdk=" + ctx.Config().PlatformPreviewSdkVersion(),
// We don't have the API fingerprint available, just use the preview SDK version.
@@ -84,14 +84,14 @@
b.output = android.PathForModuleGen(ctx, "build.prop")
- rule := android.NewRuleBuilder()
+ rule := android.NewRuleBuilder(pctx, ctx)
rule.Command().Text("rm").Flag("-f").Output(b.output)
for _, l := range lines {
rule.Command().Text("echo").Text("'" + l + "'").Text(">>").Output(b.output)
}
- rule.Build(pctx, ctx, "build_prop", "robolectric build.prop")
+ rule.Build("build_prop", "robolectric build.prop")
}
func buildPropsFactory() android.Module {
diff --git a/utils/Android.bp b/utils/Android.bp
index dda4824..aee5d77 100644
--- a/utils/Android.bp
+++ b/utils/Android.bp
@@ -2,6 +2,15 @@
// Compile Robolectric utils
//#############################################
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric-shadows_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric-shadows_license"],
+}
+
java_library_host {
name: "Robolectric_utils",
srcs: ["src/main/java/**/*.java"],
diff --git a/utils/Android.mk b/utils/Android.mk
index 74f0111..04cd591 100644
--- a/utils/Android.mk
+++ b/utils/Android.mk
@@ -6,6 +6,9 @@
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_utils_tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
test_source_directory := $(LOCAL_PATH)/src/test/java
diff --git a/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.java b/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.java
index a58d0f4..253cae1 100644
--- a/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.java
+++ b/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.java
@@ -85,7 +85,7 @@
}
Collection<Metric> metrics = collector.getMetrics();
- assertThat(metrics).containsAllOf(
+ assertThat(metrics).containsAtLeast(
new Metric("event", 1, 10, true),
new Metric("event", 1, 5, false));
}
diff --git a/utils/src/test/java/org/robolectric/util/SchedulerTest.java b/utils/src/test/java/org/robolectric/util/SchedulerTest.java
index df3e583..172fc69 100644
--- a/utils/src/test/java/org/robolectric/util/SchedulerTest.java
+++ b/utils/src/test/java/org/robolectric/util/SchedulerTest.java
@@ -1,6 +1,7 @@
package org.robolectric.util;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.robolectric.util.Scheduler.IdleState.CONSTANT_IDLE;
import static org.robolectric.util.Scheduler.IdleState.PAUSED;
import static org.robolectric.util.Scheduler.IdleState.UNPAUSED;
@@ -53,7 +54,7 @@
public void pause_setsIdleState() {
scheduler.setIdleState(UNPAUSED);
scheduler.pause();
- assertThat(scheduler.getIdleState()).isSameAs(PAUSED);
+ assertThat(scheduler.getIdleState()).isSameInstanceAs(PAUSED);
}
@Test
@@ -61,16 +62,16 @@
public void idleConstantly_setsIdleState() {
scheduler.setIdleState(UNPAUSED);
scheduler.idleConstantly(true);
- assertThat(scheduler.getIdleState()).isSameAs(CONSTANT_IDLE);
+ assertThat(scheduler.getIdleState()).isSameInstanceAs(CONSTANT_IDLE);
scheduler.idleConstantly(false);
- assertThat(scheduler.getIdleState()).isSameAs(UNPAUSED);
+ assertThat(scheduler.getIdleState()).isSameInstanceAs(UNPAUSED);
}
@Test
public void unPause_setsIdleState() {
scheduler.setIdleState(PAUSED);
scheduler.unPause();
- assertThat(scheduler.getIdleState()).isSameAs(UNPAUSED);
+ assertThat(scheduler.getIdleState()).isSameInstanceAs(UNPAUSED);
}
@Test
@@ -82,7 +83,7 @@
final long time = scheduler.getCurrentTime();
scheduler.setIdleState(UNPAUSED);
assertThat(transcript).containsExactly("one", "two");
- assertThat(scheduler.getCurrentTime()).named("time").isEqualTo(time);
+ assertWithMessage("time").that(scheduler.getCurrentTime()).isEqualTo(time);
}
@Test
@@ -94,7 +95,7 @@
final long time = scheduler.getCurrentTime();
scheduler.setIdleState(CONSTANT_IDLE);
assertThat(transcript).containsExactly("one", "two", "three");
- assertThat(scheduler.getCurrentTime()).named("time").isEqualTo(time + 1000);
+ assertWithMessage("time").that(scheduler.getCurrentTime()).isEqualTo(time + 1000);
}
@Test
@@ -106,7 +107,7 @@
final long time = scheduler.getCurrentTime();
scheduler.unPause();
assertThat(transcript).containsExactly("one", "two");
- assertThat(scheduler.getCurrentTime()).named("time").isEqualTo(time);
+ assertWithMessage("time").that(scheduler.getCurrentTime()).isEqualTo(time);
}
@Test
@@ -119,7 +120,7 @@
final long time = scheduler.getCurrentTime();
scheduler.idleConstantly(true);
assertThat(transcript).containsExactly("one", "two", "three");
- assertThat(scheduler.getCurrentTime()).named("time").isEqualTo(time + 1000);
+ assertWithMessage("time").that(scheduler.getCurrentTime()).isEqualTo(time + 1000);
}
@Test
@@ -307,14 +308,14 @@
}, 0);
scheduler.runOneTask();
- assertThat(order).named("order:first run").containsExactly(1, 2);
- assertThat(scheduler.size()).named("size:first run").isEqualTo(2);
+ assertWithMessage("order:first run").that(order).containsExactly(1, 2);
+ assertWithMessage("size:first run").that(scheduler.size()).isEqualTo(2);
scheduler.runOneTask();
- assertThat(order).named("order:second run").containsExactly(1, 2, 3);
- assertThat(scheduler.size()).named("size:second run").isEqualTo(1);
+ assertWithMessage("order:second run").that(order).containsExactly(1, 2, 3);
+ assertWithMessage("size:second run").that(scheduler.size()).isEqualTo(1);
scheduler.runOneTask();
- assertThat(order).named("order:third run").containsExactly(1, 2, 3, 4);
- assertThat(scheduler.size()).named("size:second run").isEqualTo(0);
+ assertWithMessage("order:third run").that(order).containsExactly(1, 2, 3, 4);
+ assertWithMessage("size:second run").that(scheduler.size()).isEqualTo(0);
}
@Test
@@ -335,8 +336,8 @@
}
}, 0);
- assertThat(order).named("order").containsExactly(1, 2, 3);
- assertThat(scheduler.size()).named("size").isEqualTo(0);
+ assertWithMessage("order").that(order).containsExactly(1, 2, 3);
+ assertWithMessage("size").that(scheduler.size()).isEqualTo(0);
}
@Test
@@ -362,8 +363,8 @@
}
}, 0);
scheduler.advanceToLastPostedRunnable();
- assertThat(order).named("order").containsExactly(1, 2, 3, 4);
- assertThat(scheduler.size()).named("size").isEqualTo(0);
+ assertWithMessage("order").that(order).containsExactly(1, 2, 3, 4);
+ assertWithMessage("size").that(scheduler.size()).isEqualTo(0);
}
@Test
@@ -383,8 +384,8 @@
order.add(2);
}
}, 0);
- assertThat(order).named("order").containsExactly(1, 2, 3);
- assertThat(scheduler.size()).named("size").isEqualTo(0);
+ assertWithMessage("order").that(order).containsExactly(1, 2, 3);
+ assertWithMessage("size").that(scheduler.size()).isEqualTo(0);
}
@Test
@@ -405,12 +406,12 @@
}
}, 0);
- assertThat(order).named("order:before").containsExactly(1, 2);
- assertThat(scheduler.size()).named("size:before").isEqualTo(1);
+ assertWithMessage("order:before").that(order).containsExactly(1, 2);
+ assertWithMessage("size:before").that(scheduler.size()).isEqualTo(1);
scheduler.advanceToLastPostedRunnable();
- assertThat(order).named("order:after").containsExactly(1, 2, 3);
- assertThat(scheduler.size()).named("size:after").isEqualTo(0);
- assertThat(scheduler.getCurrentTime()).named("time:after").isEqualTo(1 + startTime);
+ assertWithMessage("order:after").that(order).containsExactly(1, 2, 3);
+ assertWithMessage("size:after").that(scheduler.size()).isEqualTo(0);
+ assertWithMessage("time:after").that(scheduler.getCurrentTime()).isEqualTo(1 + startTime);
}
@Test
@@ -431,9 +432,9 @@
}
}, 0);
- assertThat(order).named("order").containsExactly(1, 2, 3);
- assertThat(scheduler.size()).named("size").isEqualTo(0);
- assertThat(scheduler.getCurrentTime()).named("time").isEqualTo(1 + startTime);
+ assertWithMessage("order").that(order).containsExactly(1, 2, 3);
+ assertWithMessage("size").that(scheduler.size()).isEqualTo(0);
+ assertWithMessage("time").that(scheduler.getCurrentTime()).isEqualTo(1 + startTime);
}
@Test