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 /** @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 document.body.appendChild(slider); | 23 document.body.appendChild(slider); |
24 paperSlider = slider.$$('paper-slider'); | 24 paperSlider = slider.$$('paper-slider'); |
25 }); | 25 }); |
26 | 26 |
27 test('basic properties', function() { | |
28 // Default properties. | |
29 expectEquals(1, paperSlider.step); | |
30 expectEquals(0, paperSlider.min); | |
31 | |
32 // Configurable properties. | |
33 expectFalse(paperSlider.snaps); | |
34 slider.setAttribute('snaps', ''); | |
35 expectTrue(paperSlider.snaps); | |
36 | |
37 slider.setAttribute('max-markers', 7); | |
38 expectEquals(7, paperSlider.maxMarkers); | |
39 }); | |
40 | |
41 test('set value', function() { | 27 test('set value', function() { |
42 slider.tickValues = tickValues; | 28 slider.tickValues = tickValues; |
43 slider.value = 16; | 29 slider.value = 16; |
44 expectEquals(6, paperSlider.max); | 30 expectEquals(6, paperSlider.max); |
45 expectEquals(3, paperSlider.value); | 31 expectEquals(3, paperSlider.value); |
46 expectEquals(3, paperSlider.immediateValue); | 32 expectEquals(3, paperSlider.immediateValue); |
47 | 33 |
48 // Setting to an in-between value should choose an index but not change | 34 // cr-slider only supports snapping to a range of tick values. Setting |
49 // the value. | 35 // to an in-between value should snap to an indexed value. |
50 slider.value = 70; | 36 slider.value = 70; |
51 expectEquals(5, paperSlider.value); | 37 expectEquals(5, paperSlider.value); |
52 expectEquals(5, paperSlider.immediateValue); | 38 expectEquals(5, paperSlider.immediateValue); |
53 expectEquals(70, slider.value); | 39 expectEquals(64, slider.value); |
54 | 40 |
55 // Setting the value out-of-range should clamp the slider. | 41 // Setting the value out-of-range should clamp the slider. |
56 slider.value = -100; | 42 slider.value = -100; |
57 expectEquals(0, paperSlider.value); | 43 expectEquals(0, paperSlider.value); |
58 expectEquals(0, paperSlider.immediateValue); | 44 expectEquals(0, paperSlider.immediateValue); |
59 expectEquals(-100, slider.value); | 45 expectEquals(2, slider.value); |
60 }); | 46 }); |
61 | 47 |
62 test('move slider', function() { | 48 test('move slider', function() { |
63 slider.tickValues = tickValues; | 49 slider.tickValues = tickValues; |
64 slider.value = 30; | 50 slider.value = 30; |
65 expectEquals(4, paperSlider.value); | 51 expectEquals(4, paperSlider.value); |
66 | 52 |
67 MockInteractions.pressAndReleaseKeyOn( | 53 MockInteractions.pressAndReleaseKeyOn( |
68 paperSlider, 39 /* right */); | 54 paperSlider, 39 /* right */); |
69 expectEquals(5, paperSlider.value); | 55 expectEquals(5, paperSlider.value); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 testFindNearestIndex(5, 100); | 97 testFindNearestIndex(5, 100); |
112 testFindNearestIndex(5, 91); | 98 testFindNearestIndex(5, 91); |
113 }); | 99 }); |
114 }); | 100 }); |
115 } | 101 } |
116 | 102 |
117 return { | 103 return { |
118 registerTests: registerTests, | 104 registerTests: registerTests, |
119 }; | 105 }; |
120 }); | 106 }); |
OLD | NEW |