From 2559f7e83afe407d50bd832220ce7ea6f5282bb1 Mon Sep 17 00:00:00 2001 From: Guillaume Gautreau Date: Fri, 12 Jul 2013 20:42:32 +0200 Subject: [PATCH] #54 Enable / Disabled the slider (tests) --- jQRangeSlider.js | 3 +- tests/unit/tests.js | 70 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/jQRangeSlider.js b/jQRangeSlider.js index 8f231110..230aa6ae 100644 --- a/jQRangeSlider.js +++ b/jQRangeSlider.js @@ -721,8 +721,7 @@ * Destroy */ destroy: function(){ - this.element.removeClass("ui-rangeSlider-withArrows") - .removeClass("ui-rangeSlider-noArrow"); + this.element.removeClass("ui-rangeSlider-withArrows ui-rangeSlider-noArrow ui-rangeSlider-disabled"); this._destroyWidgets(); this._destroyElements(); diff --git a/tests/unit/tests.js b/tests/unit/tests.js index 13c38fbe..2f04974f 100644 --- a/tests/unit/tests.js +++ b/tests/unit/tests.js @@ -665,6 +665,73 @@ var enableWithOption = new TestCase( assertIsEnabledAndDestroy ); +function assertSameValuesAndDestroy(){ + var values = el.rangeSlider("values"); + + QUnit.equalEpsilon(values.min, 20, 1e-6, "Min value should not have changed"); + QUnit.equalEpsilon(values.max, 50, 1e-6, "Max value should not have changed"); + + el.rangeSlider("destroy"); + el.empty(); +} + +function setupDisabledDragTest(selector){ + initEl(); + el.rangeSlider({ + enabled: false + }); + + setTimeout(function(){ + el.find(selector).simulate("drag", { + dx: 20, + dy: 0 + }); + }, 100); +} + +var barDragDisabled = new TestCase( + "Check that the slider is really disabled", + function(){ + setupDisabledDragTest(".ui-rangeSlider-bar"); + this.delay = 500; + }, + assertSameValuesAndDestroy +); + +var handleDragDisabled = new TestCase( + "Check that handles are disabled", + function(){ + setupDisabledDragTest(".ui-rangeSlider-leftHandle"); + this.delay = 500; + }, + assertSameValuesAndDestroy +); + +var labelDragDisabled = new TestCase( + "Check that labels are disabled", + function(){ + setupDisabledDragTest(".ui-rangeSlider-leftLabel"); + this.delay = 500; + }, + assertSameValuesAndDestroy +); + +var arrowClickDisabled = new TestCase( + "Check that arrows are disabled", + function(){ + initEl(); + el.rangeSlider({ + enabled: false + }); + this.delay = 500; + setTimeout(function(){ + el.find(".ui-rangeSlider-leftArrow").mousedown(); + el.find(".ui-rangeSlider-leftArrow").mouseup(); + }, 100); + }, + assertSameValuesAndDestroy +); + testRunner.add("jQRangeSlider", [setUp, defaultCtorTest, hideLabelsTest, showLabelsTest, changeBoundsTest, wheelModeZoomTest, wheelModeScrollTest, wheelModeSetterTest, wheelSpeedSetterTest, rangeSetterTest, @@ -680,7 +747,8 @@ testRunner.add("jQRangeSlider", [setUp, rangeLimitMax, rangeLimitMaxWithMinAndMax, rangeLimitMin, rangeLimitMinWithMinAndMax, destroyTest, rulerTest, rulerInCtor, updateRulerTest, - disableInCtorTest, disableWithFunctions, disableWithOption, enableWithFunction, enableWithOption]); + disableInCtorTest, disableWithFunctions, disableWithOption, enableWithFunction, enableWithOption, + barDragDisabled, handleDragDisabled, labelDragDisabled, arrowClickDisabled]); }());