aboutsummaryrefslogtreecommitdiffstats
path: root/tests/spinner.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/spinner.js')
-rw-r--r--tests/spinner.js131
1 files changed, 131 insertions, 0 deletions
diff --git a/tests/spinner.js b/tests/spinner.js
new file mode 100644
index 000000000..a27c5bd37
--- /dev/null
+++ b/tests/spinner.js
@@ -0,0 +1,131 @@
+/*
+ * spinner unit tests
+ */
+(function($) {
+
+// Spinner Tests
+module("spinner");
+
+test("init", function() {
+ expect(1);
+
+ el = $("#spin").spinner();
+ ok(true, '.spinner() called on element');
+
+});
+
+test("destroy", function() {
+ expect(1);
+
+ $("#spin").spinner().spinner("destroy");
+ ok(true, '.spinner("destroy") called on element');
+
+});
+
+test("defaults", function() {
+ expect(5);
+ el = $("#spin").spinner();
+
+ equals(el.data("incremental.spinner"), true, "incremental");
+ equals(el.data("max.spinner"), undefined, "max");
+ equals(el.data("min.spinner"), undefined, "min");
+ equals(el.data("start.spinner"), 0, "start");
+ equals(el.data("stepping.spinner"), 1, "stepping");
+
+});
+
+test("set defaults on init", function() {
+ expect(5);
+ el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:2 });
+
+ equals(el.data("incremental.spinner"), false, "incremental");
+ equals(el.data("max.spinner"), 200, "max");
+ equals(el.data("min.spinner"), -100, "min");
+ equals(el.data("start.spinner"), 50, "start");
+ equals(el.data("stepping.spinner"), 2, "stepping");
+
+});
+
+test("keydown on input", function() {
+ expect(5);
+ el = $("#spin").spinner();
+
+ equals(el.val(), 0, "start number");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_UP})
+ .simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+ equals(el.val(), 1, "Up key");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_RIGHT})
+ .simulate("keyup",{keyCode:$.simulate.VK_RIGHT});
+
+ equals(el.val(), 2, "Right key");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
+ .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+ equals(el.val(), 1, "Down Key");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_LEFT})
+ .simulate("keyup",{keyCode:$.simulate.VK_LEFT});
+
+ equals(el.val(), 0, "Left Key");
+
+});
+
+test("keydown on input with options", function() {
+ expect(4);
+
+ el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:10 });
+
+ equals(el.val(), 50, "start number");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_UP})
+ .simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+ equals(el.val(), 60, "Stepping 10 on 50");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_END})
+ .simulate("keyup",{keyCode:$.simulate.VK_END});
+
+ equals(el.val(), 200, "End key to max");
+
+ el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
+ .simulate("keyup",{keyCode:$.simulate.VK_HOME});
+
+ equals(el.val(), -100, "Home key to min");
+
+
+});
+
+test("mouse click on buttons", function() {
+ expect(4);
+ el = $("#spin").spinner();
+
+ $("div.ui-spinner-up").trigger("mousedown").trigger("mouseup");
+
+ equals(el.val(), 1, "Mouse click to up");
+
+ $("div.ui-spinner-up").trigger("dblclick");
+
+ equals(el.val(), 2, "Mouse double click to up");
+
+ $("div.ui-spinner-down").trigger("mousedown").trigger("mouseup");
+
+ equals(el.val(), 1, "Mouse click to down");
+
+ $("div.ui-spinner-down").trigger("dblclick");
+
+ equals(el.val(), 0, "Mouse double click to down");
+
+
+});
+
+test("mouse wheel on input", function() {
+ expect(0);
+
+
+});
+
+})(jQuery);