summaryrefslogtreecommitdiff
path: root/integration-tests
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2015-08-17 07:55:42 -0700
committerGeorge Mount <mount@google.com>2015-08-17 13:39:42 -0700
commitec3f23a318203a54ad6aea658ea452948087b73b (patch)
treeca45856bd175dd9fa0751115b69fae1826c24f3e /integration-tests
parentd6339f712b4b8ce04a1cb3eec9c2574f4d170990 (diff)
downloaddata-binding-ec3f23a318203a54ad6aea658ea452948087b73b.tar.gz
Add test to ensure event binding works on Observables.
Bug 23147420 Change-Id: I1f18ec7d8928ec7c65fdc75a5e1914b0cce608d7
Diffstat (limited to 'integration-tests')
-rw-r--r--integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/FrameLayoutBindingAdapterTest.java2
-rw-r--r--integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/ListenerTest.java12
-rw-r--r--integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ListenerBindingObject.java7
-rw-r--r--integration-tests/TestApp/app/src/main/res/layout/listeners.xml6
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