| OLD | NEW |
| 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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 }); | 86 }); |
| 87 | 87 |
| 88 setup(function() { | 88 setup(function() { |
| 89 PolymerTest.clearBody(); | 89 PolymerTest.clearBody(); |
| 90 resetPage = document.createElement('settings-reset-page'); | 90 resetPage = document.createElement('settings-reset-page'); |
| 91 document.body.appendChild(resetPage); | 91 document.body.appendChild(resetPage); |
| 92 }); | 92 }); |
| 93 | 93 |
| 94 | 94 |
| 95 /** | 95 /** |
| 96 * @param {string} closeButtonId The ID of the button that closes the | 96 * @param {function(SettingsResetProfileDialogElemeent):!Element} |
| 97 * dialog. | 97 * closeButtonFn A function that returns the button to be used for |
| 98 * closing the dialog. |
| 98 * @return {!Promise} | 99 * @return {!Promise} |
| 99 */ | 100 */ |
| 100 function testOpenCloseResetProfileDialog(closeButtonId) { | 101 function testOpenCloseResetProfileDialog(closeButtonFn) { |
| 101 var onShowResetProfileDialogCalled = whenChromeSendCalled( | 102 var onShowResetProfileDialogCalled = whenChromeSendCalled( |
| 102 'onShowResetProfileDialog'); | 103 'onShowResetProfileDialog'); |
| 103 var onHideResetProfileDialogCalled = whenChromeSendCalled( | 104 var onHideResetProfileDialogCalled = whenChromeSendCalled( |
| 104 'onHideResetProfileDialog'); | 105 'onHideResetProfileDialog'); |
| 105 | 106 |
| 106 // Open reset profile dialog. | 107 // Open reset profile dialog. |
| 107 MockInteractions.tap(resetPage.$.resetProfile); | 108 MockInteractions.tap(resetPage.$.resetProfile); |
| 108 var dialog = resetPage.$$('settings-reset-profile-dialog'); | 109 var dialog = resetPage.$$('settings-reset-profile-dialog'); |
| 109 var onDialogClosed = new Promise( | 110 var onDialogClosed = new Promise( |
| 110 function(resolve, reject) { | 111 function(resolve, reject) { |
| 111 dialog.addEventListener('iron-overlay-closed', resolve); | 112 dialog.addEventListener('iron-overlay-closed', resolve); |
| 112 }); | 113 }); |
| 113 | 114 |
| 114 MockInteractions.tap(dialog.$[closeButtonId]); | 115 MockInteractions.tap(closeButtonFn(dialog)); |
| 115 | 116 |
| 116 return Promise.all([ | 117 return Promise.all([ |
| 117 onShowResetProfileDialogCalled, | 118 onShowResetProfileDialogCalled, |
| 118 onHideResetProfileDialogCalled, | 119 onHideResetProfileDialogCalled, |
| 119 onDialogClosed | 120 onDialogClosed |
| 120 ]); | 121 ]); |
| 121 } | 122 } |
| 122 | 123 |
| 123 // Tests that the reset profile dialog opens and closes correctly and that | 124 // Tests that the reset profile dialog opens and closes correctly and that |
| 124 // chrome.send calls are propagated as expected. | 125 // chrome.send calls are propagated as expected. |
| 125 test(TestNames.ResetProfileDialogOpenClose, function() { | 126 test(TestNames.ResetProfileDialogOpenClose, function() { |
| 126 return Promise.all([ | 127 return Promise.all([ |
| 127 // Test case where the 'cancel' button is clicked. | 128 // Test case where the 'cancel' button is clicked. |
| 128 testOpenCloseResetProfileDialog('cancel'), | 129 testOpenCloseResetProfileDialog( |
| 130 function(dialog) { return dialog.$.cancel;}), |
| 129 // Test case where the 'close' button is clicked. | 131 // Test case where the 'close' button is clicked. |
| 130 testOpenCloseResetProfileDialog('close') | 132 testOpenCloseResetProfileDialog( |
| 133 function(dialog) { return dialog.$.dialog.getCloseButton(); }), |
| 131 ]); | 134 ]); |
| 132 }); | 135 }); |
| 133 | 136 |
| 134 // Tests that when resetting the profile is requested chrome.send calls | 137 // Tests that when resetting the profile is requested chrome.send calls |
| 135 // are propagated as expected. | 138 // are propagated as expected. |
| 136 test(TestNames.ResetProfileDialogAction, function() { | 139 test(TestNames.ResetProfileDialogAction, function() { |
| 137 // Open reset profile dialog. | 140 // Open reset profile dialog. |
| 138 MockInteractions.tap(resetPage.$.resetProfile); | 141 MockInteractions.tap(resetPage.$.resetProfile); |
| 139 var dialog = resetPage.$$('settings-reset-profile-dialog'); | 142 var dialog = resetPage.$$('settings-reset-profile-dialog'); |
| 140 var promise = whenChromeSendCalled('performResetProfileSettings'); | 143 var promise = whenChromeSendCalled('performResetProfileSettings'); |
| 141 MockInteractions.tap(dialog.$.reset); | 144 MockInteractions.tap(dialog.$.reset); |
| 142 return promise; | 145 return promise; |
| 143 }); | 146 }); |
| 144 | 147 |
| 145 if (cr.isChromeOS) { | 148 if (cr.isChromeOS) { |
| 146 /** | 149 /** |
| 147 * @param {string} closeButtonId The ID of the button that closes the | 150 * @param {function(SettingsPowerwashDialogElemeent):!Element} |
| 148 * dialog. | 151 * closeButtonFn A function that returns the button to be used for |
| 152 * closing the dialog. |
| 149 * @return {!Promise} | 153 * @return {!Promise} |
| 150 */ | 154 */ |
| 151 function testOpenClosePowerwashDialog(closeButtonId) { | 155 function testOpenClosePowerwashDialog(closeButtonFn) { |
| 152 var onPowerwashDialogShowCalled = whenChromeSendCalled( | 156 var onPowerwashDialogShowCalled = whenChromeSendCalled( |
| 153 'onPowerwashDialogShow'); | 157 'onPowerwashDialogShow'); |
| 154 | 158 |
| 155 // Open powerwash dialog. | 159 // Open powerwash dialog. |
| 156 MockInteractions.tap(resetPage.$.powerwash); | 160 MockInteractions.tap(resetPage.$.powerwash); |
| 157 var dialog = resetPage.$$('settings-powerwash-dialog'); | 161 var dialog = resetPage.$$('settings-powerwash-dialog'); |
| 158 var onDialogClosed = new Promise( | 162 var onDialogClosed = new Promise( |
| 159 function(resolve, reject) { | 163 function(resolve, reject) { |
| 160 dialog.addEventListener('iron-overlay-closed', resolve); | 164 dialog.addEventListener('iron-overlay-closed', resolve); |
| 161 }); | 165 }); |
| 162 | 166 |
| 163 MockInteractions.tap(dialog.$[closeButtonId]); | 167 MockInteractions.tap(closeButtonFn(dialog)); |
| 164 return Promise.all([onPowerwashDialogShowCalled, onDialogClosed]); | 168 return Promise.all([onPowerwashDialogShowCalled, onDialogClosed]); |
| 165 } | 169 } |
| 166 | 170 |
| 167 // Tests that the powerwash dialog opens and closes correctly, and | 171 // Tests that the powerwash dialog opens and closes correctly, and |
| 168 // that chrome.send calls are propagated as expected. | 172 // that chrome.send calls are propagated as expected. |
| 169 test(TestNames.PowerwashDialogOpenClose, function() { | 173 test(TestNames.PowerwashDialogOpenClose, function() { |
| 170 return Promise.all([ | 174 return Promise.all([ |
| 171 // Test case where the 'cancel' button is clicked. | 175 // Test case where the 'cancel' button is clicked. |
| 172 testOpenClosePowerwashDialog('cancel'), | 176 testOpenClosePowerwashDialog( |
| 177 function(dialog) { return dialog.$.cancel; }), |
| 173 // Test case where the 'close' button is clicked. | 178 // Test case where the 'close' button is clicked. |
| 174 testOpenClosePowerwashDialog('close') | 179 testOpenClosePowerwashDialog( |
| 180 function(dialog) { return dialog.$.dialog.getCloseButton(); }), |
| 175 ]); | 181 ]); |
| 176 }); | 182 }); |
| 177 | 183 |
| 178 // Tests that when powerwash is requested chrome.send calls are | 184 // Tests that when powerwash is requested chrome.send calls are |
| 179 // propagated as expected. | 185 // propagated as expected. |
| 180 test(TestNames.PowerwashDialogAction, function() { | 186 test(TestNames.PowerwashDialogAction, function() { |
| 181 // Open powerwash dialog. | 187 // Open powerwash dialog. |
| 182 MockInteractions.tap(resetPage.$.powerwash); | 188 MockInteractions.tap(resetPage.$.powerwash); |
| 183 var dialog = resetPage.$$('settings-powerwash-dialog'); | 189 var dialog = resetPage.$$('settings-powerwash-dialog'); |
| 184 var promise = whenChromeSendCalled('requestFactoryResetRestart'); | 190 var promise = whenChromeSendCalled('requestFactoryResetRestart'); |
| 185 MockInteractions.tap(dialog.$.powerwash); | 191 MockInteractions.tap(dialog.$.powerwash); |
| 186 return promise; | 192 return promise; |
| 187 }); | 193 }); |
| 188 } | 194 } |
| 189 }); | 195 }); |
| 190 } | 196 } |
| 191 | 197 |
| 192 return { | 198 return { |
| 193 registerBannerTests: registerBannerTests, | 199 registerBannerTests: registerBannerTests, |
| 194 registerDialogTests: registerDialogTests | 200 registerDialogTests: registerDialogTests |
| 195 }; | 201 }; |
| 196 }); | 202 }); |
| OLD | NEW |