diff options
Diffstat (limited to 'tests/spinner.js')
-rw-r--r-- | tests/spinner.js | 622 |
1 files changed, 311 insertions, 311 deletions
diff --git a/tests/spinner.js b/tests/spinner.js index ceb14a618..533034a95 100644 --- a/tests/spinner.js +++ b/tests/spinner.js @@ -1,311 +1,311 @@ -/*
- * spinner unit tests
- */
-(function($) {
-
-// Spinner Tests
-module("spinner");
-
-test("init", function() {
- expect(2);
-
- $("#spin").spinner();
- ok(true, '.spinner() called on element');
-
- $('<input id="spinner_dis">').spinner().remove();
- ok(true, '.spinner() called on disconnected element');
-
-});
-
-test("destroy", function() {
- expect(2);
-
- $("#spin").spinner().spinner("destroy");
- ok(true, '.spinner("destroy") called on element');
-
- $('<input id="spinner_dis">').spinner().spinner("destroy").remove();
- ok(true, '.spinner().spinner("destroy") called on disconnected element');
-
-});
-
-test("re-attach", function() {
- expect(2);
-
- el = $("#spin").spinner().spinner("destroy").spinner();
- ok(true, '.spinner().spinner("destroy").spinner() called on element');
-
- $('<input id="spinner_dis">').spinner().spinner("destroy").spinner().remove();
- ok(true, '.spinner().spinner("destroy").spinner() called on disconnected element');
-
-});
-
-test("disable", function() {
- expect(1);
-
- $("#spin").spinner().spinner("disable");
- ok(true, '.spinner("disable") called on element');
-
-});
-
-test("enable", function() {
- expect(1);
-
- $("#spin").spinner().spinner("disable").spinner("enable");
- ok(true, '.spinner("enable") called on element');
-
-});
-
-test("defaults", function() {
- expect(7);
- el = $("#spin").spinner();
-
- equals(el.data("currency.spinner"), false, "currency");
- equals(el.data("disabled.spinner"), false, "disabled");
- 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(7);
- el = $("#spin").spinner({ currency:"гд", disabled:true, incremental:false, max:200, min:-100, start:50, stepping:2 });
-
- equals(el.data("currency.spinner"), "гд", "currency");
- equals(el.data("disabled.spinner"), true, "disabled");
- 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(6);
- 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(), 1, "Right key");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
- .simulate("keyup",{keyCode:$.simulate.VK_HOME});
-
- equals(el.val(), 0, "Home key to start");
-
- 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(), -1, "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("currency and decimal options", function() {
- expect(5);
-
- el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.3 });
-
- equals(el.val(), "$0.00", "start number");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_UP})
- .simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(el.val(), "$0.30", "stepping 0.30");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_END})
- .simulate("keyup",{keyCode:$.simulate.VK_END});
-
- equals(el.val(), "$120.00", "End key to max");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
- .simulate("keyup",{keyCode:$.simulate.VK_HOME});
-
- equals(el.val(), "-$50.00", "Home key to min");
-
- for ( var i = 1 ; i<=120 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_UP});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(el.val(), "-$14.00", "keydown 120 times");
-
-});
-
-test("decimal options", function() {
- expect(3);
-
- el = $("#spin").spinner({ currency:false, incremental:false, stepping:0.7 });
-
- equals(el.val(), "0.0", "start number");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
- .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
- equals(el.val(), "-0.7", "stepping 0.7");
-
- for ( var i = 1 ; i<=11 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_UP});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(el.val(), "7.0", "keydown 11 times");
-
-});
-
-test("spin without auto-incremental stepping", function() {
- expect(2);
-
- el = $("#spin").spinner({ incremental:false });
-
- for ( var i = 1 ; i<=120 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_UP});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(el.val(), 120, "keydown 120 times");
-
- for ( var i = 1 ; i<=210 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
- equals(el.val(), -90, "keydown 210 times");
-
-});
-
-test("spin with auto-incremental stepping", function() {
- expect(2);
-
- el = $("#spin").spinner();
-
- for ( var i = 1 ; i<=120 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_UP});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(el.val(), 300, "keydown 120 times (100+20*10)");
-
- for ( var i = 1 ; i<=210 ; i++ ) {
- el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
- }
-
- el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
- equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)");
-
-});
-
-test("mouse click on buttons", function() {
- expect(4);
- el = $("#spin").spinner();
-
- $(".ui-spinner-up").trigger("mousedown").trigger("mouseup");
-
- equals(el.val(), 1, "mouse click to up");
-
- $(".ui-spinner-up").trigger("dblclick");
-
- equals(el.val(), 2, "mouse double click to up");
-
- $(".ui-spinner-down").trigger("mousedown").trigger("mouseup");
-
- equals(el.val(), 1, "mouse click to down");
-
- $(".ui-spinner-down").trigger("dblclick");
-
- equals(el.val(), 0, "mouse double click to down");
-
-
-});
-
-test("callback", function() {
- expect(4);
-
- var s = c = d = u = 0;
-
- el = $("#spin").spinner({
- spin: function(){
- s++;
- },
- change: function(){
- c++;
- },
- up: function(){
- u++;
- },
- down: function(){
- d++;
- }
- });
-
- el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(u, 1, "Up 1 time");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
- equals(d, 1, "Down 1 time");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(s, 3, "Spin 3 times");
-
- el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
-
- equals(c, 4, "Change 4 times");
-
-});
-
-test("mouse wheel on input", function() {
- expect(0);
-
-
-});
-
-})(jQuery);
+/* + * spinner unit tests + */ +(function($) { + +// Spinner Tests +module("spinner"); + +test("init", function() { + expect(2); + + $("#spin").spinner(); + ok(true, '.spinner() called on element'); + + $('<input id="spinner_dis">').spinner().remove(); + ok(true, '.spinner() called on disconnected element'); + +}); + +test("destroy", function() { + expect(2); + + $("#spin").spinner().spinner("destroy"); + ok(true, '.spinner("destroy") called on element'); + + $('<input id="spinner_dis">').spinner().spinner("destroy").remove(); + ok(true, '.spinner().spinner("destroy") called on disconnected element'); + +}); + +test("re-attach", function() { + expect(2); + + el = $("#spin").spinner().spinner("destroy").spinner(); + ok(true, '.spinner().spinner("destroy").spinner() called on element'); + + $('<input id="spinner_dis">').spinner().spinner("destroy").spinner().remove(); + ok(true, '.spinner().spinner("destroy").spinner() called on disconnected element'); + +}); + +test("disable", function() { + expect(1); + + $("#spin").spinner().spinner("disable"); + ok(true, '.spinner("disable") called on element'); + +}); + +test("enable", function() { + expect(1); + + $("#spin").spinner().spinner("disable").spinner("enable"); + ok(true, '.spinner("enable") called on element'); + +}); + +test("defaults", function() { + expect(7); + el = $("#spin").spinner(); + + equals(el.data("currency.spinner"), false, "currency"); + equals(el.data("disabled.spinner"), false, "disabled"); + 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(7); + el = $("#spin").spinner({ currency:"гд", disabled:true, incremental:false, max:200, min:-100, start:50, stepping:2 }); + + equals(el.data("currency.spinner"), "гд", "currency"); + equals(el.data("disabled.spinner"), true, "disabled"); + 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(6); + 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(), 1, "Right key"); + + el.simulate("keydown",{keyCode:$.simulate.VK_HOME}) + .simulate("keyup",{keyCode:$.simulate.VK_HOME}); + + equals(el.val(), 0, "Home key to start"); + + 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(), -1, "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("currency and decimal options", function() { + expect(5); + + el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.3 }); + + equals(el.val(), "$0.00", "start number"); + + el.simulate("keydown",{keyCode:$.simulate.VK_UP}) + .simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(el.val(), "$0.30", "stepping 0.30"); + + el.simulate("keydown",{keyCode:$.simulate.VK_END}) + .simulate("keyup",{keyCode:$.simulate.VK_END}); + + equals(el.val(), "$120.00", "End key to max"); + + el.simulate("keydown",{keyCode:$.simulate.VK_HOME}) + .simulate("keyup",{keyCode:$.simulate.VK_HOME}); + + equals(el.val(), "-$50.00", "Home key to min"); + + for ( var i = 1 ; i<=120 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_UP}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(el.val(), "-$14.00", "keydown 120 times"); + +}); + +test("decimal options", function() { + expect(3); + + el = $("#spin").spinner({ currency:false, incremental:false, stepping:0.7 }); + + equals(el.val(), "0.0", "start number"); + + el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}) + .simulate("keyup",{keyCode:$.simulate.VK_DOWN}); + + equals(el.val(), "-0.7", "stepping 0.7"); + + for ( var i = 1 ; i<=11 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_UP}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(el.val(), "7.0", "keydown 11 times"); + +}); + +test("spin without auto-incremental stepping", function() { + expect(2); + + el = $("#spin").spinner({ incremental:false }); + + for ( var i = 1 ; i<=120 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_UP}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(el.val(), 120, "keydown 120 times"); + + for ( var i = 1 ; i<=210 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_DOWN}); + + equals(el.val(), -90, "keydown 210 times"); + +}); + +test("spin with auto-incremental stepping", function() { + expect(2); + + el = $("#spin").spinner(); + + for ( var i = 1 ; i<=120 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_UP}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(el.val(), 300, "keydown 120 times (100+20*10)"); + + for ( var i = 1 ; i<=210 ; i++ ) { + el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}); + } + + el.simulate("keyup",{keyCode:$.simulate.VK_DOWN}); + + equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)"); + +}); + +test("mouse click on buttons", function() { + expect(4); + el = $("#spin").spinner(); + + $(".ui-spinner-up").trigger("mousedown").trigger("mouseup"); + + equals(el.val(), 1, "mouse click to up"); + + $(".ui-spinner-up").trigger("dblclick"); + + equals(el.val(), 2, "mouse double click to up"); + + $(".ui-spinner-down").trigger("mousedown").trigger("mouseup"); + + equals(el.val(), 1, "mouse click to down"); + + $(".ui-spinner-down").trigger("dblclick"); + + equals(el.val(), 0, "mouse double click to down"); + + +}); + +test("callback", function() { + expect(4); + + var s = c = d = u = 0; + + el = $("#spin").spinner({ + spin: function(){ + s++; + }, + change: function(){ + c++; + }, + up: function(){ + u++; + }, + down: function(){ + d++; + } + }); + + el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(u, 1, "Up 1 time"); + + el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN}); + + equals(d, 1, "Down 1 time"); + + el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(s, 3, "Spin 3 times"); + + el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP}); + + equals(c, 4, "Change 4 times"); + +}); + +test("mouse wheel on input", function() { + expect(0); + + +}); + +})(jQuery); |