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

Side by Side Diff: chrome/test/data/webui/cr_elements/cr_slider_tests.js

Issue 2737083002: [MD settings] show icon when slider controlled by something (Closed)
Patch Set: unit tests Created 3 years, 9 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 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 /** @fileoverview Suite of tests for cr-slider. */ 5 /** @fileoverview Suite of tests for cr-slider. */
6 cr.define('cr_slider', function() { 6 cr.define('cr_slider', function() {
7 function registerTests() { 7 function registerTests() {
8 suite('cr-slider', function() { 8 suite('cr-slider', function() {
9 /** @type {!CrSliderElement} */ 9 /** @type {!CrSliderElement} */
10 var slider; 10 var slider;
11 11
12 /** 12 /**
13 * paper-slider instance wrapped by cr-slider. 13 * paper-slider instance wrapped by cr-slider.
14 * @type {!PaperSliderElement} 14 * @type {!PaperSliderElement}
15 */ 15 */
16 var paperSlider; 16 var paperSlider;
17 17
18 var tickValues = [2, 4, 8, 16, 32, 64, 128]; 18 var tickValues = [2, 4, 8, 16, 32, 64, 128];
19 19
20 setup(function() { 20 setup(function() {
21 PolymerTest.clearBody(); 21 PolymerTest.clearBody();
22 slider = document.createElement('cr-slider'); 22 slider = document.createElement('cr-slider');
23 slider.pref = {
24 type: chrome.settingsPrivate.PrefType.NUMBER,
25 value: 16,
26 };
23 document.body.appendChild(slider); 27 document.body.appendChild(slider);
24 paperSlider = slider.$$('paper-slider'); 28 paperSlider = slider.$$('paper-slider');
25 }); 29 });
26 30
31 test('enforce value', function() {
32 // Test that the indicator is not present until after the pref is
33 // enforced.
34 indicator = slider.$$('cr-policy-pref-indicator');
35 assertFalse(!!indicator);
36 slider.pref = {
37 controlledBy: chrome.settingsPrivate.ControlledBy.DEVICE_POLICY,
38 enforcement: chrome.settingsPrivate.Enforcement.ENFORCED,
39 type: chrome.settingsPrivate.PrefType.NUMBER,
40 value: 16,
41 };
42 Polymer.dom.flush();
43 indicator = slider.$$('cr-policy-pref-indicator');
44 assertTrue(!!indicator);
45 });
46
27 test('set value', function() { 47 test('set value', function() {
28 slider.tickValues = tickValues; 48 slider.tickValues = tickValues;
29 slider.value = 16; 49 slider.set('pref.value', 16);
30 expectEquals(6, paperSlider.max); 50 expectEquals(6, paperSlider.max);
31 expectEquals(3, paperSlider.value); 51 expectEquals(3, paperSlider.value);
32 expectEquals(3, paperSlider.immediateValue); 52 expectEquals(3, paperSlider.immediateValue);
33 53
34 // cr-slider only supports snapping to a range of tick values. Setting 54 // cr-slider only supports snapping to a range of tick values. Setting
35 // to an in-between value should snap to an indexed value. 55 // to an in-between value should snap to an indexed value.
36 slider.value = 70; 56 slider.set('pref.value', 70);
37 expectEquals(5, paperSlider.value); 57 expectEquals(5, paperSlider.value);
38 expectEquals(5, paperSlider.immediateValue); 58 expectEquals(5, paperSlider.immediateValue);
39 expectEquals(64, slider.value); 59 expectEquals(64, slider.pref.value);
40 60
41 // Setting the value out-of-range should clamp the slider. 61 // Setting the value out-of-range should clamp the slider.
42 slider.value = -100; 62 slider.set('pref.value', -100);
43 expectEquals(0, paperSlider.value); 63 expectEquals(0, paperSlider.value);
44 expectEquals(0, paperSlider.immediateValue); 64 expectEquals(0, paperSlider.immediateValue);
45 expectEquals(2, slider.value); 65 expectEquals(2, slider.pref.value);
46 }); 66 });
47 67
48 test('move slider', function() { 68 test('move slider', function() {
49 slider.tickValues = tickValues; 69 slider.tickValues = tickValues;
50 slider.value = 30; 70 slider.set('pref.value', 30);
51 expectEquals(4, paperSlider.value); 71 expectEquals(4, paperSlider.value);
52 72
53 MockInteractions.pressAndReleaseKeyOn( 73 MockInteractions.pressAndReleaseKeyOn(
54 paperSlider, 39 /* right */); 74 paperSlider, 39 /* right */);
55 expectEquals(5, paperSlider.value); 75 expectEquals(5, paperSlider.value);
56 expectEquals(64, slider.value); 76 expectEquals(64, slider.pref.value);
57 77
58 MockInteractions.pressAndReleaseKeyOn( 78 MockInteractions.pressAndReleaseKeyOn(
59 paperSlider, 39 /* right */); 79 paperSlider, 39 /* right */);
60 expectEquals(6, paperSlider.value); 80 expectEquals(6, paperSlider.value);
61 expectEquals(128, slider.value); 81 expectEquals(128, slider.pref.value);
62 82
63 MockInteractions.pressAndReleaseKeyOn( 83 MockInteractions.pressAndReleaseKeyOn(
64 paperSlider, 39 /* right */); 84 paperSlider, 39 /* right */);
65 expectEquals(6, paperSlider.value); 85 expectEquals(6, paperSlider.value);
66 expectEquals(128, slider.value); 86 expectEquals(128, slider.pref.value);
67 87
68 MockInteractions.pressAndReleaseKeyOn( 88 MockInteractions.pressAndReleaseKeyOn(
69 paperSlider, 37 /* left */); 89 paperSlider, 37 /* left */);
70 expectEquals(5, paperSlider.value); 90 expectEquals(5, paperSlider.value);
71 expectEquals(64, slider.value); 91 expectEquals(64, slider.pref.value);
72 }); 92 });
73 93
74 test('findNearestIndex_', function() { 94 test('findNearestIndex_', function() {
75 var slider = document.createElement('cr-slider'); 95 var slider = document.createElement('cr-slider');
76 var testArray = [80, 20, 350, 1000, 200, 100]; 96 var testArray = [80, 20, 350, 1000, 200, 100];
77 var testFindNearestIndex = function(expectedIndex, value) { 97 var testFindNearestIndex = function(expectedIndex, value) {
78 expectEquals( 98 expectEquals(
79 expectedIndex, slider.findNearestIndex_(testArray, value)); 99 expectedIndex, slider.findNearestIndex_(testArray, value));
80 }; 100 };
81 testFindNearestIndex(0, 51); 101 testFindNearestIndex(0, 51);
(...skipping 15 matching lines...) Expand all
97 testFindNearestIndex(5, 100); 117 testFindNearestIndex(5, 100);
98 testFindNearestIndex(5, 91); 118 testFindNearestIndex(5, 91);
99 }); 119 });
100 }); 120 });
101 } 121 }
102 122
103 return { 123 return {
104 registerTests: registerTests, 124 registerTests: registerTests,
105 }; 125 };
106 }); 126 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698