| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_people_page_sync_page', function() { | 5 cr.define('settings_people_page_sync_page', function() { |
| 6 /** | 6 /** |
| 7 * @constructor | 7 * @constructor |
| 8 * @implements {settings.SyncBrowserProxy} | 8 * @implements {settings.SyncBrowserProxy} |
| 9 * @extends {settings.TestBrowserProxy} | 9 * @extends {settings.TestBrowserProxy} |
| 10 */ | 10 */ |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 | 189 |
| 190 // Should remain on the CONFIGURE page even if the passphrase failed. | 190 // Should remain on the CONFIGURE page even if the passphrase failed. |
| 191 cr.webUIListenerCallback('page-status-changed', | 191 cr.webUIListenerCallback('page-status-changed', |
| 192 settings.PageStatus.PASSPHRASE_FAILED); | 192 settings.PageStatus.PASSPHRASE_FAILED); |
| 193 assertFalse(configurePage.hidden); | 193 assertFalse(configurePage.hidden); |
| 194 assertTrue(timeoutPage.hidden); | 194 assertTrue(timeoutPage.hidden); |
| 195 assertTrue(spinnerPage.hidden); | 195 assertTrue(spinnerPage.hidden); |
| 196 }); | 196 }); |
| 197 | 197 |
| 198 test('SettingIndividualDatatypes', function() { | 198 test('SettingIndividualDatatypes', function() { |
| 199 var syncAllDataTypesCheckbox = syncPage.$.syncAllDataTypesCheckbox; | 199 var syncAllDataTypesControl = syncPage.$.syncAllDataTypesControl; |
| 200 assertFalse(syncAllDataTypesCheckbox.disabled); | 200 assertFalse(syncAllDataTypesControl.disabled); |
| 201 assertTrue(syncAllDataTypesCheckbox.checked); | 201 assertTrue(syncAllDataTypesControl.checked); |
| 202 | 202 |
| 203 // Assert that all the individual datatype checkboxes are disabled. | 203 // Assert that all the individual datatype controls are disabled. |
| 204 var datatypeCheckboxes = syncPage | 204 var datatypeControls = syncPage |
| 205 .$$('#configure') | 205 .$$('#configure') |
| 206 .querySelectorAll('paper-checkbox.list-item'); | 206 .querySelectorAll('.list-item paper-toggle-button'); |
| 207 for (var box of datatypeCheckboxes) { | 207 for (var control of datatypeControls) { |
| 208 assertTrue(box.disabled); | 208 assertTrue(control.disabled); |
| 209 assertTrue(box.checked); | 209 assertTrue(control.checked); |
| 210 } | 210 } |
| 211 | 211 |
| 212 // Uncheck the Sync All checkbox. | 212 // Uncheck the Sync All control. |
| 213 MockInteractions.tap(syncAllDataTypesCheckbox); | 213 MockInteractions.tap(syncAllDataTypesControl); |
| 214 | 214 |
| 215 function verifyPrefs(prefs) { | 215 function verifyPrefs(prefs) { |
| 216 var expected = getSyncAllPrefs(); | 216 var expected = getSyncAllPrefs(); |
| 217 expected.syncAllDataTypes = false; | 217 expected.syncAllDataTypes = false; |
| 218 assertEquals(JSON.stringify(expected), JSON.stringify(prefs)); | 218 assertEquals(JSON.stringify(expected), JSON.stringify(prefs)); |
| 219 | 219 |
| 220 cr.webUIListenerCallback('sync-prefs-changed', expected); | 220 cr.webUIListenerCallback('sync-prefs-changed', expected); |
| 221 | 221 |
| 222 // Assert that all the individual datatype checkboxes are enabled. | 222 // Assert that all the individual datatype controls are enabled. |
| 223 for (var box of datatypeCheckboxes) { | 223 for (var control of datatypeControls) { |
| 224 assertFalse(box.disabled); | 224 assertFalse(control.disabled); |
| 225 assertTrue(box.checked); | 225 assertTrue(control.checked); |
| 226 } | 226 } |
| 227 | 227 |
| 228 browserProxy.resetResolver('setSyncDatatypes'); | 228 browserProxy.resetResolver('setSyncDatatypes'); |
| 229 | 229 |
| 230 // Test an arbitrarily-selected checkbox (extensions synced checkbox). | 230 // Test an arbitrarily-selected control (extensions synced control). |
| 231 MockInteractions.tap(datatypeCheckboxes[3]); | 231 MockInteractions.tap(datatypeControls[3]); |
| 232 return browserProxy.whenCalled('setSyncDatatypes').then( | 232 return browserProxy.whenCalled('setSyncDatatypes').then( |
| 233 function(prefs) { | 233 function(prefs) { |
| 234 var expected = getSyncAllPrefs(); | 234 var expected = getSyncAllPrefs(); |
| 235 expected.syncAllDataTypes = false; | 235 expected.syncAllDataTypes = false; |
| 236 expected.extensionsSynced = false; | 236 expected.extensionsSynced = false; |
| 237 assertEquals(JSON.stringify(expected), JSON.stringify(prefs)); | 237 assertEquals(JSON.stringify(expected), JSON.stringify(prefs)); |
| 238 }); | 238 }); |
| 239 } | 239 } |
| 240 return browserProxy.whenCalled('setSyncDatatypes').then(verifyPrefs); | 240 return browserProxy.whenCalled('setSyncDatatypes').then(verifyPrefs); |
| 241 }); | 241 }); |
| 242 | 242 |
| 243 test('ClickingLinkDoesNotChangeCheckboxValue', function() { | |
| 244 var syncAllDataTypesCheckbox = syncPage.$.syncAllDataTypesCheckbox; | |
| 245 | |
| 246 // Uncheck the Sync All checkbox. | |
| 247 MockInteractions.tap(syncAllDataTypesCheckbox); | |
| 248 | |
| 249 // Make sure the checkbox is enabled and checked. | |
| 250 var link = syncPage.$.paymentLearnMore; | |
| 251 | |
| 252 // Suppress opening a new tab, since then the test will continue running | |
| 253 // on a background tab (which has throttled timers) and will timeout. | |
| 254 link.target = ''; | |
| 255 link.href = '#'; | |
| 256 | |
| 257 assertEquals('PAPER-CHECKBOX', link.parentNode.nodeName); | |
| 258 assertFalse(link.parentNode.disabled); | |
| 259 assertTrue(link.parentNode.checked); | |
| 260 | |
| 261 MockInteractions.tap(link); | |
| 262 | |
| 263 // The checkbox value should be unchanged after clicking on the link. | |
| 264 assertTrue(link.parentNode.checked); | |
| 265 }); | |
| 266 | |
| 267 test('RadioBoxesEnabledWhenUnencrypted', function() { | 243 test('RadioBoxesEnabledWhenUnencrypted', function() { |
| 268 // Verify that the encryption radio boxes are enabled. | 244 // Verify that the encryption radio boxes are enabled. |
| 269 assertFalse(encryptWithGoogle.disabled); | 245 assertFalse(encryptWithGoogle.disabled); |
| 270 assertFalse(encryptWithPassphrase.disabled); | 246 assertFalse(encryptWithPassphrase.disabled); |
| 271 | 247 |
| 272 assertTrue(encryptWithGoogle.checked); | 248 assertTrue(encryptWithGoogle.checked); |
| 273 | 249 |
| 274 // Select 'Encrypt with passphrase' to create a new passphrase. | 250 // Select 'Encrypt with passphrase' to create a new passphrase. |
| 275 assertFalse(!!syncPage.$$('#create-password-box')); | 251 assertFalse(!!syncPage.$$('#create-password-box')); |
| 276 | 252 |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 }); | 462 }); |
| 487 }); | 463 }); |
| 488 } | 464 } |
| 489 | 465 |
| 490 return { | 466 return { |
| 491 registerTests: function() { | 467 registerTests: function() { |
| 492 registerAdvancedSyncSettingsTests(); | 468 registerAdvancedSyncSettingsTests(); |
| 493 }, | 469 }, |
| 494 }; | 470 }; |
| 495 }); | 471 }); |
| OLD | NEW |