Chromium Code Reviews| Index: chrome/test/data/webui/settings/settings_toggle_button_tests.js |
| diff --git a/chrome/test/data/webui/settings/settings_toggle_button_tests.js b/chrome/test/data/webui/settings/settings_toggle_button_tests.js |
| index 212cf2d8b652ce82a8a278e59b26dfa5de485ffb..8d62dded7a903344348ba03e2db6d935195f099d 100644 |
| --- a/chrome/test/data/webui/settings/settings_toggle_button_tests.js |
| +++ b/chrome/test/data/webui/settings/settings_toggle_button_tests.js |
| @@ -31,18 +31,6 @@ cr.define('settings_toggle_button', function() { |
| document.body.appendChild(testElement); |
| }); |
| - test('responds to checked attribute', function() { |
| - assertTrue(testElement.checked); |
| - |
| - testElement.removeAttribute('checked'); |
| - assertFalse(testElement.checked); |
| - assertFalse(testElement.pref.value); |
| - |
| - testElement.setAttribute('checked', ''); |
| - assertTrue(testElement.checked); |
| - assertTrue(testElement.pref.value); |
| - }); |
| - |
| test('value changes on tap', function() { |
| assertTrue(testElement.checked); |
| assertTrue(testElement.pref.value); |
| @@ -86,11 +74,60 @@ cr.define('settings_toggle_button', function() { |
| testElement.set('pref', prefNum); |
| assertTrue(testElement.checked); |
| - testElement.removeAttribute('checked'); |
| + MockInteractions.tap(testElement.$.control); |
| assertFalse(testElement.checked); |
| assertEquals(0, prefNum.value); |
| - testElement.setAttribute('checked', ''); |
| + MockInteractions.tap(testElement.$.control); |
| + assertTrue(testElement.checked); |
| + assertEquals(1, prefNum.value); |
| + }); |
| + |
| + test('numerical pref with custom values', function() { |
| + var prefNum = { |
| + key: 'test', |
| + type: chrome.settingsPrivate.PrefType.NUMBER, |
| + value: 5 |
| + }; |
| + |
| + testElement.numericUncheckedValue = 5; |
| + |
| + testElement.set('pref', prefNum); |
| + assertFalse(testElement.checked); |
| + |
| + MockInteractions.tap(testElement.$.control); |
| + assertTrue(testElement.checked); |
| + assertEquals(1, prefNum.value); |
| + |
| + MockInteractions.tap(testElement.$.control); |
| + assertFalse(testElement.checked); |
| + assertEquals(5, prefNum.value); |
| + }); |
| + |
| + test('numerical pref with unknown inital value', function() { |
| + prefNum = { |
| + key: 'test', |
| + type: chrome.settingsPrivate.PrefType.NUMBER, |
| + value: 3 |
| + }; |
| + |
| + testElement.numericUncheckedValue = 5; |
|
Dan Beam
2017/02/15 23:25:53
you might need to change this
tommycli
2017/02/15 23:36:52
Done.
|
| + |
| + testElement.set('pref', prefNum); |
| + |
| + // Unknown value should still count as checked. |
| + assertTrue(testElement.checked); |
| + |
| + // The control should not clobber an existing unknown value. |
| + assertEquals(3, prefNum.value); |
| + |
| + // Unchecking should still send the unchecked value to prefs. |
| + MockInteractions.tap(testElement.$.control); |
| + assertFalse(testElement.checked); |
| + assertEquals(5, prefNum.value); |
| + |
| + // Checking should still send the normal checked value to prefs. |
| + MockInteractions.tap(testElement.$.control); |
| assertTrue(testElement.checked); |
| assertEquals(1, prefNum.value); |
| }); |