diff options
author | George Mount <mount@google.com> | 2015-08-17 07:55:42 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2015-08-17 13:39:42 -0700 |
commit | ec3f23a318203a54ad6aea658ea452948087b73b (patch) | |
tree | ca45856bd175dd9fa0751115b69fae1826c24f3e /integration-tests | |
parent | d6339f712b4b8ce04a1cb3eec9c2574f4d170990 (diff) | |
download | data-binding-ec3f23a318203a54ad6aea658ea452948087b73b.tar.gz |
Add test to ensure event binding works on Observables.
Bug 23147420
Change-Id: I1f18ec7d8928ec7c65fdc75a5e1914b0cce608d7
Diffstat (limited to 'integration-tests')
4 files changed, 27 insertions, 0 deletions
diff --git a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/FrameLayoutBindingAdapterTest.java b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/FrameLayoutBindingAdapterTest.java index 1f2f835b..5246f6b5 100644 --- a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/FrameLayoutBindingAdapterTest.java +++ b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/FrameLayoutBindingAdapterTest.java @@ -19,6 +19,7 @@ import android.databinding.testapp.databinding.FrameLayoutAdapterTestBinding; import android.databinding.testapp.vo.FrameLayoutBindingObject; import android.os.Build; +import android.test.UiThreadTest; import android.widget.FrameLayout; public class FrameLayoutBindingAdapterTest @@ -37,6 +38,7 @@ public class FrameLayoutBindingAdapterTest mView = mBinder.view; } + @UiThreadTest public void testTint() throws Throwable { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { assertEquals(mBindingObject.getForegroundTint(), diff --git a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/ListenerTest.java b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/ListenerTest.java index 8fc67bfb..d15f829b 100644 --- a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/ListenerTest.java +++ b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/ListenerTest.java @@ -16,6 +16,7 @@ package android.databinding.testapp; import android.databinding.ViewStubProxy; import android.databinding.testapp.databinding.ListenersBinding; import android.databinding.testapp.vo.ListenerBindingObject; +import android.databinding.testapp.vo.ListenerBindingObject.Inner; import android.test.UiThreadTest; import android.view.View; @@ -113,4 +114,15 @@ public class ListenerTest extends BaseDataBinderTest<ListenersBinding> { assertTrue(mBindingObject.inflateCalled); assertTrue(viewStubProxy.isInflated()); } + + @UiThreadTest + public void testBaseObservableClick() throws Throwable { + View view = mBinder.click6; + Inner inner = new Inner(); + mBinder.setObj2(inner); + mBinder.executePendingBindings(); + assertFalse(inner.clicked); + view.callOnClick(); + assertTrue(inner.clicked); + } } diff --git a/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ListenerBindingObject.java b/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ListenerBindingObject.java index 348dfa97..d25b6856 100644 --- a/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ListenerBindingObject.java +++ b/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ListenerBindingObject.java @@ -16,6 +16,7 @@ package android.databinding.testapp.vo; import android.content.Context; +import android.databinding.BaseObservable; import android.databinding.ObservableBoolean; import android.graphics.Outline; import android.media.MediaPlayer; @@ -255,4 +256,10 @@ public class ListenerBindingObject { return true; } + public static class Inner extends BaseObservable { + public boolean clicked; + public void onClick(View view) { + clicked = true; + } + } } diff --git a/integration-tests/TestApp/app/src/main/res/layout/listeners.xml b/integration-tests/TestApp/app/src/main/res/layout/listeners.xml index 52cb6e10..9e6554c8 100644 --- a/integration-tests/TestApp/app/src/main/res/layout/listeners.xml +++ b/integration-tests/TestApp/app/src/main/res/layout/listeners.xml @@ -15,6 +15,7 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="obj" type="android.databinding.testapp.vo.ListenerBindingObject"/> + <variable name="obj2" type="android.databinding.testapp.vo.ListenerBindingObject.Inner"/> <import type="android.databinding.testapp.vo.ListenerBindingObject"/> </data> <LinearLayout @@ -323,5 +324,10 @@ android:onBar1="@{obj.onBar}" android:onBar2="@{obj.onBar}" /> + <View android:id="@+id/click6" + android:layout_width="10dp" + android:layout_height="10dp" + android:onClick="@{obj2.onClick}" + /> </LinearLayout> </layout>
\ No newline at end of file |