aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChi Cheng <cloudream@gmail.com>2008-08-18 11:38:12 +0000
committerChi Cheng <cloudream@gmail.com>2008-08-18 11:38:12 +0000
commitda0ebd589e031118e8542751ba32d194aed6ea26 (patch)
tree3e8a050a8be5ff44849be77e52522fa072d81359 /tests
parent41245e6a7dae2e985104a72e5d9a5c2c64998329 (diff)
downloadjquery-ui-da0ebd589e031118e8542751ba32d194aed6ea26.tar.gz
jquery-ui-da0ebd589e031118e8542751ba32d194aed6ea26.zip
Spinner: test case
Diffstat (limited to 'tests')
-rw-r--r--tests/spinner.html39
-rw-r--r--tests/spinner.js131
2 files changed, 170 insertions, 0 deletions
diff --git a/tests/spinner.html b/tests/spinner.html
new file mode 100644
index 000000000..05d730f7e
--- /dev/null
+++ b/tests/spinner.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>jQuery UI Spinner Test Suite</title>
+
+ <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+
+ <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+ <script type="text/javascript" src="../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../ui/ui.spinner.js"></script>
+
+ <script type="text/javascript" src="qunit/testrunner.js"></script>
+ <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+
+ <script type="text/javascript" src="spinner.js"></script>
+
+ <style type="text/css">
+
+
+
+ </style>
+
+
+
+</head>
+<body>
+
+<h1 id="header">jQuery UI Spinner Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position:absolute;top:-20000px">
+ <input type="text" id="spin" />
+</div>
+
+</body>
+</html>
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);