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

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

Issue 2180823004: Migrate <cr-dialog> from PaperDialogBehavior to native <dialog>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 cr.define('settings_reset_page', function() { 5 cr.define('settings_reset_page', function() {
6 /** @enum {string} */ 6 /** @enum {string} */
7 var TestNames = { 7 var TestNames = {
8 PowerwashDialogAction: 'PowerwashDialogAction', 8 PowerwashDialogAction: 'PowerwashDialogAction',
9 PowerwashDialogOpenClose: 'PowerwashDialogOpenClose', 9 PowerwashDialogOpenClose: 'PowerwashDialogOpenClose',
10 ResetBannerClose: 'ResetBannerClose', 10 ResetBannerClose: 'ResetBannerClose',
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 * @return {!Promise} 144 * @return {!Promise}
145 */ 145 */
146 function testOpenCloseResetProfileDialog(closeDialogFn) { 146 function testOpenCloseResetProfileDialog(closeDialogFn) {
147 resetPageBrowserProxy.resetResolver('onShowResetProfileDialog'); 147 resetPageBrowserProxy.resetResolver('onShowResetProfileDialog');
148 resetPageBrowserProxy.resetResolver('onHideResetProfileDialog'); 148 resetPageBrowserProxy.resetResolver('onHideResetProfileDialog');
149 149
150 // Open reset profile dialog. 150 // Open reset profile dialog.
151 MockInteractions.tap(resetPage.$.resetProfile); 151 MockInteractions.tap(resetPage.$.resetProfile);
152 var dialog = resetPage.$$('settings-reset-profile-dialog'); 152 var dialog = resetPage.$$('settings-reset-profile-dialog');
153 assertTrue(!!dialog); 153 assertTrue(!!dialog);
154 assertTrue(dialog.$.dialog.opened); 154 assertTrue(dialog.$.dialog.open);
155 var onDialogClosed = new Promise( 155 var onDialogClosed = new Promise(
156 function(resolve, reject) { 156 function(resolve, reject) {
157 dialog.addEventListener('iron-overlay-closed', function() { 157 dialog.addEventListener('close', function() {
158 assertFalse(dialog.$.dialog.opened); 158 assertFalse(dialog.$.dialog.open);
159 resolve(); 159 resolve();
160 }); 160 });
161 }); 161 });
162 162
163 return new Promise(function(resolve, reject) { 163 return resetPageBrowserProxy.whenCalled(
164 resetPageBrowserProxy.whenCalled(
165 'onShowResetProfileDialog').then(function() { 164 'onShowResetProfileDialog').then(function() {
166 // Need to call requestAnimationFrame here, otherwise the dialog has 165 closeDialogFn(dialog);
167 // not been registered to the IronOverlayManager at the time we 166 return Promise.all([
168 // attempt to close it (which prevents closing by 'esc' key from 167 onDialogClosed,
169 // working). 168 resetPageBrowserProxy.whenCalled('onHideResetProfileDialog'),
170 window.requestAnimationFrame(function() { 169 ]);
171 closeDialogFn(dialog);
172 Promise.all([
173 onDialogClosed,
174 resetPageBrowserProxy.whenCalled('onHideResetProfileDialog'),
175 ]).then(resolve, reject);
176 });
177 });
178 }); 170 });
179 } 171 }
180 172
181 // Tests that the reset profile dialog opens and closes correctly and that 173 // Tests that the reset profile dialog opens and closes correctly and that
182 // resetPageBrowserProxy calls are occurring as expected. 174 // resetPageBrowserProxy calls are occurring as expected.
183 test(TestNames.ResetProfileDialogOpenClose, function() { 175 test(TestNames.ResetProfileDialogOpenClose, function() {
184 return testOpenCloseResetProfileDialog(function(dialog) { 176 return testOpenCloseResetProfileDialog(function(dialog) {
185 // Test case where the 'cancel' button is clicked. 177 // Test case where the 'cancel' button is clicked.
186 MockInteractions.tap(dialog.$.cancel); 178 MockInteractions.tap(dialog.$.cancel);
187 }).then(function() { 179 }).then(function() {
188 return testOpenCloseResetProfileDialog(function(dialog) { 180 return testOpenCloseResetProfileDialog(function(dialog) {
189 // Test case where the 'close' button is clicked. 181 // Test case where the 'close' button is clicked.
190 MockInteractions.tap(dialog.$.dialog.getCloseButton()); 182 MockInteractions.tap(dialog.$.dialog.getCloseButton());
191 }); 183 });
192 }).then(function() {
193 return testOpenCloseResetProfileDialog(function(dialog) {
194 // Test case where the 'Esc' key is pressed.
195 MockInteractions.pressAndReleaseKeyOn(
196 dialog, 27 /* 'Esc' key code */);
197 });
198 }); 184 });
199 }); 185 });
200 186
201 // Tests that when user request to reset the profile the appropriate 187 // Tests that when user request to reset the profile the appropriate
202 // message is sent to the browser. 188 // message is sent to the browser.
203 test(TestNames.ResetProfileDialogAction, function() { 189 test(TestNames.ResetProfileDialogAction, function() {
204 // Open reset profile dialog. 190 // Open reset profile dialog.
205 MockInteractions.tap(resetPage.$.resetProfile); 191 MockInteractions.tap(resetPage.$.resetProfile);
206 var dialog = resetPage.$$('settings-reset-profile-dialog'); 192 var dialog = resetPage.$$('settings-reset-profile-dialog');
207 assertTrue(!!dialog); 193 assertTrue(!!dialog);
(...skipping 19 matching lines...) Expand all
227 * @param {function(SettingsPowerwashDialogElemeent):!Element} 213 * @param {function(SettingsPowerwashDialogElemeent):!Element}
228 * closeButtonFn A function that returns the button to be used for 214 * closeButtonFn A function that returns the button to be used for
229 * closing the dialog. 215 * closing the dialog.
230 * @return {!Promise} 216 * @return {!Promise}
231 */ 217 */
232 function testOpenClosePowerwashDialog(closeButtonFn) { 218 function testOpenClosePowerwashDialog(closeButtonFn) {
233 // Open powerwash dialog. 219 // Open powerwash dialog.
234 MockInteractions.tap(resetPage.$.powerwash); 220 MockInteractions.tap(resetPage.$.powerwash);
235 var dialog = resetPage.$$('settings-powerwash-dialog'); 221 var dialog = resetPage.$$('settings-powerwash-dialog');
236 assertTrue(!!dialog); 222 assertTrue(!!dialog);
223 assertTrue(dialog.$.dialog.open);
237 var onDialogClosed = new Promise( 224 var onDialogClosed = new Promise(
238 function(resolve, reject) { 225 function(resolve, reject) {
239 dialog.addEventListener('iron-overlay-closed', resolve); 226 dialog.addEventListener('close', function() {
227 assertFalse(dialog.$.dialog.open);
228 resolve();
240 }); 229 });
230 });
241 231
242 MockInteractions.tap(closeButtonFn(dialog)); 232 MockInteractions.tap(closeButtonFn(dialog));
243 return Promise.all([ 233 return Promise.all([
244 onDialogClosed, 234 onDialogClosed,
245 resetPageBrowserProxy.whenCalled('onPowerwashDialogShow'), 235 resetPageBrowserProxy.whenCalled('onPowerwashDialogShow'),
246 ]); 236 ]);
247 } 237 }
248 238
249 // Tests that the powerwash dialog opens and closes correctly, and 239 // Tests that the powerwash dialog opens and closes correctly, and
250 // that chrome.send calls are propagated as expected. 240 // that chrome.send calls are propagated as expected.
(...skipping 22 matching lines...) Expand all
273 }); 263 });
274 } 264 }
275 265
276 return { 266 return {
277 registerTests: function() { 267 registerTests: function() {
278 registerBannerTests(); 268 registerBannerTests();
279 registerDialogTests(); 269 registerDialogTests();
280 }, 270 },
281 }; 271 };
282 }); 272 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698