| 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..5125ec0ce0cedd4fd01490f065483e281ee9932c 100644
|
| --- a/chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| +++ b/chrome/test/data/webui/settings/cr_settings_browsertest.js
|
| @@ -682,3 +682,40 @@ TEST_F('CrSettingsNonExistentRouteTest', 'All', function() {
|
| });
|
| mocha.run();
|
| });
|
| +
|
| +/**
|
| + * @constructor
|
| + * @extends {SettingsPageBrowserTest}
|
| +*/
|
| +function CrSettingsRouteDynamicParametersTest() {}
|
| +
|
| +CrSettingsRouteDynamicParametersTest.prototype = {
|
| + __proto__: CrSettingsBrowserTest.prototype,
|
| +
|
| + /** @override */
|
| + browsePreload: 'chrome://md-settings/internet?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.INTERNET, settings.getCurrentRoute());
|
| + assertDeepEquals({guid: 'a/b', foo: '42'}, settings.getQueryParameters());
|
| +
|
| + settings.navigateTo(settings.Route.SYNC, {bar: 'b=z', biz: '3'});
|
| + assertEquals(settings.Route.SYNC, settings.getCurrentRoute());
|
| + assertDeepEquals({bar: 'b=z', biz: '3'}, settings.getQueryParameters());
|
| + assertEquals('?bar=b%3Dz&biz=3', window.location.search);
|
| +
|
| + window.addEventListener('popstate', function(event) {
|
| + assertEquals('/internet', settings.getCurrentRoute().path);
|
| + assertEquals(settings.Route.INTERNET, settings.getCurrentRoute());
|
| + assertDeepEquals(
|
| + {guid: 'a/b', foo: '42'}, settings.getQueryParameters());
|
| + done();
|
| + });
|
| + window.history.back();
|
| + });
|
| + });
|
| + mocha.run();
|
| +});
|
|
|