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

Unified Diff: chrome/test/data/webui/settings/reset_page_test.js

Issue 1853413002: MD Settings: Convert reset_page/ to use browser proxy pattern. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments. Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/webui/settings/cr_settings_browsertest.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/settings/reset_page_test.js
diff --git a/chrome/test/data/webui/settings/reset_page_test.js b/chrome/test/data/webui/settings/reset_page_test.js
index ae0714bc295e6af1e336d32328b2b6bb14a14596..ffe3271c3e5144257e5ad3ea73588ab876f09f0c 100644
--- a/chrome/test/data/webui/settings/reset_page_test.js
+++ b/chrome/test/data/webui/settings/reset_page_test.js
@@ -13,62 +13,101 @@ cr.define('settings_reset_page', function() {
ResetProfileDialogOpenClose: 'ResetProfileDialogOpenClose',
};
-
/**
- * @param {string} name chrome.send message name.
- * @return {!Promise} Fires when chrome.send is called with the given message
- * name.
+ * @constructor
+ * @implements {settings.ResetBrowserProxy}
+ * @extends {settings.TestBrowserProxy}
*/
- function whenChromeSendCalled(name) {
- return new Promise(function(resolve, reject) {
- registerMessageCallback(name, null, resolve);
- });
- }
+ var TestResetBrowserProxy = function() {
+ settings.TestBrowserProxy.call(this, [
+ 'performResetProfileSettings',
+ 'onHideResetProfileDialog',
+ 'onHideResetProfileBanner',
+ 'onShowResetProfileDialog',
+ 'onPowerwashDialogShow',
+ 'requestFactoryResetRestart',
+ ]);
+ };
+
+ TestResetBrowserProxy.prototype = {
+ __proto__: settings.TestBrowserProxy.prototype,
+
+ /** @override */
+ performResetProfileSettings: function(sendSettings) {
+ this.methodCalled('performResetProfileSettings');
+ return Promise.resolve();
+ },
+
+ /** @override */
+ onHideResetProfileDialog: function() {
+ this.methodCalled('onHideResetProfileDialog');
+ },
+
+ /** @override */
+ onHideResetProfileBanner: function() {
+ this.methodCalled('onHideResetProfileBanner');
+ },
+
+ /** @override */
+ onShowResetProfileDialog: function() {
+ this.methodCalled('onShowResetProfileDialog');
+ },
+
+ /** @override */
+ onPowerwashDialogShow: function() {
+ this.methodCalled('onPowerwashDialogShow');
+ },
+
+ /** @override */
+ requestFactoryResetRestart: function() {
+ this.methodCalled('requestFactoryResetRestart');
+ },
+ };
function registerBannerTests() {
suite('BannerTests', function() {
var resetBanner = null;
+ var browserProxy = null;
suiteSetup(function() {
- return Promise.all([
- PolymerTest.importHtml('chrome://md-settings/i18n_setup.html'),
- PolymerTest.importHtml(
- 'chrome://md-settings/reset_page/reset_profile_banner.html')
- ]);
+ return PolymerTest.importHtml(
+ 'chrome://md-settings/reset_page/reset_profile_banner.html');
});
setup(function() {
+ browserProxy = new TestResetBrowserProxy();
+ settings.ResetBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
resetBanner = document.createElement('settings-reset-profile-banner');
document.body.appendChild(resetBanner);
});
+ teardown(function() { resetBanner.remove(); });
+
// Tests that the reset profile banner
// - opens the reset profile dialog when the reset button is clicked.
// - the reset profile dialog is closed after reset is done.
test(TestNames.ResetBannerReset, function() {
var dialog = resetBanner.$$('settings-reset-profile-dialog');
- assert(!dialog);
+ assertFalse(!!dialog);
MockInteractions.tap(resetBanner.$['reset']);
Polymer.dom.flush();
dialog = resetBanner.$$('settings-reset-profile-dialog');
- assertNotEquals(undefined, dialog);
+ assertTrue(!!dialog);
- dialog.dispatchResetDoneEvent();
+ dialog.dispatchEvent(new CustomEvent('reset-done'));
Polymer.dom.flush();
assertEquals('none', dialog.style.display);
return Promise.resolve();
});
// Tests that the reset profile banner removes itself from the DOM when
- // the close button is clicked and that
- // chrome.send('onHideResetProfileBanner') is called.
+ // the close button is clicked and that |onHideResetProfileBanner| is
+ // called.
test(TestNames.ResetBannerClose, function() {
- var whenOnHideResetProfileBanner = whenChromeSendCalled(
- 'onHideResetProfileBanner');
MockInteractions.tap(resetBanner.$['close']);
- assert(!resetBanner.parentNode);
- return whenOnHideResetProfileBanner;
+ assertFalse(!!resetBanner.parentNode);
+ return browserProxy.whenCalled('onHideResetProfileBanner');
});
});
}
@@ -77,20 +116,15 @@ cr.define('settings_reset_page', function() {
suite('DialogTests', function() {
var resetPage = null;
- suiteSetup(function() {
- return Promise.all([
- PolymerTest.importHtml('chrome://md-settings/i18n_setup.html'),
- PolymerTest.importHtml(
- 'chrome://md-settings/reset_page/reset_page.html')
- ]);
- });
-
setup(function() {
+ browserProxy = new TestResetBrowserProxy();
+ settings.ResetBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
resetPage = document.createElement('settings-reset-page');
document.body.appendChild(resetPage);
});
+ teardown(function() { resetPage.remove(); });
/**
* @param {function(SettingsResetProfileDialogElemeent)}
@@ -98,30 +132,30 @@ cr.define('settings_reset_page', function() {
* @return {!Promise}
*/
function testOpenCloseResetProfileDialog(closeDialogFn) {
- var onShowResetProfileDialogCalled = whenChromeSendCalled(
- 'onShowResetProfileDialog');
- var onHideResetProfileDialogCalled = whenChromeSendCalled(
- 'onHideResetProfileDialog');
+ browserProxy.resetResolver('onShowResetProfileDialog');
+ browserProxy.resetResolver('onHideResetProfileDialog');
// Open reset profile dialog.
MockInteractions.tap(resetPage.$.resetProfile);
var dialog = resetPage.$$('settings-reset-profile-dialog');
+ assertTrue(!!dialog);
var onDialogClosed = new Promise(
function(resolve, reject) {
dialog.addEventListener('iron-overlay-closed', resolve);
});
- closeDialogFn(dialog);
-
- return Promise.all([
- onShowResetProfileDialogCalled,
- onHideResetProfileDialogCalled,
- onDialogClosed
- ]);
+ return browserProxy.whenCalled('onShowResetProfileDialog').then(
+ function() {
+ closeDialogFn(dialog);
+ return Promise.all([
+ onDialogClosed,
+ browserProxy.whenCalled('onHideResetProfileDialog'),
+ ]);
+ });
}
// Tests that the reset profile dialog opens and closes correctly and that
- // chrome.send calls are propagated as expected.
+ // browserProxy calls are occurring as expected.
test(TestNames.ResetProfileDialogOpenClose, function() {
return Promise.all([
// Test case where the 'cancel' button is clicked.
@@ -143,15 +177,15 @@ cr.define('settings_reset_page', function() {
]);
});
- // Tests that when resetting the profile is requested chrome.send calls
- // are propagated as expected.
+ // Tests that when user request to reset the profile the appropriate
+ // message is sent to the browser.
test(TestNames.ResetProfileDialogAction, function() {
// Open reset profile dialog.
MockInteractions.tap(resetPage.$.resetProfile);
var dialog = resetPage.$$('settings-reset-profile-dialog');
- var promise = whenChromeSendCalled('performResetProfileSettings');
+ assertTrue(!!dialog);
MockInteractions.tap(dialog.$.reset);
- return promise;
+ return browserProxy.whenCalled('performResetProfileSettings');
});
if (cr.isChromeOS) {
@@ -162,19 +196,20 @@ cr.define('settings_reset_page', function() {
* @return {!Promise}
*/
function testOpenClosePowerwashDialog(closeButtonFn) {
- var onPowerwashDialogShowCalled = whenChromeSendCalled(
- 'onPowerwashDialogShow');
-
// Open powerwash dialog.
MockInteractions.tap(resetPage.$.powerwash);
var dialog = resetPage.$$('settings-powerwash-dialog');
+ assertTrue(!!dialog);
var onDialogClosed = new Promise(
function(resolve, reject) {
dialog.addEventListener('iron-overlay-closed', resolve);
});
MockInteractions.tap(closeButtonFn(dialog));
- return Promise.all([onPowerwashDialogShowCalled, onDialogClosed]);
+ return Promise.all([
+ onDialogClosed,
+ browserProxy.whenCalled('onPowerwashDialogShow'),
+ ]);
}
// Tests that the powerwash dialog opens and closes correctly, and
@@ -196,9 +231,9 @@ cr.define('settings_reset_page', function() {
// Open powerwash dialog.
MockInteractions.tap(resetPage.$.powerwash);
var dialog = resetPage.$$('settings-powerwash-dialog');
- var promise = whenChromeSendCalled('requestFactoryResetRestart');
+ assertTrue(!!dialog);
MockInteractions.tap(dialog.$.powerwash);
- return promise;
+ return browserProxy.whenCalled('requestFactoryResetRestart');
});
}
});
« no previous file with comments | « chrome/test/data/webui/settings/cr_settings_browsertest.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698