From ba6fd27ca8eb8596cc679eaf99c265a595b7222c Mon Sep 17 00:00:00 2001 From: Eli Hart Date: Tue, 21 Nov 2017 10:44:59 -0800 Subject: [PATCH] Fix binding diff with prop group (#347) * Fix diff binding with groups * update tests * unit tests * update tests --- .idea/codeStyleSettings.xml | 4 +- build.gradle | 2 +- ...ViewWithAnnotationsForIntegrationTest.java | 32 +++ .../java/com/airbnb/epoxy/BindDiffTest.kt | 123 ++++++++++ .../com/airbnb/epoxy/GeneratedModelWriter.kt | 47 ++-- .../java/com/airbnb/epoxy/ModelViewWriter.kt | 145 +++++------ .../resources/AbstractModelWithHolder_.java | 6 +- .../AutoLayoutModelViewMatchParentModel_.java | 8 +- .../resources/AutoLayoutModelViewModel_.java | 8 +- .../BaseModelFromPackageConfigViewModel_.java | 8 +- ...ModelOverridesPackageConfigViewModel_.java | 8 +- .../test/resources/BaseModelViewModel_.java | 8 +- .../BaseModelViewWithSuperDiffBindModel_.java | 8 +- .../BaseModelWithAttributeViewModel_.java | 10 +- .../resources/BasicModelWithAttribute_.java | 6 +- .../CustomPackageLayoutPatternViewModel_.java | 4 +- ...ngModelWithAllFieldTypesNoValidation_.java | 80 +++---- .../DataBindingModelWithAllFieldTypes_.java | 80 +++---- ...DefaultPackageLayoutPatternViewModel_.java | 4 +- .../test/resources/DoNotHashViewModel_.java | 16 +- ...ayoutMethodNextParentLayout$NoLayout_.java | 6 +- ...MethodNextParentLayout$StillNoLayout_.java | 4 +- ...outMethodNextParentLayout$WithLayout_.java | 4 +- ...ultLayoutMethodParentLayout$NoLayout_.java | 6 +- ...tLayoutMethodParentLayout$WithLayout_.java | 4 +- .../GenerateDefaultLayoutMethod_.java | 6 +- .../resources/GridSpanCountViewModel_.java | 8 +- .../IgnoreRequireHashCodeViewModel_.java | 8 +- .../resources/LayoutOverloadsViewModel_.java | 4 +- .../src/test/resources/ModelDoNotHash_.java | 8 +- .../resources/ModelDoNotUseInToString_.java | 10 +- .../resources/ModelForRProcessingTest_.java | 6 +- .../ModelForTestingDuplicateRValues_.java | 6 +- .../test/resources/ModelNoValidation_.java | 6 +- .../ModelReturningClassTypeWithVarargs_.java | 6 +- .../resources/ModelReturningClassType_.java | 6 +- .../ModelViewExtendingSuperClassModel_.java | 12 +- .../resources/ModelViewSuperClassModel_.java | 8 +- .../ModelWithAbstractClassAndAnnotation_.java | 4 +- .../resources/ModelWithAllFieldTypes_.java | 42 ++-- .../ModelWithAllPrivateFieldTypes_.java | 42 ++-- ...WithAnnotatedClassAndSuperAttributes_.java | 6 +- ...WithAnnotatedClassAndSuperAttributes_.java | 6 +- .../resources/ModelWithAnnotatedClass_.java | 4 +- .../test/resources/ModelWithAnnotation_.java | 4 +- .../resources/ModelWithConstructors_.java | 6 +- .../ModelWithDataBindingBindingModel_.java | 8 +- .../resources/ModelWithFieldAnnotation_.java | 6 +- .../test/resources/ModelWithFinalField_.java | 6 +- .../src/test/resources/ModelWithIntDef_.java | 6 +- ...ldWithSameAsFieldGetterAndSetterName_.java | 6 +- .../ModelWithPrivateViewClickListener_.java | 6 +- ...tributes$SubModelWithSuperAttributes_.java | 8 +- .../resources/ModelWithSuperAttributes_.java | 6 +- .../src/test/resources/ModelWithSuper_.java | 6 +- .../src/test/resources/ModelWithType_.java | 6 +- .../ModelWithVarargsConstructors_.java | 6 +- .../ModelWithViewClickListener_.java | 6 +- .../ModelWithViewLongClickListener_.java | 6 +- .../src/test/resources/ModelWithoutHash_.java | 8 +- .../test/resources/ModelWithoutSetter_.java | 6 +- .../resources/NullOnRecycleViewModel_.java | 10 +- .../resources/OnViewRecycledViewModel_.java | 8 +- .../resources/PropDefaultsViewModel_.java | 28 +-- .../test/resources/PropGroupsViewModel_.java | 226 +++++++----------- ...tInViewModelAnnotationWorksViewModel_.java | 4 +- .../test/resources/SavedStateViewModel_.java | 8 +- .../TestAfterBindPropsViewModel_.java | 12 +- .../resources/TestCallbackPropViewModel_.java | 10 +- .../resources/TestManyTypesViewModel_.java | 56 ++--- .../TestNullStringOverloadsViewModel_.java | 8 +- .../TestStringOverloadsViewModel_.java | 41 ++-- .../resources/TestTextPropViewModel_.java | 8 +- .../resources/TextPropDefaultViewModel_.java | 12 +- .../kotlinsample/ExampleInstrumentedTest.kt | 24 -- 75 files changed, 717 insertions(+), 673 deletions(-) create mode 100644 epoxy-integrationtest/src/test/java/com/airbnb/epoxy/BindDiffTest.kt delete mode 100644 kotlinsample/src/androidTest/java/com/airbnb/epoxy/kotlinsample/ExampleInstrumentedTest.kt diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml index 6b9790b83a..914a3ece43 100644 --- a/.idea/codeStyleSettings.xml +++ b/.idea/codeStyleSettings.xml @@ -57,8 +57,8 @@