From da0ebd589e031118e8542751ba32d194aed6ea26 Mon Sep 17 00:00:00 2001 From: Chi Cheng Date: Mon, 18 Aug 2008 11:38:12 +0000 Subject: Spinner: test case --- tests/spinner.html | 39 ++++++++++++++++ tests/spinner.js | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 tests/spinner.html create mode 100644 tests/spinner.js (limited to 'tests') 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 @@ + + + + jQuery UI Spinner Test Suite + + + + + + + + + + + + + + + + + + + +

jQuery UI Spinner Test Suite

+ +

+ +
    + +
    + +
    + + + 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); -- cgit v1.2.3