summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernardo Rufino <brufino@google.com>2021-10-04 17:09:48 +0100
committerBernardo Rufino <brufino@google.com>2021-10-04 17:21:59 +0100
commit8c62a604f50b975c4a80ea0d4a0015a89d73c074 (patch)
treed90d60aa3f7e66334c05eef096117580bd50a890
parentd69c7d3193f631796241195d7bf40d3beac4871e (diff)
downloadcts-8c62a604f50b975c4a80ea0d4a0015a89d73c074.tar.gz
Remove removeUnsafeExtras() test
Plus test around putAll(), similar to deepCopy(). Test: atest -d android.os.cts.ParcelTest android.os.cts.BundleTest android.os.BundleTest android.os.ParcelTest Test: atest -d android.content.cts.IntentTest Bug: 195622897 Change-Id: I40fb3e5e9f35b9d52970144341ce6f49ed3933d9
-rw-r--r--tests/tests/content/src/android/content/cts/IntentTest.java49
-rw-r--r--tests/tests/os/src/android/os/cts/BundleTest.java17
2 files changed, 19 insertions, 47 deletions
diff --git a/tests/tests/content/src/android/content/cts/IntentTest.java b/tests/tests/content/src/android/content/cts/IntentTest.java
index c76a0fbdc77..29d207e83a7 100644
--- a/tests/tests/content/src/android/content/cts/IntentTest.java
+++ b/tests/tests/content/src/android/content/cts/IntentTest.java
@@ -16,9 +16,6 @@
package android.content.cts;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
@@ -39,7 +36,8 @@ import android.test.AndroidTestCase;
import android.util.AttributeSet;
import android.util.Xml;
-import com.android.content.cts.DummyParcelable;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.io.Serializable;
@@ -1842,49 +1840,6 @@ public class IntentTest extends AndroidTestCase {
assertEquals("foo/bar", Intent.normalizeMimeType(" foo/bar "));
}
- public void testRemoveUnsafeExtras() {
- final Intent intent = new Intent();
- final DummyParcelable dummyParcelable = new DummyParcelable();
- intent.removeUnsafeExtras();
- assertNull(intent.getExtras());
-
- // Check that removeUnsafeExtras keeps the same bundle if no changes are made.
- Bundle origExtras = new Bundle();
- origExtras.putString("foo", "bar");
- intent.replaceExtras(origExtras);
- intent.removeUnsafeExtras();
- Bundle newExtras = intent.getExtras();
- assertEquals(1, newExtras.size());
- assertEquals("bar", newExtras.get("foo"));
-
- // Check that removeUnsafeExtras will strip non-framework parcelables without modifying
- // the original extras bundle.
- origExtras.putParcelable("baddy", dummyParcelable);
- intent.replaceExtras(origExtras);
- intent.removeUnsafeExtras();
- newExtras = intent.getExtras();
- assertEquals(1, newExtras.size());
- assertEquals("bar", newExtras.get("foo"));
- assertEquals(2, origExtras.size());
- assertEquals("bar", origExtras.get("foo"));
- assertSame(dummyParcelable, origExtras.get("baddy"));
-
- // Check that nested bad values will be stripped.
- Bundle origSubExtras = new Bundle();
- origSubExtras.putParcelable("baddy", dummyParcelable);
- origExtras.putBundle("baddy", origSubExtras);
- intent.replaceExtras(origExtras);
- intent.removeUnsafeExtras();
- newExtras = intent.getExtras();
- assertEquals(2, newExtras.size());
- assertEquals("bar", newExtras.get("foo"));
- Bundle newSubExtras = newExtras.getBundle("baddy");
- assertNotSame(origSubExtras, newSubExtras);
- assertEquals(0, newSubExtras.size());
- assertEquals(1, origSubExtras.size());
- assertSame(dummyParcelable, origSubExtras.get("baddy"));
- }
-
private static class TestSerializable implements Serializable {
static final long serialVersionUID = 1l;
public String Name;
diff --git a/tests/tests/os/src/android/os/cts/BundleTest.java b/tests/tests/os/src/android/os/cts/BundleTest.java
index 1b271ced0d4..888387756f4 100644
--- a/tests/tests/os/src/android/os/cts/BundleTest.java
+++ b/tests/tests/os/src/android/os/cts/BundleTest.java
@@ -1099,6 +1099,21 @@ public class BundleTest {
}
@Test
+ public void testPutAll_withLazyValues() {
+ Parcelable parcelable = new CustomParcelable(13, "Tiramisu");
+ mBundle.putParcelable(KEY1, parcelable);
+ roundtrip();
+ mBundle.isEmpty(); // Triggers partial deserialization (leaving lazy values)
+ Bundle copy = new Bundle();
+ copy.putAll(mBundle);
+ assertEquals(parcelable, copy.getParcelable(KEY1));
+ // Here we're verifying that LazyValue caches the deserialized object, hence they are the
+ // same instance
+ assertSame(copy.getParcelable(KEY1), mBundle.getParcelable(KEY1));
+ assertEquals(1, copy.size());
+ }
+
+ @Test
public void testDeepCopy_withLazyValues() {
Parcelable parcelable = new CustomParcelable(13, "Tiramisu");
mBundle.putParcelable(KEY1, parcelable);
@@ -1106,6 +1121,8 @@ public class BundleTest {
mBundle.isEmpty(); // Triggers partial deserialization (leaving lazy values)
Bundle copy = mBundle.deepCopy();
assertEquals(parcelable, copy.getParcelable(KEY1));
+ // Here we're verifying that LazyValue caches the deserialized object, hence they are the
+ // same instance
assertSame(copy.getParcelable(KEY1), mBundle.getParcelable(KEY1));
assertEquals(1, copy.size());
}