Added tests for getAutofillOptions() on BaseAdapter and ArrayAdapter.
Bug: 37518906
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.BaseAdapterTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.ArrayAdapterTest
Change-Id: Ib737e0a232888e1b92ba9fc8a65205e4cb622e31
diff --git a/tests/tests/widget/src/android/widget/cts/ArrayAdapterTest.java b/tests/tests/widget/src/android/widget/cts/ArrayAdapterTest.java
index 7595c98..4350103 100644
--- a/tests/tests/widget/src/android/widget/cts/ArrayAdapterTest.java
+++ b/tests/tests/widget/src/android/widget/cts/ArrayAdapterTest.java
@@ -29,8 +29,8 @@
import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.database.DataSetObserver;
-import android.support.test.annotation.UiThreadTest;
import android.support.test.InstrumentationRegistry;
+import android.support.test.annotation.UiThreadTest;
import android.support.test.filters.SmallTest;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
@@ -402,7 +402,20 @@
*/
@Test
public void testCreateFromResource() {
- ArrayAdapter.createFromResource(mContext, R.array.string, R.layout.simple_spinner_item);
+ final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(mContext,
+ R.array.string, R.layout.simple_spinner_item);
+ final CharSequence[] staticOptions = adapter.getAutofillOptions();
+ assertEquals(3, staticOptions.length);
+ assertEquals("Test String 1", staticOptions[0]);
+ assertEquals("Test String 2", staticOptions[1]);
+ assertEquals("Test String 3", staticOptions[2]);
+
+ // Make sure values set dynamically wins.
+ adapter.setAutofillOptions("Dynamic", "am I");
+ final CharSequence[] dynamicOptions = adapter.getAutofillOptions();
+ assertEquals(2, dynamicOptions.length);
+ assertEquals("Dynamic", dynamicOptions[0]);
+ assertEquals("am I", dynamicOptions[1]);
ArrayAdapter.createFromResource(mContext, R.array.string, INVALID_ID);
}
diff --git a/tests/tests/widget/src/android/widget/cts/BaseAdapterTest.java b/tests/tests/widget/src/android/widget/cts/BaseAdapterTest.java
index 42c3269..4df0c4a 100644
--- a/tests/tests/widget/src/android/widget/cts/BaseAdapterTest.java
+++ b/tests/tests/widget/src/android/widget/cts/BaseAdapterTest.java
@@ -123,6 +123,23 @@
assertFalse(baseAdapter.isEmpty());
}
+ @Test
+ public void testGetAutofillOptions() {
+ MockBaseAdapter baseAdapter = new MockBaseAdapter();
+ assertNull(baseAdapter.getAutofillOptions());
+
+ baseAdapter.setAutofillOptions("single");
+ CharSequence[] single = baseAdapter.getAutofillOptions();
+ assertEquals(1, single.length);
+ assertEquals("single", single[0]);
+
+ baseAdapter.setAutofillOptions("mult1", "mult2");
+ CharSequence[] multiple = baseAdapter.getAutofillOptions();
+ assertEquals(2, multiple.length);
+ assertEquals("mult1", multiple[0]);
+ assertEquals("mult2", multiple[1]);
+ }
+
private static class MockBaseAdapter extends BaseAdapter {
private int mCount = 0;