diff options
-rw-r--r-- | tests/unit/slider/slider_methods.js | 16 | ||||
-rw-r--r-- | ui/jquery.ui.slider.js | 6 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/unit/slider/slider_methods.js b/tests/unit/slider/slider_methods.js index 711c16f2c..37977efb9 100644 --- a/tests/unit/slider/slider_methods.js +++ b/tests/unit/slider/slider_methods.js @@ -69,14 +69,26 @@ test("enable", function() { var expected = $('<div></div>').slider(), actual = expected.slider('enable'); equals(actual, expected, 'enable is chainable'); - ok(false, "missing test - untested code is broken code."); + + var el = $('<div></div>').slider({ disabled: true }); + ok(el.hasClass('.ui-disabled'), 'slider has ui-disabled class before enable method call'); + ok(el.hasClass('.ui-slider-disabled'), 'slider has ui-slider-disabled class before enable method call'); + el.slider('enable'); + ok(!el.hasClass('.ui-disabled'), 'slider does not have ui-disabled class after enable method call'); + ok(!el.hasClass('.ui-slider-disabled'), 'slider does not have ui-slider-disabled class after enable method call'); }); test("disable", function() { var expected = $('<div></div>').slider(), actual = expected.slider('disable'); equals(actual, expected, 'disable is chainable'); - ok(false, "missing test - untested code is broken code."); + + var el = $('<div></div>').slider({ disabled: false }); + ok(!el.hasClass('.ui-disabled'), 'slider does not have ui-disabled class before disabled method call'); + ok(!el.hasClass('.ui-slider-disabled'), 'slider does not have ui-slider-disabled class before disable method call'); + el.slider('disable'); + ok(el.hasClass('.ui-disabled'), 'slider has ui-disabled class after disable method call'); + ok(el.hasClass('.ui-slider-disabled'), 'slider has ui-slider-disabled class after disable method call'); }); test("value", function() { diff --git a/ui/jquery.ui.slider.js b/ui/jquery.ui.slider.js index f2ea5f67e..ca2dad2eb 100644 --- a/ui/jquery.ui.slider.js +++ b/ui/jquery.ui.slider.js @@ -29,6 +29,10 @@ $.widget("ui.slider", $.extend({}, $.ui.mouse, { + " ui-widget" + " ui-widget-content" + " ui-corner-all"); + + if (o.disabled) { + this.element.addClass('ui-slider-disabled ui-disabled'); + } this.range = $([]); @@ -439,8 +443,10 @@ $.widget("ui.slider", $.extend({}, $.ui.mouse, { this.handles.filter(".ui-state-focus").blur(); this.handles.removeClass("ui-state-hover"); this.handles.attr("disabled", "disabled"); + this.element.addClass("ui-disabled"); } else { this.handles.removeAttr("disabled"); + this.element.removeClass("ui-disabled"); } case 'orientation': |