r3068 committed - spinner: unit tests - complete methods tests

r3068 committed - spinner: unit tests - complete methods tests


Revision: 3068
Author: pazu2k@gmail.com
Date: Mon Aug 17 08:29:10 2009
Log: spinner: unit tests - complete methods tests
http://code.google.com/p/jquery-ui/source/detail?r=3068
Modified:
/branches/dev/spinner/tests/unit/spinner/spinner_methods.js
=======================================
--- /branches/dev/spinner/tests/unit/spinner/spinner_methods.js    Fri Jul 31
05:33:51 2009
+++ /branches/dev/spinner/tests/unit/spinner/spinner_methods.js    Mon Aug 17
08:29:10 2009
@@ -6,10 +6,11 @@
module("spinner: methods");
test("disable", function() {
-    expect(3);
+    expect(4);
    el = $("#spin").spinner({ disabled: false });
-    var wrapper = el.closest('.ui-spinner');
+    var wrapper = el.closest('.ui-spinner'),
+        val = el.val();
    ok(!wrapper.hasClass(".ui-spinner-disabled"), "before: wrapper does not
have ui-spinner-disabled class");
@@ -17,14 +18,21 @@
    ok(wrapper.hasClass(".ui-spinner-disabled"), "after: wrapper has
ui-spinner-disabled class");
-    ok(false, "TODO: Assert that widget does not respond to keyboard and
mouse when disabled");
+    simulateKeyDownUp(el, $.ui.keyCode.UP);
+
+    equals(val, el.val(), "value does not change on key UP");
+
+    $('.ui-spinner-up', wrapper).trigger('mousedown').trigger('mouseup');
+
+    equals(val, el.val(), "value does not change on mouse click");
});
test("enable", function() {
-    expect(3);
+    expect(4);
    el = $("#spin").spinner({ disabled: true });
-    var wrapper = el.closest('.ui-spinner');
+    var wrapper = el.closest('.ui-spinner'),
+        val = el.val();
    ok(wrapper.hasClass(".ui-spinner-disabled"), "before: wrapper has
ui-spinner-disabled class");
@@ -32,7 +40,13 @@
    ok(!wrapper.hasClass(".ui-spinner-disabled"), "after: wrapper does not
have ui-spinner-disabled class");
-    ok(false, "TODO: Assert that widget does respond to keyboard and mouse
when enabled");
+    simulateKeyDownUp(el, $.ui.keyCode.UP);
+
+    equals(++val, el.val(), "value changes on key UP");
+
+    $('.ui-spinner-up', wrapper).trigger('mousedown').trigger('mouseup');
+
+    equals(++val, el.val(), "value changes on mouse click");
});
test("pageDown", function() {
@@ -84,7 +98,12 @@
});
test("value", function() {
-    ok(false, 'missing test - untested code is broken code');
+    expect(1);
+
+    el = $('#spin').spinner({ value: 0 });
+
+    el.spinner('value', 10);
+    equals(el.val(), 10, "change value via value method");
});
})(jQuery);