]> source.dussan.org Git - jquery-ui.git/commitdiff
Spinner test: currency and decimal options
authorChi Cheng <cloudream@gmail.com>
Tue, 19 Aug 2008 08:51:59 +0000 (08:51 +0000)
committerChi Cheng <cloudream@gmail.com>
Tue, 19 Aug 2008 08:51:59 +0000 (08:51 +0000)
test all: .load to load html from single html

tests/all_2.html [new file with mode: 0644]
tests/spinner.js

diff --git a/tests/all_2.html b/tests/all_2.html
new file mode 100644 (file)
index 0000000..29280ef
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE html>\r
+<html lang="en">\r
+<head>\r
+       <title>jQuery UI All Tests</title>\r
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
+\r
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
+\r
+       <script type="text/javascript">\r
+       var components = ["accordion","autocomplete","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","spinner"];\r
+\r
+       $(document).ready(function(){\r
+\r
+               var $list = $("#individual_list"),\r
+                       $main = $("#main");\r
+\r
+               $.each(components, function(i, val){\r
+                       $list.append('<li><a href="' + val + '.html">' + val + '</a></li>');\r
+                       $('<div class="component_panel" id="' + val + '">').appendTo($main);\r
+                       $('div#'+val).load(val + '.html #main *');\r
+               });\r
+\r
+               loadScripts();\r
+\r
+               function loadScripts() {\r
+                       if ( $("div.component_panel").length == components.length ) {\r
+                               $.each(components, function(i, val){\r
+                                       $('head').append('<script type="text/javascript" src="'+val+'.js"></scr'+'pit>');\r
+                               });\r
+                       } else {\r
+                               setTimeout( function (){ loadScripts(); } ,10);\r
+                       }\r
+               }\r
+\r
+       \r
+       });\r
+\r
+       \r
+       </script>\r
+\r
+       <script type="text/javascript" src="../ui/ui.accordion.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.autocomplete.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.datepicker.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.dialog.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.draggable.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.droppable.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.progressbar.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.resizable.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.selectable.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.slider.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.sortable.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.spinner.js"></script>\r
+       <script type="text/javascript" src="../ui/ui.tabs.js"></script>\r
+       \r
+       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
+\r
+       <style type="text/css">\r
+               @import "../themes/flora/flora.datepicker.css";\r
+               .xerror, .error { display: none }\r
+       </style>\r
+\r
+</head>\r
+<body class="flora">\r
+       <h1>jQuery UI All Tests</h1>\r
+       <h2 id="banner"></h2>\r
+       <h2 id="userAgent"></h2>\r
+\r
+       <h4>Run individual testsuites or doubleclick a test below</h4>\r
+       <ul id="individual_list">\r
+       </ul>\r
+\r
+       <ol id="tests"></ol>\r
+\r
+       <div id="main" style="position:absolute;top:-2000000px;">\r
+\r
+       </div>\r
+\r
+       </body>\r
+</html>
\ No newline at end of file
index 6a90b308d99a3963d08ea170ccf6c38cc1834935..3447004a977f3cf3a812c92a142f59b16063a84e 100644 (file)
@@ -17,15 +17,48 @@ test("init", function() {
 test("destroy", function() {\r
        expect(1);\r
 \r
-       $("#spin").spinner().spinner("destroy");        \r
+       $("#spin").spinner().spinner("destroy");\r
        ok(true, '.spinner("destroy") called on element');\r
 \r
 });\r
 \r
+test("re-attach", function() {\r
+       expect(1);\r
+\r
+       el = $("#spin").spinner().spinner("destroy").spinner();\r
+       ok(true, '.spinner().spinner("destroy").spinner() called on element');\r
+\r
+});\r
+\r
+test("disabled on init", function() {\r
+       expect(1);\r
+\r
+       $("#spin").spinner({disabled:true});\r
+       ok(true, '.spinner({disabled:true}) called on element');\r
+\r
+});\r
+\r
+test("disable", function() {\r
+       expect(1);\r
+\r
+       $("#spin").spinner().spinner("disable");\r
+       ok(true, '.spinner("disable") called on element');\r
+\r
+});\r
+\r
+test("enable", function() {\r
+       expect(1);\r
+\r
+       $("#spin").spinner().spinner("destroy").spinner("enable");\r
+       ok(true, '.spinner("enable") called on element');\r
+\r
+});\r
+\r
 test("defaults", function() {\r
-       expect(5);\r
+       expect(6);\r
        el = $("#spin").spinner();\r
 \r
+       equals(el.data("currency.spinner"), false, "currency");\r
        equals(el.data("incremental.spinner"), true, "incremental");\r
        equals(el.data("max.spinner"), undefined, "max");\r
        equals(el.data("min.spinner"), undefined, "min");\r
@@ -35,9 +68,10 @@ test("defaults", function() {
 });\r
 \r
 test("set defaults on init", function() {\r
-       expect(5);\r
-       el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:2 });\r
+       expect(6);\r
+       el = $("#spin").spinner({ currency:true, incremental:false, max:200, min:-100, start:50, stepping:2 });\r
 \r
+       equals(el.data("currency.spinner"), true, "currency");\r
        equals(el.data("incremental.spinner"), false, "incremental");\r
        equals(el.data("max.spinner"), 200, "max");\r
        equals(el.data("min.spinner"), -100, "min");\r
@@ -102,6 +136,31 @@ test("keydown on input with options", function() {
        equals(el.val(), -100, "Home key to min");\r
 \r
 \r
+});\r
+\r
+test("currency and decimal options", function() {\r
+       expect(4);\r
+\r
+       el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.15 });\r
+\r
+       equals(el.val(), "$0.00", "start number");\r
+\r
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP})\r
+               .simulate("keyup",{keyCode:$.simulate.VK_UP});\r
+\r
+       equals(el.val(), "$0.15", "Stepping 0.15");\r
+\r
+       el.simulate("keydown",{keyCode:$.simulate.VK_END})\r
+               .simulate("keyup",{keyCode:$.simulate.VK_END});\r
+\r
+       equals(el.val(), "$120.00", "End key to max");\r
+\r
+       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})\r
+               .simulate("keyup",{keyCode:$.simulate.VK_HOME});\r
+\r
+       equals(el.val(), "-$50.00", "Home key to min");\r
+\r
+\r
 });\r
 \r
 test("spin without auto-incremental stepping", function() {\r
@@ -188,13 +247,13 @@ test("callback", function() {
                }\r
        });\r
 \r
-       for ( var i = 1 ; i<=10 ; i++ ) {\r
+       for ( var i = 1 ; i<=5 ; i++ ) {\r
                el.simulate("keydown",{keyCode:$.simulate.VK_UP});\r
        }\r
 \r
        el.simulate("keyup",{keyCode:$.simulate.VK_UP});\r
 \r
-       equals(s, 10, "Spin 10 times");\r
+       equals(s, 5, "Spin 5 times");\r
 \r
        el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});\r
 \r