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

Side by Side Diff: chrome/test/data/webui/settings/route_tests.js

Issue 2957153003: MD Settings: remove unsupported routes from guest-mode. (Closed)
Patch Set: merge Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 suite('route', function() { 5 suite('route', function() {
6 /** 6 /**
7 * Returns a new promise that resolves after a window 'popstate' event. 7 * Returns a new promise that resolves after a window 'popstate' event.
8 * @return {!Promise} 8 * @return {!Promise}
9 */ 9 */
10 function whenPopState(causeEvent) { 10 function whenPopState(causeEvent) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 assertTrue(SITE_SETTINGS_ALL.isSubpage()); 82 assertTrue(SITE_SETTINGS_ALL.isSubpage());
83 83
84 // Test a non-subpage child of ADVANCED. 84 // Test a non-subpage child of ADVANCED.
85 var CLEAR_BROWSER_DATA = ADVANCED.createChild('/clearBrowserData'); 85 var CLEAR_BROWSER_DATA = ADVANCED.createChild('/clearBrowserData');
86 assertFalse(CLEAR_BROWSER_DATA.isSubpage()); 86 assertFalse(CLEAR_BROWSER_DATA.isSubpage());
87 assertEquals('', CLEAR_BROWSER_DATA.section); 87 assertEquals('', CLEAR_BROWSER_DATA.section);
88 }); 88 });
89 89
90 test('no duplicate routes', function() { 90 test('no duplicate routes', function() {
91 var paths = new Set(); 91 var paths = new Set();
92 Object.values(settings.Route).forEach(function(route) { 92 Object.values(settings.routes).forEach(function(route) {
93 assertFalse(paths.has(route.path), route.path); 93 assertFalse(paths.has(route.path), route.path);
94 paths.add(route.path); 94 paths.add(route.path);
95 }); 95 });
96 }); 96 });
97 97
98 test('navigate back to parent previous route', function() { 98 test('navigate back to parent previous route', function() {
99 return testNavigateBackUsesHistory( 99 return testNavigateBackUsesHistory(
100 settings.Route.BASIC, 100 settings.routes.BASIC, settings.routes.PEOPLE, settings.routes.BASIC);
101 settings.Route.PEOPLE,
102 settings.Route.BASIC);
103 }); 101 });
104 102
105 test('navigate back to non-ancestor shallower route', function() { 103 test('navigate back to non-ancestor shallower route', function() {
106 return testNavigateBackUsesHistory( 104 return testNavigateBackUsesHistory(
107 settings.Route.ADVANCED, 105 settings.routes.ADVANCED, settings.routes.PEOPLE,
108 settings.Route.PEOPLE, 106 settings.routes.BASIC);
109 settings.Route.BASIC);
110 }); 107 });
111 108
112 test('navigate back to sibling route', function() { 109 test('navigate back to sibling route', function() {
113 return testNavigateBackUsesHistory( 110 return testNavigateBackUsesHistory(
114 settings.Route.APPEARANCE, 111 settings.routes.APPEARANCE, settings.routes.PEOPLE,
115 settings.Route.PEOPLE, 112 settings.routes.APPEARANCE);
116 settings.Route.APPEARANCE);
117 }); 113 });
118 114
119 test('navigate back to parent when previous route is deeper', function() { 115 test('navigate back to parent when previous route is deeper', function() {
120 settings.navigateTo(settings.Route.SYNC); 116 settings.navigateTo(settings.routes.SYNC);
121 settings.navigateTo(settings.Route.PEOPLE); 117 settings.navigateTo(settings.routes.PEOPLE);
122 settings.navigateToPreviousRoute(); 118 settings.navigateToPreviousRoute();
123 assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); 119 assertEquals(settings.routes.BASIC, settings.getCurrentRoute());
124 }); 120 });
125 121
126 test('navigate back to BASIC when going back from root pages', function() { 122 test('navigate back to BASIC when going back from root pages', function() {
127 settings.navigateTo(settings.Route.PEOPLE); 123 settings.navigateTo(settings.routes.PEOPLE);
128 settings.navigateTo(settings.Route.ADVANCED); 124 settings.navigateTo(settings.routes.ADVANCED);
129 settings.navigateToPreviousRoute(); 125 settings.navigateToPreviousRoute();
130 assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); 126 assertEquals(settings.routes.BASIC, settings.getCurrentRoute());
131 }); 127 });
132 128
133 test('navigateTo respects removeSearch optional parameter', function() { 129 test('navigateTo respects removeSearch optional parameter', function() {
134 var params = new URLSearchParams('search=foo'); 130 var params = new URLSearchParams('search=foo');
135 settings.navigateTo(settings.Route.BASIC, params); 131 settings.navigateTo(settings.routes.BASIC, params);
136 assertEquals(params.toString(), settings.getQueryParameters().toString()); 132 assertEquals(params.toString(), settings.getQueryParameters().toString());
137 133
138 settings.navigateTo( 134 settings.navigateTo(
139 settings.Route.SITE_SETTINGS, null, /* removeSearch */ false); 135 settings.routes.SITE_SETTINGS, null,
136 /* removeSearch */ false);
140 assertEquals(params.toString(), settings.getQueryParameters().toString()); 137 assertEquals(params.toString(), settings.getQueryParameters().toString());
141 138
142 settings.navigateTo( 139 settings.navigateTo(
143 settings.Route.SEARCH_ENGINES, null, /* removeSearch */ true); 140 settings.routes.SEARCH_ENGINES, null,
141 /* removeSearch */ true);
144 assertEquals('', settings.getQueryParameters().toString()); 142 assertEquals('', settings.getQueryParameters().toString());
145 }); 143 });
146 144
147 test('navigateTo ADVANCED forwards to BASIC', function() { 145 test('navigateTo ADVANCED forwards to BASIC', function() {
148 settings.navigateTo(settings.Route.ADVANCED); 146 settings.navigateTo(settings.routes.ADVANCED);
149 assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); 147 assertEquals(settings.routes.BASIC, settings.getCurrentRoute());
150 }); 148 });
151 149
152 test('popstate flag works', function() { 150 test('popstate flag works', function() {
153 settings.navigateTo(settings.Route.BASIC); 151 settings.navigateTo(settings.routes.BASIC);
154 assertFalse(settings.lastRouteChangeWasPopstate()); 152 assertFalse(settings.lastRouteChangeWasPopstate());
155 153
156 settings.navigateTo(settings.Route.PEOPLE); 154 settings.navigateTo(settings.routes.PEOPLE);
157 assertFalse(settings.lastRouteChangeWasPopstate()); 155 assertFalse(settings.lastRouteChangeWasPopstate());
158 156
159 return whenPopState(function() { 157 return whenPopState(function() {
160 window.history.back(); 158 window.history.back();
161 }).then(function() { 159 })
162 assertEquals(settings.Route.BASIC, settings.getCurrentRoute()); 160 .then(function() {
163 assertTrue(settings.lastRouteChangeWasPopstate()); 161 assertEquals(settings.routes.BASIC, settings.getCurrentRoute());
162 assertTrue(settings.lastRouteChangeWasPopstate());
164 163
165 settings.navigateTo(settings.Route.ADVANCED); 164 settings.navigateTo(settings.routes.ADVANCED);
166 assertFalse(settings.lastRouteChangeWasPopstate()); 165 assertFalse(settings.lastRouteChangeWasPopstate());
167 }); 166 });
168 }); 167 });
169 168
170 test('getRouteForPath trailing slashes', function() { 169 test('getRouteForPath trailing slashes', function() {
171 assertEquals(settings.Route.BASIC, settings.getRouteForPath('/')); 170 assertEquals(settings.routes.BASIC, settings.getRouteForPath('/'));
172 assertEquals(null, settings.getRouteForPath('//')); 171 assertEquals(null, settings.getRouteForPath('//'));
173 172
174 // Simple path. 173 // Simple path.
175 assertEquals(settings.Route.PEOPLE, settings.getRouteForPath('/people/')); 174 assertEquals(settings.routes.PEOPLE, settings.getRouteForPath('/people/'));
176 assertEquals(settings.Route.PEOPLE, settings.getRouteForPath('/people')); 175 assertEquals(settings.routes.PEOPLE, settings.getRouteForPath('/people'));
177 176
178 // Path with a slash. 177 // Path with a slash.
179 assertEquals( 178 assertEquals(
180 settings.Route.SITE_SETTINGS_COOKIES, 179 settings.routes.SITE_SETTINGS_COOKIES,
181 settings.getRouteForPath('/content/cookies')); 180 settings.getRouteForPath('/content/cookies'));
182 assertEquals( 181 assertEquals(
183 settings.Route.SITE_SETTINGS_COOKIES, 182 settings.routes.SITE_SETTINGS_COOKIES,
184 settings.getRouteForPath('/content/cookies/')); 183 settings.getRouteForPath('/content/cookies/'));
185 184
186 if (cr.isChromeOS) { 185 if (cr.isChromeOS) {
187 // Path with a dash. 186 // Path with a dash.
188 assertEquals( 187 assertEquals(
189 settings.Route.KEYBOARD, 188 settings.routes.KEYBOARD,
190 settings.getRouteForPath('/keyboard-overlay')); 189 settings.getRouteForPath('/keyboard-overlay'));
191 assertEquals( 190 assertEquals(
192 settings.Route.KEYBOARD, 191 settings.routes.KEYBOARD,
193 settings.getRouteForPath('/keyboard-overlay/')); 192 settings.getRouteForPath('/keyboard-overlay/'));
194 } 193 }
195 }); 194 });
196 195
197 test('isNavigableDialog', function() { 196 test('isNavigableDialog', function() {
198 assertTrue(settings.Route.CLEAR_BROWSER_DATA.isNavigableDialog); 197 assertTrue(settings.routes.CLEAR_BROWSER_DATA.isNavigableDialog);
199 assertTrue(settings.Route.IMPORT_DATA.isNavigableDialog); 198 assertTrue(settings.routes.IMPORT_DATA.isNavigableDialog);
200 assertTrue(settings.Route.RESET_DIALOG.isNavigableDialog); 199 assertTrue(settings.routes.RESET_DIALOG.isNavigableDialog);
201 assertTrue(settings.Route.SIGN_OUT.isNavigableDialog); 200 assertTrue(settings.routes.SIGN_OUT.isNavigableDialog);
202 assertTrue(settings.Route.TRIGGERED_RESET_DIALOG.isNavigableDialog); 201 assertTrue(settings.routes.TRIGGERED_RESET_DIALOG.isNavigableDialog);
203 202
204 assertFalse(settings.Route.PRIVACY.isNavigableDialog); 203 assertFalse(settings.routes.PRIVACY.isNavigableDialog);
205 assertFalse(settings.Route.DEFAULT_BROWSER.isNavigableDialog); 204 assertFalse(settings.routes.DEFAULT_BROWSER.isNavigableDialog);
205 });
206
207 test('pageVisibility affects route availability', function() {
208 settings.pageVisibility = {
209 advancedSettings: false,
210 appearance: false,
211 defaultBrowser: false,
212 onStartup: false,
213 passwordsAndForms: false,
214 people: false,
215 reset: false,
216 };
217
218 var router = new settings.Router();
219 var hasRoute = route => router.getRoutes().hasOwnProperty(route);
220
221 assertTrue(hasRoute('BASIC'));
222
223 assertFalse(hasRoute('ADVANCED'));
224 assertFalse(hasRoute('APPEARANCE'));
225 assertFalse(hasRoute('DEFAULT_BROWSER'));
226 assertFalse(hasRoute('ON_STARTUP'));
227 assertFalse(hasRoute('PASSWORDS'));
228 assertFalse(hasRoute('PEOPLE'));
229 assertFalse(hasRoute('RESET'));
206 }); 230 });
207 }); 231 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698