summaryrefslogtreecommitdiff
path: root/integration-tests/TestApp/app
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2015-09-04 14:05:26 -0700
committerGeorge Mount <mount@google.com>2015-09-04 14:36:31 -0700
commit76b791f78542a2feb191482a2204de95eaf8ee72 (patch)
tree3ae5a4b771ada56d1efecd72d86f56f5a49af25d /integration-tests/TestApp/app
parent7efb3a652996f599251aa258e484a7be0a4610d0 (diff)
downloaddata-binding-76b791f78542a2feb191482a2204de95eaf8ee72.tar.gz
Better handling of out of bounds exceptions on bracket expressions.
Bug 23820607 Handle out of bounds in bracket expressions by returning the default value. Change-Id: I8b3a5a5ced48acfd6683ee1df6264480526244d1
Diffstat (limited to 'integration-tests/TestApp/app')
-rw-r--r--integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/BracketTest.java28
-rw-r--r--integration-tests/TestApp/app/src/main/res/layout/bracket_test.xml24
2 files changed, 46 insertions, 6 deletions
diff --git a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/BracketTest.java b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/BracketTest.java
index 37913948..136b7ccb 100644
--- a/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/BracketTest.java
+++ b/integration-tests/TestApp/app/src/androidTestApi7/java/android/databinding/testapp/BracketTest.java
@@ -54,6 +54,7 @@ public class BracketTest extends BaseDataBinderTest<BracketTestBinding> {
mBinder.setSparseBooleanArray(mSparseBooleanArray);
mBinder.setSparseLongArray(mSparseLongArray);
mBinder.setLongSparseArray(mLongSparseArray);
+ mBinder.setIndexObj((Integer) 0);
mBinder.executePendingBindings();
}
@@ -71,7 +72,34 @@ public class BracketTest extends BaseDataBinderTest<BracketTestBinding> {
}
@UiThreadTest
+ public void testBracketOutOfBounds() {
+ mBinder.setIndex(1);
+ mBinder.executePendingBindings();
+ assertEquals("", mBinder.arrayText.getText().toString());
+ assertEquals("", mBinder.sparseArrayText.getText().toString());
+ assertEquals("", mBinder.longSparseArrayText.getText().toString());
+ assertEquals("0", mBinder.sparseIntArrayText.getText().toString());
+ assertEquals("false", mBinder.sparseBooleanArrayText.getText().toString());
+ assertEquals("0", mBinder.sparseLongArrayText.getText().toString());
+ mBinder.setIndex(-1);
+ mBinder.executePendingBindings();
+ assertEquals("", mBinder.arrayText.getText().toString());
+ assertEquals("", mBinder.sparseArrayText.getText().toString());
+ assertEquals("", mBinder.longSparseArrayText.getText().toString());
+ assertEquals("0", mBinder.sparseIntArrayText.getText().toString());
+ assertEquals("false", mBinder.sparseBooleanArrayText.getText().toString());
+ assertEquals("0", mBinder.sparseLongArrayText.getText().toString());
+ }
+
+ @UiThreadTest
public void testBracketObj() {
+ mBinder.executePendingBindings();
+ assertEquals("Hello World", mBinder.indexObj.getText().toString());
+ assertEquals("Hello", mBinder.sparseArrayTextObj.getText().toString());
+ }
+
+ @UiThreadTest
+ public void testBracketMap() throws Throwable {
assertEquals("", mBinder.bracketMap.getText().toString());
}
}
diff --git a/integration-tests/TestApp/app/src/main/res/layout/bracket_test.xml b/integration-tests/TestApp/app/src/main/res/layout/bracket_test.xml
index 936b2094..e9a0e2f9 100644
--- a/integration-tests/TestApp/app/src/main/res/layout/bracket_test.xml
+++ b/integration-tests/TestApp/app/src/main/res/layout/bracket_test.xml
@@ -19,6 +19,8 @@
<variable name="sparseIntArray" type="android.util.SparseIntArray"/>
<variable name="sparseLongArray" type="android.util.SparseLongArray"/>
<variable name="longSparseArray" type="android.util.LongSparseArray&lt;String>"/>
+ <variable name="index" type="int"/>
+ <variable name="indexObj" type="Object"/>
<variable name="obj" type="android.databinding.testapp.vo.BracketObject"/>
</data>
<LinearLayout
@@ -29,32 +31,42 @@
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/arrayText"
- android:text="@{array[0]}"/>
+ android:text="@{array[index]}"/>
+
+ <TextView android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/indexObj"
+ android:text="@{array[indexObj]}"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sparseArrayText"
- android:text='@{sparseArray[0]}'/>
+ android:text='@{sparseArray[index]}'/>
+
+ <TextView android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/sparseArrayTextObj"
+ android:text='@{sparseArray[indexObj]}'/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sparseBooleanArrayText"
- android:text='@{"" + sparseBooleanArray[0]}'/>
+ android:text='@{"" + sparseBooleanArray[index]}'/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sparseIntArrayText"
- android:text='@{"" + sparseIntArray[0]}'/>
+ android:text='@{"" + sparseIntArray[index]}'/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sparseLongArrayText"
- android:text='@{"" + sparseLongArray[0]}'/>
+ android:text='@{"" + sparseLongArray[index]}'/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/longSparseArrayText"
- android:text='@{longSparseArray[0]}'/>
+ android:text='@{longSparseArray[index]}'/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"