| Index: chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| diff --git a/chrome/test/data/webui/settings/cr_settings_browsertest.js b/chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| index c205465b39ff0a2b6ddad58f15faa1b5a4cfd860..26f76c00fe872eb97064924fdcedf9c4b7c85c90 100644
|
| --- a/chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| +++ b/chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| @@ -682,3 +682,45 @@ TEST_F('CrSettingsNonExistentRouteTest', 'All', function() {
|
| });
|
| mocha.run();
|
| });
|
| +
|
| +/**
|
| + * @constructor
|
| + * @extends {SettingsPageBrowserTest}
|
| +*/
|
| +function CrSettingsRouteDynamicParametersTest() {}
|
| +
|
| +CrSettingsRouteDynamicParametersTest.prototype = {
|
| + __proto__: CrSettingsBrowserTest.prototype,
|
| +
|
| + /** @override */
|
| + browsePreload: 'chrome://md-settings/people?guid=a%2Fb&foo=42',
|
| +};
|
| +
|
| +TEST_F('CrSettingsRouteDynamicParametersTest', 'All', function() {
|
| + suite('DynamicParameters', function() {
|
| + test('get parameters from URL and navigation', function(done) {
|
| + assertEquals(settings.Route.PEOPLE, settings.getCurrentRoute());
|
| + assertEquals('a/b', settings.getQueryParameters().get('guid'));
|
| + assertEquals('42', settings.getQueryParameters().get('foo'));
|
| +
|
| + var params = new URLSearchParams();
|
| + params.set('bar', 'b=z');
|
| + params.set('biz', '3');
|
| + settings.navigateTo(settings.Route.SYNC, params);
|
| + assertEquals(settings.Route.SYNC, settings.getCurrentRoute());
|
| + assertEquals('b=z', settings.getQueryParameters().get('bar'));
|
| + assertEquals('3', settings.getQueryParameters().get('biz'));
|
| + assertEquals('?bar=b%3Dz&biz=3', window.location.search);
|
| +
|
| + window.addEventListener('popstate', function(event) {
|
| + assertEquals('/people', settings.getCurrentRoute().path);
|
| + assertEquals(settings.Route.PEOPLE, settings.getCurrentRoute());
|
| + assertEquals('a/b', settings.getQueryParameters().get('guid'));
|
| + assertEquals('42', settings.getQueryParameters().get('foo'));
|
| + done();
|
| + });
|
| + window.history.back();
|
| + });
|
| + });
|
| + mocha.run();
|
| +});
|
|
|