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

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

Issue 2337143004: Add tests for DocumentModeAssassin#isOptedOutOfDocumentMode() (Closed)
Patch Set: Add tests for DocumentModeAssassin#isOptedOutOfDocumentMode() 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/tabmodel/DocumentModeAssassin.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/tabmodel/DocumentModeAssassinTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassinTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassinTest.java
index 028e84c11f859966ee11c1641c1e52d1c38743f6..7a6c6a8d2972d1a646ce073f8781778d6632f9da 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassinTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassinTest.java
@@ -612,6 +612,45 @@ public class DocumentModeAssassinTest extends NativeLibraryTestBase {
assertFalse(prefs.contains(keyToBeDeleted));
}
+ @SmallTest
+ public void testIsOptedOutOfDocumentModeMigration() throws Exception {
+ TabPersistentStore.setBaseStateDirectoryForTests(mTabbedModeDirectory.getBaseDirectory());
+ SharedPreferences.Editor sharedPreferencesEditor =
+ ContextUtils.getAppSharedPreferences().edit();
+
+ // If no preferences for document mode are set, the user is not in document mode.
+ sharedPreferencesEditor.remove(DocumentModeAssassin.MIGRATION_ON_UPGRADE_ATTEMPTED);
+ sharedPreferencesEditor.remove(DocumentModeAssassin.OPT_OUT_STATE);
+ sharedPreferencesEditor.apply();
+ assertTrue(DocumentModeAssassin.isOptedOutOfDocumentMode());
+
+ // If the preference for opting out of document mode is set, the user is not in document
+ // mode.
+ sharedPreferencesEditor.remove(DocumentModeAssassin.MIGRATION_ON_UPGRADE_ATTEMPTED);
+ sharedPreferencesEditor.putInt(DocumentModeAssassin.OPT_OUT_STATE,
+ DocumentModeAssassin.OPTED_OUT_OF_DOCUMENT_MODE);
+ sharedPreferencesEditor.apply();
+ assertTrue(DocumentModeAssassin.isOptedOutOfDocumentMode());
+
+ // If the user has been migrated into document mode and no preference has been set for
+ // OPT_OUT_STATE, the user should still be in document mode.
+ sharedPreferencesEditor.putBoolean(DocumentModeAssassin.MIGRATION_ON_UPGRADE_ATTEMPTED,
+ true);
+ sharedPreferencesEditor.remove(DocumentModeAssassin.OPT_OUT_STATE);
+ sharedPreferencesEditor.apply();
+ assertFalse(DocumentModeAssassin.isOptedOutOfDocumentMode());
+
+ // If the user has been migrated into document mode and no preference has been set for
+ // OPT_OUT_STATE, but a "new" tabbed mode metadata file exists, migration has already been
+ // attempted or incorrectly skipped. The user is not in document mode.
+ sharedPreferencesEditor.putBoolean(DocumentModeAssassin.MIGRATION_ON_UPGRADE_ATTEMPTED,
+ true);
+ sharedPreferencesEditor.remove(DocumentModeAssassin.OPT_OUT_STATE);
+ sharedPreferencesEditor.apply();
+ mTabbedModeDirectory.writeTabModelFiles(TestTabModelDirectory.TAB_MODEL_METADATA_V5, false);
+ assertTrue(DocumentModeAssassin.isOptedOutOfDocumentMode());
+ }
+
/** Creates a DocumentModeAssassin with all of its calls pointing at our mocked classes.
* @param isMigrationNecessary TODO(dfalcantara):*/
private DocumentModeAssassinForTesting createAssassinForTesting(
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698