| 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 ef2cd24b7639904f778dba450ef6227749787408..da4b28b2e61a6e5715254febd174a98d20a2eb83 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java
|
| @@ -262,6 +262,64 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi
|
| }
|
|
|
| @SmallTest
|
| + public void testAddItemWithSameNameToListAndRemoveItemFromList() throws InterruptedException {
|
| + Dialog dialog = mChooserDialog.getDialogForTesting();
|
| + assertTrue(dialog.isShowing());
|
| +
|
| + ItemChooserDialog.ItemAdapter itemAdapter = mChooserDialog.getItemAdapterForTesting();
|
| +
|
| + // Add item 1.
|
| + ItemChooserDialog.ItemChooserRow item1 =
|
| + new ItemChooserDialog.ItemChooserRow("device_id_1", "same_device_name");
|
| + mChooserDialog.addItemToList(item1);
|
| + assertEquals(1, itemAdapter.getCount());
|
| + assertEquals(itemAdapter.getItem(0), item1);
|
| +
|
| + // Add item 2.
|
| + ItemChooserDialog.ItemChooserRow item2 =
|
| + new ItemChooserDialog.ItemChooserRow("device_id_2", "different_device_name");
|
| + mChooserDialog.addItemToList(item2);
|
| + assertEquals(2, itemAdapter.getCount());
|
| + assertEquals(itemAdapter.getItem(0), item1);
|
| + assertEquals(itemAdapter.getItem(1), item2);
|
| +
|
| + // Add item 3.
|
| + ItemChooserDialog.ItemChooserRow item3 =
|
| + new ItemChooserDialog.ItemChooserRow("device_id_3", "same_device_name");
|
| + mChooserDialog.addItemToList(item3);
|
| + assertEquals(3, itemAdapter.getCount());
|
| + assertEquals(itemAdapter.getItem(0), item1);
|
| + assertEquals(itemAdapter.getItem(1), item2);
|
| + assertEquals(itemAdapter.getItem(2), item3);
|
| +
|
| + // Since two items have the same name, their display text should have their unique
|
| + // keys appended.
|
| + assertEquals("same_device_name (device_id_1)", itemAdapter.getDisplayText(0));
|
| + assertEquals("different_device_name", itemAdapter.getDisplayText(1));
|
| + assertEquals("same_device_name (device_id_3)", itemAdapter.getDisplayText(2));
|
| +
|
| + // Remove item 2.
|
| + mChooserDialog.removeItemFromList(item2);
|
| + assertEquals(2, itemAdapter.getCount());
|
| + // Make sure the remaining items are item 1 and item 3.
|
| + assertEquals(itemAdapter.getItem(0), item1);
|
| + assertEquals(itemAdapter.getItem(1), item3);
|
| + assertEquals("same_device_name (device_id_1)", itemAdapter.getDisplayText(0));
|
| + assertEquals("same_device_name (device_id_3)", itemAdapter.getDisplayText(1));
|
| +
|
| + // Remove item 1.
|
| + mChooserDialog.removeItemFromList(item1);
|
| + assertEquals(1, itemAdapter.getCount());
|
| + // Make sure the remaining item is item 3.
|
| + assertEquals(itemAdapter.getItem(0), item3);
|
| + // After removing item 1, item 3 is the only remaining item, so its display text
|
| + // also changed to its original description.
|
| + assertEquals("same_device_name", itemAdapter.getDisplayText(0));
|
| +
|
| + mChooserDialog.dismiss();
|
| + }
|
| +
|
| + @SmallTest
|
| public void testListHeight() throws InterruptedException {
|
| // 500 * .3 is 150, which is 48 * 3.125. 48 * 3.5 is 168.
|
| assertEquals(168, ItemChooserDialog.getListHeight(500, 1.0f));
|
|
|