| 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..bfb4cadb8dd86ce2a68f976a5239d51462b86b6d 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,68 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi
|
| }
|
|
|
| @SmallTest
|
| + public void testAddItemWithSameNameToListAndRemoveItemFromList() throws InterruptedException {
|
| + Dialog dialog = mChooserDialog.getDialogForTesting();
|
| + assertTrue(dialog.isShowing());
|
| +
|
| + ArrayAdapter 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 description should have their unique
|
| + // keys appended.
|
| + assertEquals(
|
| + "same_device_name (device_id_1)", mChooserDialog.getItemDescriptionForTesting(0));
|
| + assertEquals("different_device_name", mChooserDialog.getItemDescriptionForTesting(1));
|
| + assertEquals(
|
| + "same_device_name (device_id_3)", mChooserDialog.getItemDescriptionForTesting(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)", mChooserDialog.getItemDescriptionForTesting(0));
|
| + assertEquals(
|
| + "same_device_name (device_id_3)", mChooserDialog.getItemDescriptionForTesting(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 description
|
| + // also changed to its original description.
|
| + assertEquals("same_device_name", mChooserDialog.getItemDescriptionForTesting(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));
|
|
|