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

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

Issue 2457233002: [Android] Call onDismissNoAction() after dismissSnackbar() is called (Closed)
Patch Set: Created 4 years, 2 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/snackbar/SnackbarCollection.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/snackbar/SnackbarTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java
index 414eee82b1236586c37294d0dc1d2c94497a084a..c5032e7d17086654409ee8a335202bc5d9543451 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java
@@ -18,8 +18,8 @@ import org.chromium.content.browser.test.util.CriteriaHelper;
* Tests for {@link SnackbarManager}.
*/
public class SnackbarTest extends ChromeTabbedActivityTestBase {
- SnackbarManager mManager;
- SnackbarController mDefaultController = new SnackbarController() {
+ private SnackbarManager mManager;
+ private SnackbarController mDefaultController = new SnackbarController() {
@Override
public void onDismissNoAction(Object actionData) {
}
@@ -29,6 +29,18 @@ public class SnackbarTest extends ChromeTabbedActivityTestBase {
}
};
+ private SnackbarController mDismissController = new SnackbarController() {
+ @Override
+ public void onDismissNoAction(Object actionData) {
+ mDismissed = true;
+ }
+
+ @Override
+ public void onAction(Object actionData) { }
+ };
+
+ private boolean mDismissed;
+
@Override
public void startMainActivity() throws InterruptedException {
SnackbarManager.setDurationForTesting(1000);
@@ -118,4 +130,37 @@ public class SnackbarTest extends ChromeTabbedActivityTestBase {
}
});
}
+
+ @SmallTest
+ public void testDismissSnackbar() throws InterruptedException {
+ final Snackbar snackbar = Snackbar.make("stack", mDismissController,
+ Snackbar.TYPE_ACTION, Snackbar.UMA_TEST_SNACKBAR);
+ mDismissed = false;
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mManager.showSnackbar(snackbar);
+ }
+ });
+ CriteriaHelper.pollUiThread(
+ new Criteria("Snackbar on queue was not cleared by snackbar stack.") {
+ @Override
+ public boolean isSatisfied() {
+ return mManager.isShowing()
+ && mManager.getCurrentSnackbarForTesting() == snackbar;
+ }
+ });
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mManager.dismissSnackbars(mDismissController);
+ }
+ });
+ CriteriaHelper.pollUiThread(new Criteria("Snackbar did not time out") {
+ @Override
+ public boolean isSatisfied() {
+ return !mManager.isShowing() && mDismissed;
+ }
+ });
+ }
}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarCollection.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698