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;