summaryrefslogtreecommitdiff
path: root/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java')
-rw-r--r--tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java b/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java
index c7a773530963..d13257743e21 100644
--- a/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java
+++ b/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java
@@ -243,6 +243,26 @@ public class SampleDataClassTest {
assertEquals(instance.toString(), unparceledInstance.toString());
}
+ @Test
+ public void testNestedDataClasses_notMangledWhenParceled() {
+ assertEqualsAfterParcelling(
+ new SampleWithNestedDataClasses.NestedDataClass("1"),
+ SampleWithNestedDataClasses.NestedDataClass.CREATOR);
+
+ assertEqualsAfterParcelling(
+ new SampleWithNestedDataClasses.NestedDataClass2("2"),
+ SampleWithNestedDataClasses.NestedDataClass2.CREATOR);
+
+ assertEqualsAfterParcelling(
+ new SampleWithNestedDataClasses.NestedDataClass2.NestedDataClass3(3),
+ SampleWithNestedDataClasses.NestedDataClass2.NestedDataClass3.CREATOR);
+ }
+
+ private static <T extends Parcelable> void assertEqualsAfterParcelling(
+ T p, Parcelable.Creator<T> creator) {
+ assertEquals(p, parcelAndUnparcel(p, creator));
+ }
+
private static <T extends Parcelable> T parcelAndUnparcel(
T original, Parcelable.Creator<T> creator) {
Parcel p = Parcel.obtain();