r2938 - spinner: updated unit tests to include keypress

r2938 - spinner: updated unit tests to include keypress


Author: pazu2k@gmail.com
Date: Sun Jul 19 04:21:07 2009
New Revision: 2938
Modified:
branches/dev/spinner/tests/unit/spinner/spinner.js
Log:
spinner: updated unit tests to include keypress
Modified: branches/dev/spinner/tests/unit/spinner/spinner.js
==============================================================================
--- branches/dev/spinner/tests/unit/spinner/spinner.js    (original)
+++ branches/dev/spinner/tests/unit/spinner/spinner.js    Sun Jul 19 04:21:07
2009
@@ -3,7 +3,12 @@
*/
(function($) {
-var el;
+var el,
+    simulateKeyAction = function(el,key) {
+        el.simulate("keydown",{keyCode:$.simulate[key]})
+            .simulate("keypress",{keyCode:$.simulate[key]})
+            .simulate("keyup",{keyCode:$.simulate[key]});
+    };
// Spinner Tests
module("spinner");
@@ -63,29 +68,24 @@
    equals(el.val(), 0, "start number");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(el.val(), 1, "Up key");
-    el.simulate("keydown",{keyCode:$.simulate.VK_RIGHT})
-        .simulate("keyup",{keyCode:$.simulate.VK_RIGHT});
-
+    simulateKeyAction(el, 'VK_RIGHT');
+    
    equals(el.val(), 1, "Right key");
-    el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
-        .simulate("keyup",{keyCode:$.simulate.VK_HOME});
-
+    simulateKeyAction(el, 'VK_HOME');
+    
    equals(el.val(), -Number.MAX_VALUE, "Home key to start");
-    el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
-        .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
+    simulateKeyAction(el, 'VK_DOWN');
+    
    equals(el.val(), -Number.MAX_VALUE, "Down Key");
-    el.simulate("keydown",{keyCode:$.simulate.VK_LEFT})
-        .simulate("keyup",{keyCode:$.simulate.VK_LEFT});
-
+    simulateKeyAction(el, 'VK_LEFT');
+    
    equals(el.val(), -Number.MAX_VALUE, "Left Key");
});
@@ -97,22 +97,17 @@
    equals(el.val(), 50, "start number");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(el.val(), 60, "stepping 10 on 50");
-    el.simulate("keydown",{keyCode:$.simulate.VK_END})
-        .simulate("keyup",{keyCode:$.simulate.VK_END});
-
+    simulateKeyAction(el, 'VK_END');
+    
    equals(el.val(), 200, "End key to max");
-    el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
-        .simulate("keyup",{keyCode:$.simulate.VK_HOME});
-
+    simulateKeyAction(el, 'VK_HOME');
+    
    equals(el.val(), -100, "Home key to min");
-
-
});
test("currency and decimal options", function() {
@@ -122,28 +117,27 @@
    equals(el.val(), "$0.00", "start number");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
+    simulateKeyAction(el, 'VK_UP');
    equals(el.val(), "$0.30", "stepping 0.30");
-    el.simulate("keydown",{keyCode:$.simulate.VK_END})
-        .simulate("keyup",{keyCode:$.simulate.VK_END});
+    simulateKeyAction(el, 'VK_END');
    equals(el.val(), "$120.00", "End key to max");
-    el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
-        .simulate("keyup",{keyCode:$.simulate.VK_HOME});
+    simulateKeyAction(el, 'VK_HOME');
    equals(el.val(), "-$50.00", "Home key to min");
+    
+    el.simulate("keydown",{keyCode:$.simulate.VK_UP});
    for ( var i = 1 ; i<=120 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+        el.simulate("keypress",{keyCode:$.simulate.VK_UP});
    }
    el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-    equals(el.val(), "-$14.00", "keydown 120 times");
+    equals(el.val(), "-$14.00", "keypress 120 times");
});
@@ -154,19 +148,17 @@
    equals(el.val(), "0.0", "start number");
-    el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
-        .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+    simulateKeyAction(el, 'VK_DOWN');
    equals(el.val(), "-0.7", "stepping 0.7");
+    el.simulate("keydown",{keyCode:$.simulate.VK_UP});
    for ( var i = 1 ; i<=11 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+        el.simulate("keypress",{keyCode:$.simulate.VK_UP});
    }
-
    el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-    equals(el.val(), "7.0", "keydown 11 times");
-
+    equals(el.val(), "7.0", "keypress 11 times");
});
test("spin without auto-incremental stepping", function() {
@@ -174,21 +166,21 @@
    el = $("#spin").spinner({ incremental:false });
+    el.simulate("keydown",{keyCode:$.simulate.VK_UP});
    for ( var i = 1 ; i<=120 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+        el.simulate("keypress",{keyCode:$.simulate.VK_UP});
    }
-
    el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-    equals(el.val(), 120, "keydown 120 times");
+    equals(el.val(), 120, "keypress 120 times");
+    el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
    for ( var i = 1 ; i<=210 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
+        el.simulate("keypress",{keyCode:$.simulate.VK_DOWN});
    }
-
    el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-    equals(el.val(), -90, "keydown 210 times");
+    equals(el.val(), -90, "keypress 210 times");
});
@@ -197,21 +189,21 @@
    el = $("#spin").spinner();
+    el.simulate("keydown",{keyCode:$.simulate.VK_UP});
    for ( var i = 1 ; i<=120 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+        el.simulate("keypress",{keyCode:$.simulate.VK_UP});
    }
-
    el.simulate("keyup",{keyCode:$.simulate.VK_UP});
-    equals(el.val(), 300, "keydown 120 times (100+20*10)");
+    equals(el.val(), 300, "keypress 120 times (100+20*10)");
+    el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
    for ( var i = 1 ; i<=210 ; i++ ) {
-        el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
+        el.simulate("keypress",{keyCode:$.simulate.VK_DOWN});
    }
-
    el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-    equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)");
+    equals(el.val(), -1800, "keypress 210 times (300-100-100*10-10*100)");
});
@@ -257,20 +249,20 @@
        }
    });
-    
el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
+    simulateKeyAction(el, 'VK_UP');
    equals(start, 1, "Start 1 time");
-    
el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(spin, 2, "Spin 2 times");
-    
el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN});
-
+    simulateKeyAction(el, 'VK_DOWN');
+    
    equals(stop, 3, "Stop 3 times");
-    
el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(change, 4, "Change 4 times");
});
@@ -289,9 +281,8 @@
    equals(el.val(), "HK$1,000.00", "Hong Kong Dollar");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(el.val(), "HK$2,500.50", "Hong Kong Dollar step-up once");
    // space and comma
@@ -300,8 +291,7 @@
    equals(el.val(), "$1 000.00", "Australian Dollar");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
+    simulateKeyAction(el, 'VK_UP');
    equals(el.val(), "$2 500.50", "Australian Dollar step-up once");
@@ -311,8 +301,7 @@
    equals(el.val(), "Fr 1'000.00", "Swiss Franc");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
+    simulateKeyAction(el, 'VK_UP');
    equals(el.val(), "Fr 2'500.50", "Swiss Franc step-up once");
@@ -322,9 +311,8 @@
    equals(el.val(), "RUB1.000,00", "Russian Ruble");
-    el.simulate("keydown",{keyCode:$.simulate.VK_UP})
-        .simulate("keyup",{keyCode:$.simulate.VK_UP});
-
+    simulateKeyAction(el, 'VK_UP');
+    
    equals(el.val(), "RUB1.001,50", "Russian Ruble step-up once");
});