Index: chrome/test/data/webui/settings/route_tests.js |
diff --git a/chrome/test/data/webui/settings/route_tests.js b/chrome/test/data/webui/settings/route_tests.js |
index ab0c682e3a658ccae27c3b1087d02f9ff1e0a88e..a7041aaa166057eddbacbc214127810ffcfceb61 100644 |
--- a/chrome/test/data/webui/settings/route_tests.js |
+++ b/chrome/test/data/webui/settings/route_tests.js |
@@ -89,7 +89,7 @@ suite('route', function() { |
test('no duplicate routes', function() { |
var paths = new Set(); |
- Object.values(settings.Route).forEach(function(route) { |
+ Object.values(settings.routes).forEach(function(route) { |
assertFalse(paths.has(route.path), route.path); |
paths.add(route.path); |
}); |
@@ -97,111 +97,135 @@ suite('route', function() { |
test('navigate back to parent previous route', function() { |
return testNavigateBackUsesHistory( |
- settings.Route.BASIC, |
- settings.Route.PEOPLE, |
- settings.Route.BASIC); |
+ settings.routes.BASIC, settings.routes.PEOPLE, settings.routes.BASIC); |
}); |
test('navigate back to non-ancestor shallower route', function() { |
return testNavigateBackUsesHistory( |
- settings.Route.ADVANCED, |
- settings.Route.PEOPLE, |
- settings.Route.BASIC); |
+ settings.routes.ADVANCED, settings.routes.PEOPLE, |
+ settings.routes.BASIC); |
}); |
test('navigate back to sibling route', function() { |
return testNavigateBackUsesHistory( |
- settings.Route.APPEARANCE, |
- settings.Route.PEOPLE, |
- settings.Route.APPEARANCE); |
+ settings.routes.APPEARANCE, settings.routes.PEOPLE, |
+ settings.routes.APPEARANCE); |
}); |
test('navigate back to parent when previous route is deeper', function() { |
- settings.navigateTo(settings.Route.SYNC); |
- settings.navigateTo(settings.Route.PEOPLE); |
+ settings.navigateTo(settings.routes.SYNC); |
+ settings.navigateTo(settings.routes.PEOPLE); |
settings.navigateToPreviousRoute(); |
- assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); |
+ assertEquals(settings.routes.BASIC, settings.getCurrentRoute()); |
}); |
test('navigate back to BASIC when going back from root pages', function() { |
- settings.navigateTo(settings.Route.PEOPLE); |
- settings.navigateTo(settings.Route.ADVANCED); |
+ settings.navigateTo(settings.routes.PEOPLE); |
+ settings.navigateTo(settings.routes.ADVANCED); |
settings.navigateToPreviousRoute(); |
- assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); |
+ assertEquals(settings.routes.BASIC, settings.getCurrentRoute()); |
}); |
test('navigateTo respects removeSearch optional parameter', function() { |
var params = new URLSearchParams('search=foo'); |
- settings.navigateTo(settings.Route.BASIC, params); |
+ settings.navigateTo(settings.routes.BASIC, params); |
assertEquals(params.toString(), settings.getQueryParameters().toString()); |
settings.navigateTo( |
- settings.Route.SITE_SETTINGS, null, /* removeSearch */ false); |
+ settings.routes.SITE_SETTINGS, null, |
+ /* removeSearch */ false); |
assertEquals(params.toString(), settings.getQueryParameters().toString()); |
settings.navigateTo( |
- settings.Route.SEARCH_ENGINES, null, /* removeSearch */ true); |
+ settings.routes.SEARCH_ENGINES, null, |
+ /* removeSearch */ true); |
assertEquals('', settings.getQueryParameters().toString()); |
}); |
test('navigateTo ADVANCED forwards to BASIC', function() { |
- settings.navigateTo(settings.Route.ADVANCED); |
- assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); |
+ settings.navigateTo(settings.routes.ADVANCED); |
+ assertEquals(settings.routes.BASIC, settings.getCurrentRoute()); |
}); |
test('popstate flag works', function() { |
- settings.navigateTo(settings.Route.BASIC); |
+ settings.navigateTo(settings.routes.BASIC); |
assertFalse(settings.lastRouteChangeWasPopstate()); |
- settings.navigateTo(settings.Route.PEOPLE); |
+ settings.navigateTo(settings.routes.PEOPLE); |
assertFalse(settings.lastRouteChangeWasPopstate()); |
return whenPopState(function() { |
- window.history.back(); |
- }).then(function() { |
- assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); |
- assertTrue(settings.lastRouteChangeWasPopstate()); |
- |
- settings.navigateTo(settings.Route.ADVANCED); |
- assertFalse(settings.lastRouteChangeWasPopstate()); |
- }); |
+ window.history.back(); |
+ }) |
+ .then(function() { |
+ assertEquals(settings.routes.BASIC, settings.getCurrentRoute()); |
+ assertTrue(settings.lastRouteChangeWasPopstate()); |
+ |
+ settings.navigateTo(settings.routes.ADVANCED); |
+ assertFalse(settings.lastRouteChangeWasPopstate()); |
+ }); |
}); |
test('getRouteForPath trailing slashes', function() { |
- assertEquals(settings.Route.BASIC, settings.getRouteForPath('/')); |
+ assertEquals(settings.routes.BASIC, settings.getRouteForPath('/')); |
assertEquals(null, settings.getRouteForPath('//')); |
// Simple path. |
- assertEquals(settings.Route.PEOPLE, settings.getRouteForPath('/people/')); |
- assertEquals(settings.Route.PEOPLE, settings.getRouteForPath('/people')); |
+ assertEquals(settings.routes.PEOPLE, settings.getRouteForPath('/people/')); |
+ assertEquals(settings.routes.PEOPLE, settings.getRouteForPath('/people')); |
// Path with a slash. |
assertEquals( |
- settings.Route.SITE_SETTINGS_COOKIES, |
+ settings.routes.SITE_SETTINGS_COOKIES, |
settings.getRouteForPath('/content/cookies')); |
assertEquals( |
- settings.Route.SITE_SETTINGS_COOKIES, |
+ settings.routes.SITE_SETTINGS_COOKIES, |
settings.getRouteForPath('/content/cookies/')); |
if (cr.isChromeOS) { |
// Path with a dash. |
assertEquals( |
- settings.Route.KEYBOARD, |
+ settings.routes.KEYBOARD, |
settings.getRouteForPath('/keyboard-overlay')); |
assertEquals( |
- settings.Route.KEYBOARD, |
+ settings.routes.KEYBOARD, |
settings.getRouteForPath('/keyboard-overlay/')); |
} |
}); |
test('isNavigableDialog', function() { |
- assertTrue(settings.Route.CLEAR_BROWSER_DATA.isNavigableDialog); |
- assertTrue(settings.Route.IMPORT_DATA.isNavigableDialog); |
- assertTrue(settings.Route.RESET_DIALOG.isNavigableDialog); |
- assertTrue(settings.Route.SIGN_OUT.isNavigableDialog); |
- assertTrue(settings.Route.TRIGGERED_RESET_DIALOG.isNavigableDialog); |
- |
- assertFalse(settings.Route.PRIVACY.isNavigableDialog); |
- assertFalse(settings.Route.DEFAULT_BROWSER.isNavigableDialog); |
+ assertTrue(settings.routes.CLEAR_BROWSER_DATA.isNavigableDialog); |
+ assertTrue(settings.routes.IMPORT_DATA.isNavigableDialog); |
+ assertTrue(settings.routes.RESET_DIALOG.isNavigableDialog); |
+ assertTrue(settings.routes.SIGN_OUT.isNavigableDialog); |
+ assertTrue(settings.routes.TRIGGERED_RESET_DIALOG.isNavigableDialog); |
+ |
+ assertFalse(settings.routes.PRIVACY.isNavigableDialog); |
+ assertFalse(settings.routes.DEFAULT_BROWSER.isNavigableDialog); |
+ }); |
+ |
+ test('pageVisibility affects route availability', function() { |
+ settings.pageVisibility = { |
+ advancedSettings: false, |
+ appearance: false, |
+ defaultBrowser: false, |
+ onStartup: false, |
+ passwordsAndForms: false, |
+ people: false, |
+ reset: false, |
+ }; |
+ |
+ var router = new settings.Router(); |
+ var hasRoute = route => router.getRoutes().hasOwnProperty(route); |
+ |
+ assertTrue(hasRoute('BASIC')); |
+ |
+ assertFalse(hasRoute('ADVANCED')); |
+ assertFalse(hasRoute('APPEARANCE')); |
+ assertFalse(hasRoute('DEFAULT_BROWSER')); |
+ assertFalse(hasRoute('ON_STARTUP')); |
+ assertFalse(hasRoute('PASSWORDS')); |
+ assertFalse(hasRoute('PEOPLE')); |
+ assertFalse(hasRoute('RESET')); |
}); |
}); |