| Index: chrome/test/data/webui/cr_elements/cr_slider_tests.js
|
| diff --git a/chrome/test/data/webui/cr_elements/cr_slider_tests.js b/chrome/test/data/webui/cr_elements/cr_slider_tests.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3beaeae805d6969693d382ae21848942b03960cb
|
| --- /dev/null
|
| +++ b/chrome/test/data/webui/cr_elements/cr_slider_tests.js
|
| @@ -0,0 +1,125 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/** @fileoverview Suite of tests for cr-slider. */
|
| +cr.define('cr_slider', function() {
|
| + function registerTests() {
|
| + suite('cr-slider', function() {
|
| + /** @type {!CrSliderElement} */
|
| + var slider;
|
| +
|
| + /**
|
| + * paper-slider instance wrapped by cr-slider.
|
| + * @type {!PaperSliderElement}
|
| + */
|
| + var paperSlider;
|
| +
|
| + var tickValues = [2, 4, 8, 16, 32, 64, 128];
|
| +
|
| + suiteSetup(function() {
|
| + return PolymerTest.importHtml(
|
| + 'chrome://resources/cr_elements/cr_slider/cr_slider.html');
|
| + });
|
| +
|
| + setup(function() {
|
| + PolymerTest.clearBody();
|
| + slider = document.createElement('cr-slider');
|
| + document.body.appendChild(slider);
|
| + paperSlider = slider.$$('paper-slider');
|
| + });
|
| +
|
| + test('basic properties', function() {
|
| + // Default properties.
|
| + expectEquals(1, paperSlider.step);
|
| + expectEquals(0, paperSlider.min);
|
| +
|
| + // Configurable properties.
|
| + expectFalse(paperSlider.snaps);
|
| + slider.setAttribute('snaps', '');
|
| + expectTrue(paperSlider.snaps);
|
| +
|
| + slider.setAttribute('max-markers', 7);
|
| + expectEquals(7, paperSlider.maxMarkers);
|
| + });
|
| +
|
| + test('set value', function() {
|
| + slider.tickValues = tickValues;
|
| + slider.value = 16;
|
| + expectEquals(6, paperSlider.max);
|
| + expectEquals(3, paperSlider.value);
|
| + expectEquals(3, paperSlider.immediateValue);
|
| +
|
| + // Setting to an in-between value should choose an index but not change
|
| + // the value.
|
| + slider.value = 70;
|
| + expectEquals(5, paperSlider.value);
|
| + expectEquals(5, paperSlider.immediateValue);
|
| + expectEquals(70, slider.value);
|
| +
|
| + // Setting the value out-of-range should clamp the slider.
|
| + slider.value = -100;
|
| + expectEquals(0, paperSlider.value);
|
| + expectEquals(0, paperSlider.immediateValue);
|
| + expectEquals(-100, slider.value);
|
| + });
|
| +
|
| + test('move slider', function() {
|
| + slider.tickValues = tickValues;
|
| + slider.value = 30;
|
| + expectEquals(4, paperSlider.value);
|
| +
|
| + MockInteractions.pressAndReleaseKeyOn(
|
| + paperSlider, 39 /* right */);
|
| + expectEquals(5, paperSlider.value);
|
| + expectEquals(64, slider.value);
|
| +
|
| + MockInteractions.pressAndReleaseKeyOn(
|
| + paperSlider, 39 /* right */);
|
| + expectEquals(6, paperSlider.value);
|
| + expectEquals(128, slider.value);
|
| +
|
| + MockInteractions.pressAndReleaseKeyOn(
|
| + paperSlider, 39 /* right */);
|
| + expectEquals(6, paperSlider.value);
|
| + expectEquals(128, slider.value);
|
| +
|
| + MockInteractions.pressAndReleaseKeyOn(
|
| + paperSlider, 37 /* left */);
|
| + expectEquals(5, paperSlider.value);
|
| + expectEquals(64, slider.value);
|
| + });
|
| +
|
| + test('findNearestIndex_', function() {
|
| + var slider = document.createElement('cr-slider');
|
| + var testArray = [80, 20, 350, 1000, 200, 100];
|
| + var testFindNearestIndex = function(expectedIndex, value) {
|
| + expectEquals(
|
| + expectedIndex, slider.findNearestIndex_(testArray, value));
|
| + };
|
| + testFindNearestIndex(0, 51);
|
| + testFindNearestIndex(0, 80);
|
| + testFindNearestIndex(0, 89);
|
| + testFindNearestIndex(1, -100);
|
| + testFindNearestIndex(1, 20);
|
| + testFindNearestIndex(1, 49);
|
| + testFindNearestIndex(2, 400);
|
| + testFindNearestIndex(2, 350);
|
| + testFindNearestIndex(2, 300);
|
| + testFindNearestIndex(3, 200000);
|
| + testFindNearestIndex(3, 1000);
|
| + testFindNearestIndex(3, 700);
|
| + testFindNearestIndex(4, 220);
|
| + testFindNearestIndex(4, 200);
|
| + testFindNearestIndex(4, 151);
|
| + testFindNearestIndex(5, 149);
|
| + testFindNearestIndex(5, 100);
|
| + testFindNearestIndex(5, 91);
|
| + });
|
| + });
|
| + }
|
| +
|
| + return {
|
| + registerTests: registerTests,
|
| + };
|
| +});
|
|
|