Index: chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistilledPagePrefsTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistilledPagePrefsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistilledPagePrefsTest.java |
index cf39057a5c7a11356aad0bd2eb3b8f759c22c1d7..a5dc780ba3802e68cda435b999bed41a8804f7dd 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistilledPagePrefsTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistilledPagePrefsTest.java |
@@ -92,6 +92,22 @@ public class DistilledPagePrefsTest extends ChromeShellTestBase { |
mDistilledPagePrefs.removeObserver(testObserverTwo); |
} |
+ @SmallTest |
+ @Feature({"DomDistiller"}) |
+ public void testRepeatedAddAndDeleteObserver() throws InterruptedException { |
+ TestingObserver test = new TestingObserver(); |
+ |
+ // Should successfully add the observer the first time. |
+ assertTrue(mDistilledPagePrefs.addObserver(test)); |
+ // Observer cannot be added again, should return false. |
+ assertFalse(mDistilledPagePrefs.addObserver(test)); |
+ |
+ // Delete the observer the first time. |
+ assertTrue(mDistilledPagePrefs.removeObserver(test)); |
+ // Observer cannot be deleted again, should return false. |
+ assertFalse(mDistilledPagePrefs.removeObserver(test)); |
+ } |
+ |
private static class TestingObserver implements DistilledPagePrefs.Observer { |
private Theme mTheme; |