Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java

Issue 2378433002: Disable "Pair" button when selected item is disabled/removed for chooser on Android (Closed)
Patch Set: address comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 cdbc4f35b63fc39fff040e7c86b34004a0ef16c9..3f1abe26b3f27a5c7751f51e5a6ec0700f737ea1 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java
@@ -203,6 +203,117 @@ public class ItemChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActi
}
@LargeTest
+ public void testPairButtonDisabledOrEnabledAfterSelectedItemDisabledOrEnabled()
+ throws InterruptedException {
+ Dialog dialog = mChooserDialog.getDialogForTesting();
+ assertTrue(dialog.isShowing());
+
+ final Button button = (Button) dialog.findViewById(R.id.positive);
+
+ mChooserDialog.addOrUpdateItem(new ItemChooserDialog.ItemChooserRow("key1", "desc1"));
+ mChooserDialog.addOrUpdateItem(new ItemChooserDialog.ItemChooserRow("key2", "desc2"));
+
+ selectItem(dialog, 1, "key1", true);
+ assertTrue(button.isEnabled());
+
+ mChooserDialog.setEnabled("key1", false);
+ assertFalse(button.isEnabled());
+
+ mChooserDialog.setEnabled("key1", true);
+ assertTrue(button.isEnabled());
+
+ mChooserDialog.dismiss();
+ }
+
+ @LargeTest
+ public void testPairButtonDisabledAfterSelectedItemRemoved() throws InterruptedException {
+ Dialog dialog = mChooserDialog.getDialogForTesting();
+ assertTrue(dialog.isShowing());
+
+ final Button button = (Button) dialog.findViewById(R.id.positive);
+
+ ItemChooserDialog.ItemChooserRow item1 =
+ new ItemChooserDialog.ItemChooserRow("key1", "desc1");
+ ItemChooserDialog.ItemChooserRow item2 =
+ new ItemChooserDialog.ItemChooserRow("key2", "desc2");
+ mChooserDialog.addOrUpdateItem(item1);
+ mChooserDialog.addOrUpdateItem(item2);
+
+ selectItem(dialog, 1, "key1", true);
+ assertTrue(button.isEnabled());
+
+ mChooserDialog.removeItemFromList(item1);
+ assertFalse(button.isEnabled());
+
+ mChooserDialog.dismiss();
+ }
+
+ @LargeTest
+ public void testSelectAnItemAndRemoveAnotherItem() throws InterruptedException {
+ Dialog dialog = mChooserDialog.getDialogForTesting();
+ assertTrue(dialog.isShowing());
+
+ final Button button = (Button) dialog.findViewById(R.id.positive);
+ ItemChooserDialog.ItemAdapter itemAdapter = mChooserDialog.getItemAdapterForTesting();
+
+ ItemChooserDialog.ItemChooserRow item1 =
+ new ItemChooserDialog.ItemChooserRow("key1", "desc1");
+ ItemChooserDialog.ItemChooserRow item2 =
+ new ItemChooserDialog.ItemChooserRow("key2", "desc2");
+ ItemChooserDialog.ItemChooserRow item3 =
+ new ItemChooserDialog.ItemChooserRow("key3", "desc3");
+
+ mChooserDialog.addOrUpdateItem(item1);
+ mChooserDialog.addOrUpdateItem(item2);
+ mChooserDialog.addOrUpdateItem(item3);
+
+ selectItem(dialog, 2, "key2", true);
+ assertTrue(button.isEnabled());
+
+ // Remove the item before the currently selected item.
+ mChooserDialog.removeItemFromList(item1);
+ assertTrue(button.isEnabled());
+ assertEquals("key2", itemAdapter.getSelectedItemKey());
+
+ // Remove the item after the currently selected item.
+ mChooserDialog.removeItemFromList(item3);
+ assertTrue(button.isEnabled());
+ assertEquals("key2", itemAdapter.getSelectedItemKey());
+
+ mChooserDialog.dismiss();
+ }
+
+ @LargeTest
+ public void testSelectAnItemAndRemoveTheSelectedItem() throws InterruptedException {
+ Dialog dialog = mChooserDialog.getDialogForTesting();
+ assertTrue(dialog.isShowing());
+
+ final Button button = (Button) dialog.findViewById(R.id.positive);
+ ItemChooserDialog.ItemAdapter itemAdapter = mChooserDialog.getItemAdapterForTesting();
+
+ ItemChooserDialog.ItemChooserRow item1 =
+ new ItemChooserDialog.ItemChooserRow("key1", "desc1");
+ ItemChooserDialog.ItemChooserRow item2 =
+ new ItemChooserDialog.ItemChooserRow("key2", "desc2");
+ ItemChooserDialog.ItemChooserRow item3 =
+ new ItemChooserDialog.ItemChooserRow("key3", "desc3");
+
+ mChooserDialog.addOrUpdateItem(item1);
+ mChooserDialog.addOrUpdateItem(item2);
+ mChooserDialog.addOrUpdateItem(item3);
+
+ selectItem(dialog, 2, "key2", true);
+ assertTrue(button.isEnabled());
+
+ // Remove the selected item.
+ mChooserDialog.removeItemFromList(item2);
+ assertFalse(button.isEnabled());
+ assertEquals("", itemAdapter.getSelectedItemKey());
+
+ mChooserDialog.dismiss();
+ }
+
+ @LargeTest
public void testAddOrUpdateItemAndRemoveItemFromList() throws InterruptedException {
Dialog dialog = mChooserDialog.getDialogForTesting();
assertTrue(dialog.isShowing());
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698