Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java |
| index a18141d806c1ddca6fd2ad32bf54da5cd76c4f0a..b3895aff849c6dc986ce817fab8a6c34e12ade71 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java |
| @@ -8,6 +8,7 @@ import android.app.Dialog; |
| import android.test.suitebuilder.annotation.SmallTest; |
| import android.text.SpannableString; |
| import android.view.View; |
| +import android.widget.ArrayAdapter; |
| import android.widget.Button; |
| import android.widget.ListView; |
| @@ -19,8 +20,6 @@ import org.chromium.content.browser.test.util.CriteriaHelper; |
| import org.chromium.content.browser.test.util.TouchCommon; |
| import org.chromium.ui.widget.TextViewWithClickableSpans; |
| -import java.util.ArrayList; |
| -import java.util.List; |
| import java.util.concurrent.Callable; |
| /** |
| @@ -132,21 +131,10 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi |
| assertFalse(button.isEnabled()); |
| assertEquals(View.GONE, items.getVisibility()); |
| - List<ItemChooserDialog.ItemChooserRow> devices = |
| - new ArrayList<ItemChooserDialog.ItemChooserRow>(); |
| - devices.add(new ItemChooserDialog.ItemChooserRow("key", "key")); |
| - devices.add(new ItemChooserDialog.ItemChooserRow("key2", "key2")); |
| - mChooserDialog.addItemsToList(devices); |
| + mChooserDialog.addItemToList(new ItemChooserDialog.ItemChooserRow("key", "key")); |
| + mChooserDialog.addItemToList(new ItemChooserDialog.ItemChooserRow("key2", "key2")); |
| - // Two items showing, the empty view should be no more and the button |
| - // should now be enabled. |
| - assertEquals(View.VISIBLE, items.getVisibility()); |
| - assertEquals(View.GONE, items.getEmptyView().getVisibility()); |
| - assertEquals("statusActive", statusView.getText().toString()); |
| - assertFalse(button.isEnabled()); |
| - |
| - mChooserDialog.setIdleState(); |
| - // After discovery stops the list should still be visible, |
|
Finnur
2016/03/16 13:35:14
Why is this changing (line 141 and below)?
juncai
2016/03/16 21:01:35
I think since State.PROGRESS_UPDATE_AVAILABLE was
|
| + // After discovery stops the list should be visible with two items, |
| // it should not show the empty view and the button should not be enabled. |
| // The chooser should show the status idle text. |
| assertEquals(View.VISIBLE, items.getVisibility()); |
| @@ -193,11 +181,8 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi |
| Dialog dialog = mChooserDialog.getDialogForTesting(); |
| assertTrue(dialog.isShowing()); |
| - List<ItemChooserDialog.ItemChooserRow> devices = |
| - new ArrayList<ItemChooserDialog.ItemChooserRow>(); |
| - devices.add(new ItemChooserDialog.ItemChooserRow("key", "key")); |
| - devices.add(new ItemChooserDialog.ItemChooserRow("key2", "key2")); |
| - mChooserDialog.addItemsToList(devices); |
| + mChooserDialog.addItemToList(new ItemChooserDialog.ItemChooserRow("key", "key")); |
| + mChooserDialog.addItemToList(new ItemChooserDialog.ItemChooserRow("key2", "key2")); |
| // Disable one item and try to select it. |
| mChooserDialog.setEnabled("key", false); |
| @@ -207,4 +192,52 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi |
| mChooserDialog.dismiss(); |
| } |
| + |
| + @SmallTest |
| + public void testAddItemToListAndRemoveItemFromList() throws InterruptedException { |
| + Dialog dialog = mChooserDialog.getDialogForTesting(); |
| + assertTrue(dialog.isShowing()); |
| + |
| + ArrayAdapter itemAdapter = mChooserDialog.getItemAdapterForTesting(); |
| + ItemChooserDialog.ItemChooserRow nonExistentItem = |
| + new ItemChooserDialog.ItemChooserRow("key", "key"); |
| + |
| + // Initially the itemAdapter is empty. |
| + assertTrue(itemAdapter.isEmpty()); |
| + |
| + // Try removing an item from an empty itemAdapter. |
| + mChooserDialog.removeItemFromList(nonExistentItem); |
| + assertTrue(itemAdapter.isEmpty()); |
| + |
| + // Add item1. |
|
Finnur
2016/03/16 13:35:14
nit: s/item1/item 1/
(same with item2 and incident
juncai
2016/03/16 21:01:35
Done.
|
| + ItemChooserDialog.ItemChooserRow item1 = |
| + new ItemChooserDialog.ItemChooserRow("key1", "key1"); |
| + mChooserDialog.addItemToList(item1); |
| + assertEquals(1, itemAdapter.getCount()); |
| + assertEquals(itemAdapter.getItem(0), item1); |
| + |
| + // Add item2. |
| + ItemChooserDialog.ItemChooserRow item2 = |
| + new ItemChooserDialog.ItemChooserRow("key2", "key2"); |
| + mChooserDialog.addItemToList(item2); |
| + assertEquals(2, itemAdapter.getCount()); |
| + assertEquals(itemAdapter.getItem(0), item1); |
| + assertEquals(itemAdapter.getItem(1), item2); |
| + |
| + // Try removing an item that doesn't exist. |
| + mChooserDialog.removeItemFromList(nonExistentItem); |
| + assertEquals(2, itemAdapter.getCount()); |
| + |
| + // Remove item2. |
| + mChooserDialog.removeItemFromList(item2); |
| + assertEquals(1, itemAdapter.getCount()); |
| + // Make sure the remaining item is item1. |
| + assertEquals(itemAdapter.getItem(0), item1); |
| + |
| + // Remove item1. |
| + mChooserDialog.removeItemFromList(item1); |
| + assertTrue(itemAdapter.isEmpty()); |
|
Finnur
2016/03/16 13:35:14
I would add verification that the list is showing
juncai
2016/03/16 21:01:35
Done.
|
| + |
| + mChooserDialog.dismiss(); |
| + } |
| } |