Commit Graph

52 Commits

Author SHA1 Message Date
Steven Schäfer 9b7a95b05c Parcelize: Fix test code
On Android, we would need to call `setDataPosition(0)` after
unmarshalling a parcel. The reason why the test code is currently
working is purely because the Robolectric test framework is more
permissive.
2020-05-27 02:39:29 +09:00
Steven Schäfer d93e5d3dc0 Parcelize: Enable ParcelableDeclarationChecker with the parcelize plugin
Previously, the ParcelableDeclarationChecker was only enabled as part of
the view extensions. In particular, the checker was not enabled for the
parcelize test suite.
2020-05-27 02:39:29 +09:00
Steven Schäfer f93749ae6a Parcelize: Fall back to readValue/writeValue if no other serializers are available 2020-05-27 02:39:28 +09:00
Steven Schäfer 8d364a8a1a Parcelize: Resolve parcel serializers on demand 2020-05-27 02:39:28 +09:00
rbares b39a65305d Fix Parcelize codegen tests following rebase 2020-05-27 02:38:45 +09:00
rbares 8a9610d3af Update Parcelize codegen tests 2020-05-27 02:38:45 +09:00
Steven Schäfer 9fc210224d Parcelize: Fix IBinderIInterface test 2020-05-06 22:51:12 +02:00
Steven Schäfer 518c7a32b8 Parcelize: Add a test for efficient Parcelable serialization within the same module 2020-05-06 22:51:12 +02:00
Steven Schäfer a4e6dbb0d7 Parcelize: Add test for TypeParceler scoping behavior 2020-05-06 22:51:12 +02:00
Steven Schäfer b35e8e208a Parcelize: Add a test for Parcelize with persistable bundles 2020-05-06 22:51:12 +02:00
Steven Schäfer 43bccff135 Parcelize: Add a test for parcelize of IBinder and IInterface 2020-05-06 22:51:12 +02:00
Steven Schäfer 6cf3e0e38e Parcelize: Add a test for exceptions in parcels (KT-31830) 2020-05-06 22:51:12 +02:00
Steven Schäfer 21637c828e Parcelize: Add a test for Java interop (KT-25807) 2020-05-06 22:51:12 +02:00
Steven Schäfer aa0eeba327 Parcelize: Add a test for KT-36658 2020-05-06 22:51:12 +02:00
Steven Schäfer 01ea2a641f Parcelize: Add test for KT-26221 2020-05-06 22:51:12 +02:00
Steven Schäfer 1552e55474 Parcelize: Add an exhaustive test for primitive types 2020-05-06 22:51:12 +02:00
Steven Schäfer 1f97486fdd Parcelize: Improve testing infrarstructure
- Support newer android versions
- Allow testing against Java files using android APIs
- Update test expectations
- Auto-generate ParcelBoxTests
- Create tests for the JVM IR backend
2020-05-06 22:51:12 +02:00
Yan Zhulanow 6f7741b6bb Minor: Move AbstractParcelBytecodeListingTest to compiler tests, change its format a bit 2018-09-11 16:40:43 +03:00
Yan Zhulanow d0fd74982d Parcelize, Minor: Fix tests (writeToParcel/describeContents are not final anymore) 2018-08-24 04:28:06 +05:00
Yan Zhulanow 8c05769745 Parcelize: Fix infinite recursive loop for zero-parameter Parcelable classes (KT-25839) 2018-08-24 04:26:36 +05:00
Yan Zhulanow 26ca7a140d Parcelize: Generate non-final 'writeToParcel()' and 'describeContents()' (#KT-24720) 2018-07-12 20:36:38 +03:00
Yan Zhulanow defe97e4ef Parcelize: Always map primitive array element types as boxed types for Array<T> (#KT-23808) 2018-07-12 20:36:37 +03:00
Yan Zhulanow d5f0495031 Parcelize: Support objects and enums (#KT-22576) 2018-07-12 20:36:37 +03:00
Yan Zhulanow ead7653f84 Minor: Fix Parcelable test data 2018-04-02 19:26:34 +03:00
Yan Zhulanow bf9eed931b Parcelable: Fix 'Simple' test (new boolean serializer) 2018-02-06 22:15:59 +03:00
Yan Zhulanow 145ddf3b1f Parcelable: Add CREATOR field (and other generated declarations) in light classes (KT-19300, KT-19853) 2018-02-06 22:15:59 +03:00
Yan Zhulanow 2819fc718a Parcelable: Migrate to canonical NEW-DUP-INVOKESPECIAL form (KT-20545) 2017-12-01 22:53:20 +09:00
Yan Zhulanow 425d104255 Parcelable: Convert I to Z explicitly, older Android Dex has strict checks for it (KT-20928) 2017-12-01 22:53:16 +09:00
Yan Zhulanow e28cffd0ad Parcelable: newArray() result type should be Object[] (KT-20717) 2017-12-01 22:53:15 +09:00
Yan Zhulanow 26005751d8 Parcelable: Fix compatibility with serialization plugin (KT-20742) 2017-12-01 22:53:15 +09:00
Yan Zhulanow a63aca08f2 Parcelable: Support custom Parcelers in compiler plugin 2017-10-16 21:25:27 +03:00
Yan Zhulanow 7dbefc1613 Remove generic bound for Parceler 2017-10-16 21:25:25 +03:00
Yan Zhulanow eefb490a8a Parcelable: Use efficient serialize strategy for Java/Kotlin Parcelables only from the current source roots (KT-20029) 2017-09-12 22:07:15 +03:00
Yan Zhulanow 1b688182cd Parcelable: Use specialized write/create methods where available (KT-20057) 2017-09-12 22:07:14 +03:00
Yan Zhulanow f6d7a17227 Parcelable: Remove 'ACC_STATIC' flag from Creator class, Dalvik dex checker hates it, and it's illegal anyway (KT-20034) 2017-09-12 22:07:13 +03:00
Yan Zhulanow 033386b47d Parcelable: Do not check property types if the Parcelable class has a custom Parceler implementation (KT-20062) 2017-09-12 22:07:12 +03:00
Yan Zhulanow a03c03c427 Parcelable: Handle nullability in Parcelize Parcelable serializer (KT-20032) 2017-09-12 22:07:11 +03:00
Yan Zhulanow 7b96c9a003 Parcelable: Give priority to Parcelable type over objects and enums (KT-20021) 2017-09-12 22:07:09 +03:00
Yan Zhulanow be3273a933 Parcelable: Flags argument should be propagated to the nested Parcelable's writeToParcel() (KT-20019) 2017-09-12 22:07:08 +03:00
Yan Zhulanow 3587a2a08e Parcelable: Use ClassLoader from the container class to load Parcelable (KT-20027)
When the parameter type is just "Parcelable", we would not pick the wrong (system) class loader anymore.
2017-09-12 22:07:08 +03:00
Yan Zhulanow c9ec1a2511 Parcelable: Array serializer should correctly handle wide primitive types – long, double (KT-20002) 2017-09-12 22:07:07 +03:00
Yan Zhulanow 32fc340d62 Parcelable: Parcelize overrides describeContents despite being already implemented (KT-20026) 2017-09-12 22:07:06 +03:00
Yan Zhulanow e645da64da Parcelable: Use the Parcelable implementation class as a containing declaration for Creator (KT-19899) 2017-09-12 22:07:06 +03:00
Yan Zhulanow f8ca714c45 Parcelable: Cast types deserialized with Parcel.readValue() (KT-19747) 2017-09-12 22:07:05 +03:00
Yan Zhulanow eee28d8507 Parcelable: Fix signature for Serializable Parcel serializer (KT-19749) 2017-09-12 22:07:04 +03:00
Yan Zhulanow ea1068a822 Parcelable, minor: Rename MagicParcel to Parcelize 2017-07-26 20:19:32 +03:00
Yan Zhulanow d0e4b236a7 Parcelable: Support SortedSet, NavigableSet, SortedMap, NavigableMap 2017-07-26 20:19:22 +03:00
Yan Zhulanow 4200629347 Parcelable: Support CharSequence, IBinder/IInterface, objects, enums. Serialize Parcelable efficiently if possible 2017-07-26 20:19:20 +03:00
Yan Zhulanow 19eb30b3ae Parcelable: Add test for clinit merging 2017-07-26 20:19:19 +03:00
Yan Zhulanow 3062e72282 Parcelable: Support Parcelizer interface in order to be able to customize serialization 2017-07-26 20:19:18 +03:00