Chromium Code Reviews| 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..142e169d917e8e15467e507a993cd9d15d84a20a 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,133 @@ 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(); |
|
dpapad
2017/07/07 21:19:30
Nit (optional): Maybe avoid repetition as follows?
scottchen
2017/07/07 22:15:30
Done.
|
| + assertTrue(router.getRoutes().hasOwnProperty('BASIC')); |
| + |
| + assertFalse(router.getRoutes().hasOwnProperty('ADVANCED')); |
| + assertFalse(router.getRoutes().hasOwnProperty('APPEARANCE')); |
| + assertFalse(router.getRoutes().hasOwnProperty('DEFAULT_BROWSER')); |
| + assertFalse(router.getRoutes().hasOwnProperty('ON_STARTUP')); |
| + assertFalse(router.getRoutes().hasOwnProperty('PASSWORDS')); |
| + assertFalse(router.getRoutes().hasOwnProperty('PEOPLE')); |
| + assertFalse(router.getRoutes().hasOwnProperty('RESET')); |
| }); |
| }); |