]> source.dussan.org Git - jquery-ui.git/commitdiff
Added tests for 3191 - handling NaN and other invalid values for relative dates
authorKeith Wood <kbwood.au@gmail.com>
Thu, 21 Aug 2008 09:33:39 +0000 (09:33 +0000)
committerKeith Wood <kbwood.au@gmail.com>
Thu, 21 Aug 2008 09:33:39 +0000 (09:33 +0000)
tests/datepicker.js

index 2d8a41a6041b6a1fea9ab21237d3428b5854f1b8..d79096b8aebd6fde15460dcb009d3757536d1ac2 100644 (file)
@@ -744,63 +744,84 @@ test('mouse', function() {
 test('defaultDate', function() {\r
        var inp = init('#inp');\r
        var date = new Date();\r
-       inp.val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+       inp.val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date null');\r
+       // numeric values\r
+       inp.datepicker('change', {defaultDate: -2}).\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+       date.setDate(date.getDate() - 2);\r
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -2');\r
+       inp.datepicker('change', {defaultDate: 3}).\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+       date.setDate(date.getDate() + 5);\r
+       equalsDate(inp.datepicker('getDate'), date, 'Default date 3');\r
+       inp.datepicker('change', {defaultDate: 1 / 0}).\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+       date.setDate(date.getDate() - 3);\r
+       equalsDate(inp.datepicker('getDate'), date, 'Default date Infinity');\r
+       inp.datepicker('change', {defaultDate: 1 / 'a'}).\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+       equalsDate(inp.datepicker('getDate'), date, 'Default date NaN');\r
+       // string values\r
        inp.datepicker('change', {defaultDate: '-1d'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date.setDate(date.getDate() - 1);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date -1d');\r
        inp.datepicker('change', {defaultDate: '+3D'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date.setDate(date.getDate() + 4);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date +3D');\r
        inp.datepicker('change', {defaultDate: ' -2 w '}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date = new Date();\r
        date.setDate(date.getDate() - 14);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date -2 w');\r
        inp.datepicker('change', {defaultDate: '+1 W'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date.setDate(date.getDate() + 21);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date +1 W');\r
        inp.datepicker('change', {defaultDate: ' -1 m '}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date = new Date();\r
        date.setMonth(date.getMonth() - 1);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date -1 m');\r
        inp.datepicker('change', {defaultDate: '+2M'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date.setMonth(date.getMonth() + 3);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date +2M');\r
        inp.datepicker('change', {defaultDate: '-2y'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date = new Date();\r
        date.setFullYear(date.getFullYear() - 2);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date -2y');\r
        inp.datepicker('change', {defaultDate: '+1 Y '}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date.setFullYear(date.getFullYear() + 3);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date +1 Y');\r
        inp.datepicker('change', {defaultDate: '+1M +10d'}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        date = new Date();\r
        date.setMonth(date.getMonth() + 1);\r
        date.setDate(date.getDate() + 10);\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date +1M +10d');\r
        date = new Date(2007, 1 - 1, 26);\r
        inp.datepicker('change', {defaultDate: date}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
+               datepicker('hide').val('').datepicker('show').\r
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
        equalsDate(inp.datepicker('getDate'), date, 'Default date 01/26/2007');\r
 });\r
 \r