<script type="text/javascript" src="../../../external/qunit/testrunner.js"></script>
<script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script>
- <script type="text/javascript" src="slider.js"></script>
+ <script type="text/javascript" src="slider_core.js"></script>
+ <script type="text/javascript" src="slider_defaults.js"></script>
+ <script type="text/javascript" src="slider_events.js"></script>
+ <script type="text/javascript" src="slider_methods.js"></script>
+ <script type="text/javascript" src="slider_options.js"></script>
+ <script type="text/javascript" src="slider_tickets.js"></script>
</head>
<body>
+++ /dev/null
-/*
- * slider unit tests
- */
-(function($) {
-//
-// Slider Test Helper Functions
-//
-
-var defaults = {
- max: 100,
- min: 0,
- orientation: 'auto',
- step: 1,
- value: 0
-};
-
-var el, options;
-
-function handle() {
- return el.find(".ui-slider-handle");
-}
-
-// Slider Tests
-module("slider");
-
-test("init", function() {
- expect(6);
-
- $("<div></div>").appendTo('body').slider().remove();
- ok(true, '.slider() called on element');
-
- $([]).slider().remove();
- ok(true, '.slider() called on empty collection');
-
- $('<div></div>').slider().remove();
- ok(true, '.slider() called on disconnected DOMElement');
-
- $('<div></div>').slider().slider("foo").remove();
- ok(true, 'arbitrary method called after init');
-
- el = $('<div></div>').slider();
- var foo = el.data("foo.slider");
- el.remove();
- ok(true, 'arbitrary option getter after init');
-
- $('<div></div>').slider().data("foo.slider", "bar").remove();
- ok(true, 'arbitrary option setter after init');
-});
-
-test("destroy", function() {
- expect(8);
-
- $("<div></div>").appendTo('body').slider().slider("destroy").remove();
- ok(true, '.slider("destroy") called on element');
-
- $([]).slider().slider("destroy").remove();
- ok(true, '.slider("destroy") called on empty collection');
-
- $('<div></div>').appendTo('body').remove().slider().slider("destroy").remove();
- ok(true, '.slider("destroy") called on disconnected DOMElement');
-
- $('<div></div>').slider().slider("destroy").slider("foo").remove();
- ok(true, 'arbitrary method called after destroy');
-
- el = $('<div></div>').slider();
- var foo = el.slider("destroy").data("foo.slider");
- el.remove();
- ok(true, 'arbitrary option getter (.data) after destroy');
-
- el = $('<div></div>').slider();
- var foo = el.slider("destroy").slider("option", "foo");
- el.remove();
- ok(true, 'arbitrary option getter (.slider option method) after destroy');
-
- $('<div></div>').slider().slider("destroy").data("foo.slider", "bar").remove();
- ok(true, 'arbitrary option setter (.data) after destroy');
-
- $('<div></div>').slider().slider("destroy").slider("options", "foo", "bar").remove();
- ok(true, 'arbitrary option setter (.slider option method) after destroy');
-});
-
-test("defaults", function() {
- el = $('<div></div>').slider();
- $.each(defaults, function(key, val) {
- var actual = el.data(key + ".slider"), expected = val;
- same(actual, expected, key);
- });
- el.remove();
-});
-
-module("slider");
-
-test("keydown HOME on handle sets value to min", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", 0);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
- equals(el.slider("value"), options.min);
-
- el.slider('destroy');
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", 0);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
- equals(el.slider("value"), options.min);
-
- el.slider('destroy');
-});
-
-test("keydown END on handle sets value to max", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", 0);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
- equals(el.slider("value"), options.max);
-
- el.slider('destroy');
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", 0);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
- equals(el.slider("value"), options.max);
-
- el.slider('destroy');
-});
-
-test("keydown UP on handle increases value by step, not greater than max", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.max - options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
- equals(el.slider("value"), options.max);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
- equals(el.slider("value"), options.max);
-
- el.slider("destroy");
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.max - options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
- equals(el.slider("value"), options.max);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
- equals(el.slider("value"), options.max);
-
- el.slider("destroy");
-});
-
-test("keydown RIGHT on handle increases value by step, not greater than max", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.max - options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
- equals(el.slider("value"), options.max);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
- equals(el.slider("value"), options.max);
-
- el.slider("destroy");
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.max - options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
- equals(el.slider("value"), options.max);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
- equals(el.slider("value"), options.max);
-
- el.slider("destroy");
-});
-
-test("keydown DOWN on handle decreases value by step, not less than min", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.min + options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
- equals(el.slider("value"), options.min);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
- equals(el.slider("value"), options.min);
-
- el.slider("destroy");
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.min + options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
- equals(el.slider("value"), options.min);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
- equals(el.slider("value"), options.min);
-
- el.slider("destroy");
-});
-
-test("keydown LEFT on handle decreases value by step, not less than min", function() {
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'horizontal',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.min + options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
- equals(el.slider("value"), options.min);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
- equals(el.slider("value"), options.min);
-
- el.slider("destroy");
-
- el = $('<div></div>');
- options = {
- max: 5,
- min: -5,
- orientation: 'vertical',
- step: 1
- };
- el.slider(options);
-
- el.slider("value", options.min + options.step);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
- equals(el.slider("value"), options.min);
-
- handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
- equals(el.slider("value"), options.min);
-
- el.slider("destroy");
-});
-
-module("slider: Options");
-
-test("orientation", function() {
- el = $('<div></div>');
-
- options = {
- max: 2,
- min: -2,
- orientation: 'vertical',
- value: 1
- };
-
- var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
-
- el.slider(options).slider("option", "orientation", "horizontal");
- ok(el.is('.ui-slider-horizontal'), "horizontal slider has class .ui-slider-horizontal");
- ok(!el.is('.ui-slider-vertical'), "horizontal slider does not have class .ui-slider-vertical");
- equals(handle().css('left'), percentVal + '%', "horizontal slider handle is positioned with left: %");
-
- el.slider('destroy');
-
- options = {
- max: 2,
- min: -2,
- orientation: 'horizontal',
- value: -1
- };
-
- var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
-
- el.slider(options).slider("option", "orientation", "vertical");
- ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical");
- ok(!el.is('.ui-slider-horizontal'), "vertical slider does not have class .ui-slider-horizontal");
- equals(handle().css('bottom'), percentVal + '%', "vertical slider handle is positioned with bottom: %");
-
- el.slider('destroy');
-
-});
-
-test("max", function() {
- el = $('<div></div>');
-
- options = {
- max: 37,
- min: 6,
- orientation: 'horizontal',
- step: 1,
- value: 50
- };
-
- el.slider(options);
- ok(el.slider("option", "value") == options.value, "value option is not contained by max");
- ok(el.slider("value") == options.max, "value method is contained by max");
- el.slider('destroy');
-
-});
-
-test("min", function() {
- el = $('<div></div>');
-
- options = {
- max: 37,
- min: 6,
- orientation: 'vertical',
- step: 1,
- value: 2
- };
-
- el.slider(options);
- ok(el.slider("option", "value") == options.value, "value option is not contained by min");
- ok(el.slider("value") == options.min, "value method is contained by min");
- el.slider('destroy');
-
-});
-
-})(jQuery);
--- /dev/null
+/*
+ * slider unit tests
+ */
+(function($) {
+//
+// Slider Test Helper Functions
+//
+
+var el, options;
+
+function handle() {
+ return el.find(".ui-slider-handle");
+}
+
+// Slider Tests
+module("slider: core");
+
+test("init", function() {
+ expect(6);
+
+ $("<div></div>").appendTo('body').slider().remove();
+ ok(true, '.slider() called on element');
+
+ $([]).slider().remove();
+ ok(true, '.slider() called on empty collection');
+
+ $('<div></div>').slider().remove();
+ ok(true, '.slider() called on disconnected DOMElement');
+
+ $('<div></div>').slider().slider("foo").remove();
+ ok(true, 'arbitrary method called after init');
+
+ el = $('<div></div>').slider();
+ var foo = el.data("foo.slider");
+ el.remove();
+ ok(true, 'arbitrary option getter after init');
+
+ $('<div></div>').slider().data("foo.slider", "bar").remove();
+ ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+ expect(8);
+
+ $("<div></div>").appendTo('body').slider().slider("destroy").remove();
+ ok(true, '.slider("destroy") called on element');
+
+ $([]).slider().slider("destroy").remove();
+ ok(true, '.slider("destroy") called on empty collection');
+
+ $('<div></div>').appendTo('body').remove().slider().slider("destroy").remove();
+ ok(true, '.slider("destroy") called on disconnected DOMElement');
+
+ $('<div></div>').slider().slider("destroy").slider("foo").remove();
+ ok(true, 'arbitrary method called after destroy');
+
+ el = $('<div></div>').slider();
+ var foo = el.slider("destroy").data("foo.slider");
+ el.remove();
+ ok(true, 'arbitrary option getter (.data) after destroy');
+
+ el = $('<div></div>').slider();
+ var foo = el.slider("destroy").slider("option", "foo");
+ el.remove();
+ ok(true, 'arbitrary option getter (.slider option method) after destroy');
+
+ $('<div></div>').slider().slider("destroy").data("foo.slider", "bar").remove();
+ ok(true, 'arbitrary option setter (.data) after destroy');
+
+ $('<div></div>').slider().slider("destroy").slider("options", "foo", "bar").remove();
+ ok(true, 'arbitrary option setter (.slider option method) after destroy');
+});
+
+test("keydown HOME on handle sets value to min", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", 0);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
+ equals(el.slider("value"), options.min);
+
+ el.slider('destroy');
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", 0);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
+ equals(el.slider("value"), options.min);
+
+ el.slider('destroy');
+});
+
+test("keydown END on handle sets value to max", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", 0);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
+ equals(el.slider("value"), options.max);
+
+ el.slider('destroy');
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", 0);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
+ equals(el.slider("value"), options.max);
+
+ el.slider('destroy');
+});
+
+test("keydown UP on handle increases value by step, not greater than max", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.max - options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+ equals(el.slider("value"), options.max);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+ equals(el.slider("value"), options.max);
+
+ el.slider("destroy");
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.max - options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+ equals(el.slider("value"), options.max);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+ equals(el.slider("value"), options.max);
+
+ el.slider("destroy");
+});
+
+test("keydown RIGHT on handle increases value by step, not greater than max", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.max - options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+ equals(el.slider("value"), options.max);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+ equals(el.slider("value"), options.max);
+
+ el.slider("destroy");
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.max - options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+ equals(el.slider("value"), options.max);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+ equals(el.slider("value"), options.max);
+
+ el.slider("destroy");
+});
+
+test("keydown DOWN on handle decreases value by step, not less than min", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.min + options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+ equals(el.slider("value"), options.min);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+ equals(el.slider("value"), options.min);
+
+ el.slider("destroy");
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.min + options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+ equals(el.slider("value"), options.min);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+ equals(el.slider("value"), options.min);
+
+ el.slider("destroy");
+});
+
+test("keydown LEFT on handle decreases value by step, not less than min", function() {
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'horizontal',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.min + options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+ equals(el.slider("value"), options.min);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+ equals(el.slider("value"), options.min);
+
+ el.slider("destroy");
+
+ el = $('<div></div>');
+ options = {
+ max: 5,
+ min: -5,
+ orientation: 'vertical',
+ step: 1
+ };
+ el.slider(options);
+
+ el.slider("value", options.min + options.step);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+ equals(el.slider("value"), options.min);
+
+ handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+ equals(el.slider("value"), options.min);
+
+ el.slider("destroy");
+});
+
+})(jQuery);
--- /dev/null
+/*
+ * slider_defaults.js
+ */
+
+var slider_defaults = {
+ animate: false,
+ delay: 0,
+ disabled: false,
+ distance: 0,
+ max: 100,
+ min: 0,
+ orientation: 'auto',
+ range: false,
+ step: 1,
+ value: 0,
+ values: null
+};
+
+commonWidgetTests('slider', { defaults: slider_defaults });
--- /dev/null
+/*
+ * slider_events.js
+ */
+(function($) {
+
+module("slider: events");
+
+test("start", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("slide", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("change", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("stop", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+})(jQuery);
--- /dev/null
+/*
+ * slider_methods.js
+ */
+(function($) {
+
+module("slider: methods");
+
+test("value", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("values", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("enable", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("disable", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+})(jQuery);
--- /dev/null
+/*
+ * slider_options.js
+ */
+(function($) {
+
+function handle() {
+ return el.find(".ui-slider-handle");
+}
+
+module("slider: options");
+
+test("animate", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("max", function() {
+ el = $('<div></div>');
+
+ options = {
+ max: 37,
+ min: 6,
+ orientation: 'horizontal',
+ step: 1,
+ value: 50
+ };
+
+ el.slider(options);
+ ok(el.slider("option", "value") == options.value, "value option is not contained by max");
+ ok(el.slider("value") == options.max, "value method is contained by max");
+ el.slider('destroy');
+
+});
+
+test("min", function() {
+ el = $('<div></div>');
+
+ options = {
+ max: 37,
+ min: 6,
+ orientation: 'vertical',
+ step: 1,
+ value: 2
+ };
+
+ el.slider(options);
+ ok(el.slider("option", "value") == options.value, "value option is not contained by min");
+ ok(el.slider("value") == options.min, "value method is contained by min");
+ el.slider('destroy');
+
+});
+
+test("orientation", function() {
+ el = $('<div></div>');
+
+ options = {
+ max: 2,
+ min: -2,
+ orientation: 'vertical',
+ value: 1
+ };
+
+ var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
+
+ el.slider(options).slider("option", "orientation", "horizontal");
+ ok(el.is('.ui-slider-horizontal'), "horizontal slider has class .ui-slider-horizontal");
+ ok(!el.is('.ui-slider-vertical'), "horizontal slider does not have class .ui-slider-vertical");
+ equals(handle().css('left'), percentVal + '%', "horizontal slider handle is positioned with left: %");
+
+ el.slider('destroy');
+
+ options = {
+ max: 2,
+ min: -2,
+ orientation: 'horizontal',
+ value: -1
+ };
+
+ var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
+
+ el.slider(options).slider("option", "orientation", "vertical");
+ ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical");
+ ok(!el.is('.ui-slider-horizontal'), "vertical slider does not have class .ui-slider-horizontal");
+ equals(handle().css('bottom'), percentVal + '%', "vertical slider handle is positioned with bottom: %");
+
+ el.slider('destroy');
+
+});
+
+test("range", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("step", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("value", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("values", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+})(jQuery);
--- /dev/null
+/*
+ * slider_tickets.js
+ */
+(function($) {
+
+module("slider: tickets");
+
+})(jQuery);