Changeset 55423 in webkit


Ignore:
Timestamp:
Mar 2, 2010 12:31:57 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-03-02 Kent Tamura <tkent@chromium.org>

Reviewed by Shinichiro Hamaji.

Merge ValidityState-stepMismatch-{number,range,unsupported}.html and
input-step-{number,range,unsupported}.html to other tests
https://bugs.webkit.org/show_bug.cgi?id=35435

  • Merge ValidityState-stepMismatch-{number,range,unsupported}.html to ValidityState-stepMismatch.html
  • Merge input-step--{number,range,unsupported}.html to input-step.html
  • fast/forms/ValidityState-stepMismatch-expected.txt:
  • fast/forms/ValidityState-stepMismatch-number-expected.txt: Removed.
  • fast/forms/ValidityState-stepMismatch-number.html: Removed.
  • fast/forms/ValidityState-stepMismatch-range-expected.txt: Removed.
  • fast/forms/ValidityState-stepMismatch-range.html: Removed.
  • fast/forms/ValidityState-stepMismatch-unsupported-expected.txt: Removed.
  • fast/forms/ValidityState-stepMismatch-unsupported.html: Removed.
  • fast/forms/input-step-number-expected.txt: Removed.
  • fast/forms/input-step-number.html: Removed.
  • fast/forms/input-step-range-expected.txt: Removed.
  • fast/forms/input-step-range.html: Removed.
  • fast/forms/input-step-unsupported-expected.txt: Removed.
  • fast/forms/input-step-unsupported.html: Removed.
  • fast/forms/input-stepup-stepdown-expected.txt:
  • fast/forms/script-tests/ValidityState-stepMismatch-number.js: Removed.
  • fast/forms/script-tests/ValidityState-stepMismatch-range.js: Removed.
  • fast/forms/script-tests/ValidityState-stepMismatch-unsupported.js: Removed.
  • fast/forms/script-tests/ValidityState-stepMismatch.js:
  • fast/forms/script-tests/input-step-number.js: Removed.
  • fast/forms/script-tests/input-step-range.js: Removed.
  • fast/forms/script-tests/input-step-unsupported.js: Removed.
  • fast/forms/script-tests/input-stepup-stepdown.js:
Location:
trunk/LayoutTests
Files:
18 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r55414 r55423  
     12010-03-02  Kent Tamura  <tkent@chromium.org>
     2
     3        Reviewed by Shinichiro Hamaji.
     4
     5        Merge ValidityState-stepMismatch-{number,range,unsupported}.html and
     6        input-step-{number,range,unsupported}.html to other tests
     7        https://bugs.webkit.org/show_bug.cgi?id=35435
     8
     9        - Merge ValidityState-stepMismatch-{number,range,unsupported}.html to
     10        ValidityState-stepMismatch.html
     11        - Merge input-step--{number,range,unsupported}.html to input-step.html
     12
     13        * fast/forms/ValidityState-stepMismatch-expected.txt:
     14        * fast/forms/ValidityState-stepMismatch-number-expected.txt: Removed.
     15        * fast/forms/ValidityState-stepMismatch-number.html: Removed.
     16        * fast/forms/ValidityState-stepMismatch-range-expected.txt: Removed.
     17        * fast/forms/ValidityState-stepMismatch-range.html: Removed.
     18        * fast/forms/ValidityState-stepMismatch-unsupported-expected.txt: Removed.
     19        * fast/forms/ValidityState-stepMismatch-unsupported.html: Removed.
     20        * fast/forms/input-step-number-expected.txt: Removed.
     21        * fast/forms/input-step-number.html: Removed.
     22        * fast/forms/input-step-range-expected.txt: Removed.
     23        * fast/forms/input-step-range.html: Removed.
     24        * fast/forms/input-step-unsupported-expected.txt: Removed.
     25        * fast/forms/input-step-unsupported.html: Removed.
     26        * fast/forms/input-stepup-stepdown-expected.txt:
     27        * fast/forms/script-tests/ValidityState-stepMismatch-number.js: Removed.
     28        * fast/forms/script-tests/ValidityState-stepMismatch-range.js: Removed.
     29        * fast/forms/script-tests/ValidityState-stepMismatch-unsupported.js: Removed.
     30        * fast/forms/script-tests/ValidityState-stepMismatch.js:
     31        * fast/forms/script-tests/input-step-number.js: Removed.
     32        * fast/forms/script-tests/input-step-range.js: Removed.
     33        * fast/forms/script-tests/input-step-unsupported.js: Removed.
     34        * fast/forms/script-tests/input-stepup-stepdown.js:
     35
    1362010-03-02  Brady Eidson  <beidson@apple.com>
    237
  • trunk/LayoutTests/fast/forms/ValidityState-stepMismatch-expected.txt

    r54647 r55423  
    114114PASS stepMismatchFor("2010-03", "any", "2010-02") is false
    115115
     116Number type
     117Empty values
     118PASS stepMismatchFor("", null, null) is false
     119PASS stepMismatchFor("", "1.0", "0.1") is false
     120Integers
     121PASS stepMismatchFor("1", "2", "0") is true
     122PASS stepMismatchFor("-3", "2", "-4") is true
     123PASS input.max = "5"; stepMismatchFor("5", "3", "0") is true
     124PASS input.value is "5"
     125Invalid step values
     126PASS stepMismatchFor("-3", "-2", "-4") is false
     127PASS stepMismatchFor("-3", null, "-4") is false
     128PASS stepMismatchFor("-3", undefined, "-4") is false
     129Huge numbers and small step; uncomparable
     130PASS stepMismatchFor("1.7976931348623157e+308", "3", "") is false
     131PASS stepMismatchFor("1.7976931348623156e+308", "3", "") is false
     132PASS stepMismatchFor("1.7976931348623155e+308", "3", "") is false
     133Huge numbers and huge step
     134PASS stepMismatchFor("1.60e+308", "0.20e+308", "") is false
     135PASS stepMismatchFor("1.60e+308", "0.22e+308", "") is true
     136Fractional numbers
     137PASS stepMismatchFor("0.9", "0.1", "") is false
     138PASS stepMismatchFor("0.9", "0.1000001", "") is true
     139PASS stepMismatchFor("0.9", "0.1000000000000001", "") is false
     140PASS stepMismatchFor("1.0", "0.3333333333333333", "") is false
     141
     142Range type
     143Empty values
     144PASS stepMismatchFor("", null, null) is false
     145PASS stepMismatchFor("", "1.0", "0.1") is false
     146Integers
     147PASS stepMismatchFor("1", "2", "0") is false
     148PASS stepMismatchFor("-3", "2", "-4") is false
     149PASS input.max = "5"; stepMismatchFor("5", "3", "0") is false
     150PASS input.value is "3"
     151Invalid step values
     152PASS stepMismatchFor("-3", "-2", "-4") is false
     153PASS stepMismatchFor("-3", null, "-4") is false
     154PASS stepMismatchFor("-3", undefined, "-4") is false
     155Huge numbers and small step; uncomparable
     156PASS stepMismatchFor("1.7976931348623157e+308", "3", "") is false
     157PASS stepMismatchFor("1.7976931348623156e+308", "3", "") is false
     158PASS stepMismatchFor("1.7976931348623155e+308", "3", "") is false
     159Huge numbers and huge step
     160PASS stepMismatchFor("1.60e+308", "0.20e+308", "") is false
     161PASS stepMismatchFor("1.60e+308", "0.22e+308", "") is false
     162Fractional numbers
     163PASS stepMismatchFor("0.9", "0.1", "") is false
     164PASS stepMismatchFor("0.9", "0.1000001", "") is false
     165PASS stepMismatchFor("0.9", "0.1000000000000001", "") is false
     166PASS stepMismatchFor("1.0", "0.3333333333333333", "") is false
     167
    116168Time type
    117169Empty values
     
    170222Special step value
    171223PASS stepMismatchFor("2010-W03", "any", "2010-W02") is false
     224
     225Unsupported types
     226PASS input.type = "text"; input.step = "3"; input.min = ""; input.value = "2"; input.validity.stepMismatch is false
     227PASS input.type = "button"; input.validity.stepMismatch is false
     228PASS input.type = "checkbox"; input.validity.stepMismatch is false
     229PASS input.type = "color"; input.validity.stepMismatch is false
     230PASS input.type = "email"; input.validity.stepMismatch is false
     231PASS input.type = "hidden"; input.validity.stepMismatch is false
     232PASS input.type = "image"; input.validity.stepMismatch is false
     233PASS input.type = "khtml_isindex"; input.validity.stepMismatch is false
     234PASS input.type = "passwd"; input.validity.stepMismatch is false
     235PASS input.type = "radio"; input.validity.stepMismatch is false
     236PASS input.type = "reset"; input.validity.stepMismatch is false
     237PASS input.type = "search"; input.validity.stepMismatch is false
     238PASS input.type = "submit"; input.validity.stepMismatch is false
     239PASS input.type = "tel"; input.validity.stepMismatch is false
     240PASS input.type = "url"; input.validity.stepMismatch is false
     241PASS input.type = "file"; input.validity.stepMismatch is false
    172242PASS successfullyParsed is true
    173243
  • trunk/LayoutTests/fast/forms/input-stepup-stepdown-expected.txt

    r54647 r55423  
    112112PASS stepDown("2010-02", "1", "2010-02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
    113113
     114Number type
     115Invalid value
     116PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     117PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     118Non-number arguments
     119PASS stepUp("0", null, null, "0") is "0"
     120PASS stepDown("0", null, null, "0") is "0"
     121PASS stepUp("0", null, null, "foo") is "0"
     122PASS stepDown("0", null, null, "foo") is "0"
     123PASS stepUp("0", null, null, null) is "0"
     124PASS stepDown("0", null, null, null) is "0"
     125Normal cases
     126PASS stepUp("0", null, null) is "1"
     127PASS stepUp("1", null, null, 2) is "3"
     128PASS stepUp("3", null, null, -1) is "2"
     129PASS stepDown("2", null, null) is "1"
     130PASS stepDown("1", null, null, 2) is "-1"
     131PASS stepDown("-1", null, null, -1) is "0"
     132Extra arguments
     133PASS input.value = "0"; input.min = null; input.step = null; input.stepUp(1, 2); input.value is "1"
     134PASS input.value = "1"; input.stepDown(1, 3); input.value is "0"
     135Invalid step value
     136PASS stepUp("0", "foo", null) is "1"
     137PASS stepUp("1", "0", null) is "2"
     138PASS stepUp("2", "-1", null) is "3"
     139Step=any
     140PASS stepUp("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     141PASS stepDown("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     142Overflow/underflow
     143PASS stepDown("1", "1", "0") is "0"
     144PASS stepDown("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     145PASS stepDown("1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     146PASS input.value is "1"
     147PASS stepDown("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     148PASS stepUp("-1", "1", "0") is "0"
     149PASS stepUp("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     150PASS stepUp("-1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     151PASS input.value is "-1"
     152PASS stepUp("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     153stepDown()/stepUp() for stepMismatch values
     154PASS stepUp("1", "2", "") is "4"
     155PASS input.stepDown(); input.value is "2"
     156PASS input.min = "0"; stepUp("9", "10", "", 9) is "100"
     157PASS stepDown("19", "10", "0") is "10"
     158PASS stepUp("89", "10", "99") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     159Huge value and small step
     160PASS input.min = ""; stepUp("1e+308", "1", "", 999999) is "1e+308"
     161PASS input.max = ""; stepDown("1e+308", "1", "", 999999) is "1e+308"
     162Fractional numbers
     163PASS input.min = ""; stepUp("0", "0.33333333333333333", "", 3) is "1"
     164PASS stepUp("1", "0.1", "", 10) is "2"
     165PASS input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value is "3"
     166PASS input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255) is "1"
     167PASS for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value is "0"
     168
     169Range type
     170Invalid value
     171PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     172PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     173Non-number arguments
     174PASS stepUp("0", null, null, "0") is "0"
     175PASS stepDown("0", null, null, "0") is "0"
     176PASS stepUp("0", null, null, "foo") is "0"
     177PASS stepDown("0", null, null, "foo") is "0"
     178PASS stepUp("0", null, null, null) is "0"
     179PASS stepDown("0", null, null, null) is "0"
     180Normal cases
     181PASS stepUp("0", null, null) is "1"
     182PASS stepUp("1", null, null, 2) is "3"
     183PASS stepUp("3", null, null, -1) is "2"
     184PASS stepDown("2", null, "-100") is "1"
     185PASS stepDown("1", null, "-100", 2) is "-1"
     186PASS stepDown("-1", null, "-100", -1) is "0"
     187Extra arguments
     188PASS input.value = "0"; input.min = null; input.step = null; input.stepUp(1, 2); input.value is "1"
     189PASS input.value = "1"; input.stepDown(1, 3); input.value is "0"
     190Invalid step value
     191PASS stepUp("0", "foo", null) is "1"
     192PASS stepUp("1", "0", null) is "2"
     193PASS stepUp("2", "-1", null) is "3"
     194Step=any
     195PASS stepUp("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     196PASS stepDown("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     197Overflow/underflow
     198PASS stepDown("1", "1", "0") is "0"
     199PASS stepDown("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     200PASS stepDown("1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     201PASS input.value is "1"
     202PASS stepDown("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     203PASS input.min = "-100"; stepUp("-1", "1", "0") is "0"
     204PASS stepUp("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     205PASS input.min = "-100"; stepUp("-1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     206PASS input.value is "-1"
     207PASS stepUp("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     208stepDown()/stepUp() for stepMismatch values
     209PASS stepUp("1", "2", "") is "4"
     210PASS input.stepDown(); input.value is "2"
     211PASS input.min = "0"; stepUp("9", "10", "", 9) is "100"
     212PASS stepDown("19", "10", "0") is "10"
     213PASS stepUp("89", "10", "99") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     214Huge value and small step
     215PASS input.min = "0"; stepUp("1e+308", "1", "1e+308", 999999) is "1e+308"
     216PASS input.max = "1e+308"; input.min = "0"; input.step = "1"; input.value = "1e+308"; input.stepDown(999999); input.value is "1e+308"
     217Fractional numbers
     218PASS input.min = ""; stepUp("0", "0.33333333333333333", "", 3) is "1"
     219PASS stepUp("1", "0.1", "", 10) is "2"
     220PASS input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value is "3"
     221PASS input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255) is "1"
     222PASS for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value is "0"
     223
    114224Time type
    115225Invalid value
     
    167277PASS stepUp("2010-W02", "1", "2010-W02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
    168278PASS stepDown("2010-W02", "1", "2010-W02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     279
     280Unsupported type
     281PASS input.step = "3"; input.min = ""; input.max = ""; input.value = "2"; input.stepDown() threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     282PASS input.stepDown(0) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     283PASS input.stepUp() threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
     284PASS input.stepUp(0) threw exception Error: INVALID_STATE_ERR: DOM Exception 11.
    169285PASS successfullyParsed is true
    170286
  • trunk/LayoutTests/fast/forms/script-tests/ValidityState-stepMismatch.js

    r54647 r55423  
    11description('Check stepMismatch results for type=date, datetime, datetime-local, month, time, week.');
    2 // FIXME: Merge other ValidityState-stepMismatch-* into this.
    32
    43var input = document.createElement('input');
     4document.body.appendChild(input);
    55
    66function stepMismatchFor(value, step, min) {
     7    input.min = min;
     8    input.step = step;
    79    input.value = value;
    8     input.step = step;
    9     input.min = min;
    1010    return input.validity.stepMismatch;
    1111}
     
    129129
    130130debug('');
     131debug('Number type');
     132input.type = 'number';
     133debug('Empty values');
     134shouldBe('stepMismatchFor("", null, null)', 'false');
     135shouldBe('stepMismatchFor("", "1.0", "0.1")', 'false');
     136debug('Integers');
     137shouldBe('stepMismatchFor("1", "2", "0")', 'true');
     138shouldBe('stepMismatchFor("-3", "2", "-4")', 'true');
     139shouldBe('input.max = "5"; stepMismatchFor("5", "3", "0")', 'true');
     140shouldBe('input.value', '"5"');
     141debug('Invalid step values');
     142input.max = '';
     143shouldBe('stepMismatchFor("-3", "-2", "-4")', 'false');
     144shouldBe('stepMismatchFor("-3", null, "-4")', 'false');
     145shouldBe('stepMismatchFor("-3", undefined, "-4")', 'false');
     146debug('Huge numbers and small step; uncomparable');
     147shouldBe('stepMismatchFor("1.7976931348623157e+308", "3", "")', 'false');
     148shouldBe('stepMismatchFor("1.7976931348623156e+308", "3", "")', 'false');
     149shouldBe('stepMismatchFor("1.7976931348623155e+308", "3", "")', 'false');
     150debug('Huge numbers and huge step');
     151shouldBe('stepMismatchFor("1.60e+308", "0.20e+308", "")', 'false');
     152shouldBe('stepMismatchFor("1.60e+308", "0.22e+308", "")', 'true');
     153debug('Fractional numbers');
     154shouldBe('stepMismatchFor("0.9", "0.1", "")', 'false');
     155shouldBe('stepMismatchFor("0.9", "0.1000001", "")', 'true');
     156shouldBe('stepMismatchFor("0.9", "0.1000000000000001", "")', 'false');
     157shouldBe('stepMismatchFor("1.0", "0.3333333333333333", "")', 'false');
     158
     159debug('');
     160debug('Range type');
     161input.type = 'range';
     162// The following test inputs are the same as inputs for type=numbe,
     163// but all expected results should be 'false'.
     164debug('Empty values');
     165shouldBe('stepMismatchFor("", null, null)', 'false');
     166shouldBe('stepMismatchFor("", "1.0", "0.1")', 'false');
     167debug('Integers');
     168shouldBe('stepMismatchFor("1", "2", "0")', 'false');
     169shouldBe('stepMismatchFor("-3", "2", "-4")', 'false');
     170shouldBe('input.max = "5"; stepMismatchFor("5", "3", "0")', 'false');
     171shouldBe('input.value', '"3"'); // Different from type=number.
     172debug('Invalid step values');
     173input.max = '';
     174shouldBe('stepMismatchFor("-3", "-2", "-4")', 'false');
     175shouldBe('stepMismatchFor("-3", null, "-4")', 'false');
     176shouldBe('stepMismatchFor("-3", undefined, "-4")', 'false');
     177debug('Huge numbers and small step; uncomparable');
     178shouldBe('stepMismatchFor("1.7976931348623157e+308", "3", "")', 'false');
     179shouldBe('stepMismatchFor("1.7976931348623156e+308", "3", "")', 'false');
     180shouldBe('stepMismatchFor("1.7976931348623155e+308", "3", "")', 'false');
     181debug('Huge numbers and huge step');
     182shouldBe('stepMismatchFor("1.60e+308", "0.20e+308", "")', 'false');
     183shouldBe('stepMismatchFor("1.60e+308", "0.22e+308", "")', 'false');
     184debug('Fractional numbers');
     185shouldBe('stepMismatchFor("0.9", "0.1", "")', 'false');
     186shouldBe('stepMismatchFor("0.9", "0.1000001", "")', 'false');
     187shouldBe('stepMismatchFor("0.9", "0.1000000000000001", "")', 'false');
     188shouldBe('stepMismatchFor("1.0", "0.3333333333333333", "")', 'false');
     189
     190debug('');
    131191debug('Time type');
    132192input.type = 'time';
     
    189249shouldBeFalse('stepMismatchFor("2010-W03", "any", "2010-W02")');
    190250
     251debug('');
     252debug('Unsupported types');
     253shouldBe('input.type = "text"; input.step = "3"; input.min = ""; input.value = "2"; input.validity.stepMismatch', 'false');
     254shouldBe('input.type = "button"; input.validity.stepMismatch', 'false');
     255shouldBe('input.type = "checkbox"; input.validity.stepMismatch', 'false');
     256shouldBe('input.type = "color"; input.validity.stepMismatch', 'false');
     257shouldBe('input.type = "email"; input.validity.stepMismatch', 'false');
     258shouldBe('input.type = "hidden"; input.validity.stepMismatch', 'false');
     259shouldBe('input.type = "image"; input.validity.stepMismatch', 'false');
     260shouldBe('input.type = "khtml_isindex"; input.validity.stepMismatch', 'false');
     261shouldBe('input.type = "passwd"; input.validity.stepMismatch', 'false');
     262shouldBe('input.type = "radio"; input.validity.stepMismatch', 'false');
     263shouldBe('input.type = "reset"; input.validity.stepMismatch', 'false');
     264shouldBe('input.type = "search"; input.validity.stepMismatch', 'false');
     265shouldBe('input.type = "submit"; input.validity.stepMismatch', 'false');
     266shouldBe('input.type = "tel"; input.validity.stepMismatch', 'false');
     267shouldBe('input.type = "url"; input.validity.stepMismatch', 'false');
     268shouldBe('input.type = "file"; input.validity.stepMismatch', 'false');
     269
    191270var successfullyParsed = true;
  • trunk/LayoutTests/fast/forms/script-tests/input-stepup-stepdown.js

    r54647 r55423  
    11description('Check stepUp() and stepDown() bahevior for type=date, datetime, datetime-local, month, time, week.');
    2 // FIXME: Merge input-step-* into this.
    32
    43var input = document.createElement('input');
     
    145144
    146145debug('');
     146debug('Number type');
     147input.type = 'number';
     148debug('Invalid value');
     149shouldThrow('stepUp("", null, null)', invalidStateErr);
     150shouldThrow('stepDown("", null, null)', invalidStateErr);
     151debug('Non-number arguments');
     152shouldBe('stepUp("0", null, null, "0")', '"0"');
     153shouldBe('stepDown("0", null, null, "0")', '"0"');
     154shouldBe('stepUp("0", null, null, "foo")', '"0"');
     155shouldBe('stepDown("0", null, null, "foo")', '"0"');
     156shouldBe('stepUp("0", null, null, null)', '"0"');
     157shouldBe('stepDown("0", null, null, null)', '"0"');
     158debug('Normal cases');
     159shouldBe('stepUp("0", null, null)', '"1"');
     160shouldBe('stepUp("1", null, null, 2)', '"3"');
     161shouldBe('stepUp("3", null, null, -1)', '"2"');
     162shouldBe('stepDown("2", null, null)', '"1"');
     163shouldBe('stepDown("1", null, null, 2)', '"-1"');
     164shouldBe('stepDown("-1", null, null, -1)', '"0"');
     165debug('Extra arguments');
     166shouldBe('input.value = "0"; input.min = null; input.step = null; input.stepUp(1, 2); input.value', '"1"');
     167shouldBe('input.value = "1"; input.stepDown(1, 3); input.value', '"0"');
     168debug('Invalid step value');
     169shouldBe('stepUp("0", "foo", null)', '"1"');
     170shouldBe('stepUp("1", "0", null)', '"2"');
     171shouldBe('stepUp("2", "-1", null)', '"3"');
     172debug('Step=any');
     173shouldThrow('stepUp("0", "any", null)', invalidStateErr);
     174shouldThrow('stepDown("0", "any", null)', invalidStateErr);
     175debug('Overflow/underflow');
     176shouldBe('stepDown("1", "1", "0")', '"0"');
     177shouldThrow('stepDown("0", "1", "0")', invalidStateErr);
     178shouldThrow('stepDown("1", "1", "0", 2)', invalidStateErr);
     179shouldBe('input.value', '"1"');
     180shouldThrow('stepDown("1", "1.7976931348623156e+308", "", 2)', invalidStateErr);
     181shouldBe('stepUp("-1", "1", "0")', '"0"');
     182shouldThrow('stepUp("0", "1", "0")', invalidStateErr);
     183shouldThrow('stepUp("-1", "1", "0", 2)', invalidStateErr);
     184shouldBe('input.value', '"-1"');
     185shouldThrow('stepUp("1", "1.7976931348623156e+308", "", 2)', invalidStateErr);
     186debug('stepDown()/stepUp() for stepMismatch values');
     187shouldBe('stepUp("1", "2", "")', '"4"');
     188shouldBe('input.stepDown(); input.value', '"2"');
     189shouldBe('input.min = "0"; stepUp("9", "10", "", 9)', '"100"');
     190shouldBe('stepDown("19", "10", "0")', '"10"');
     191// value + step is <= max, but rounded result would be > max.
     192shouldThrow('stepUp("89", "10", "99")', invalidStateErr);
     193debug('Huge value and small step');
     194shouldBe('input.min = ""; stepUp("1e+308", "1", "", 999999)', '"1e+308"');
     195shouldBe('input.max = ""; stepDown("1e+308", "1", "", 999999)', '"1e+308"');
     196debug('Fractional numbers');
     197shouldBe('input.min = ""; stepUp("0", "0.33333333333333333", "", 3)', '"1"');
     198shouldBe('stepUp("1", "0.1", "", 10)', '"2"');
     199shouldBe('input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value', '"3"');
     200shouldBe('input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255)', '"1"');
     201shouldBe('for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value', '"0"');
     202
     203debug('');
     204debug('Range type');
     205input.type = 'range';
     206debug('Invalid value');
     207shouldThrow('stepUp("", null, null)', invalidStateErr);
     208shouldThrow('stepDown("", null, null)', invalidStateErr);
     209debug('Non-number arguments');
     210shouldBe('stepUp("0", null, null, "0")', '"0"');
     211shouldBe('stepDown("0", null, null, "0")', '"0"');
     212shouldBe('stepUp("0", null, null, "foo")', '"0"');
     213shouldBe('stepDown("0", null, null, "foo")', '"0"');
     214shouldBe('stepUp("0", null, null, null)', '"0"');
     215shouldBe('stepDown("0", null, null, null)', '"0"');
     216debug('Normal cases');
     217shouldBe('stepUp("0", null, null)', '"1"');
     218shouldBe('stepUp("1", null, null, 2)', '"3"');
     219shouldBe('stepUp("3", null, null, -1)', '"2"');
     220shouldBe('stepDown("2", null, "-100")', '"1"');
     221shouldBe('stepDown("1", null, "-100", 2)', '"-1"');
     222shouldBe('stepDown("-1", null, "-100", -1)', '"0"');
     223debug('Extra arguments');
     224shouldBe('input.value = "0"; input.min = null; input.step = null; input.stepUp(1, 2); input.value', '"1"');
     225shouldBe('input.value = "1"; input.stepDown(1, 3); input.value', '"0"');
     226debug('Invalid step value');
     227shouldBe('stepUp("0", "foo", null)', '"1"');
     228shouldBe('stepUp("1", "0", null)', '"2"');
     229shouldBe('stepUp("2", "-1", null)', '"3"');
     230debug('Step=any');
     231shouldThrow('stepUp("0", "any", null)', invalidStateErr);
     232shouldThrow('stepDown("0", "any", null)', invalidStateErr);
     233debug('Overflow/underflow');
     234shouldBe('stepDown("1", "1", "0")', '"0"');
     235shouldThrow('stepDown("0", "1", "0")', invalidStateErr);
     236shouldThrow('stepDown("1", "1", "0", 2)', invalidStateErr);
     237shouldBe('input.value', '"1"');
     238shouldThrow('stepDown("1", "1.7976931348623156e+308", "", 2)', invalidStateErr);
     239shouldBe('input.min = "-100"; stepUp("-1", "1", "0")', '"0"');
     240shouldThrow('stepUp("0", "1", "0")', invalidStateErr);
     241shouldThrow('input.min = "-100"; stepUp("-1", "1", "0", 2)', invalidStateErr);
     242shouldBe('input.value', '"-1"');
     243shouldThrow('stepUp("1", "1.7976931348623156e+308", "", 2)', invalidStateErr);
     244debug('stepDown()/stepUp() for stepMismatch values');
     245shouldBe('stepUp("1", "2", "")', '"4"');
     246shouldBe('input.stepDown(); input.value', '"2"');
     247shouldBe('input.min = "0"; stepUp("9", "10", "", 9)', '"100"');
     248shouldBe('stepDown("19", "10", "0")', '"10"');
     249// value + step is <= max, but rounded result would be > max.
     250shouldThrow('stepUp("89", "10", "99")', invalidStateErr);
     251debug('Huge value and small step');
     252shouldBe('input.min = "0"; stepUp("1e+308", "1", "1e+308", 999999)', '"1e+308"');
     253shouldBe('input.max = "1e+308"; input.min = "0"; input.step = "1"; input.value = "1e+308"; input.stepDown(999999); input.value', '"1e+308"');
     254debug('Fractional numbers');
     255shouldBe('input.min = ""; stepUp("0", "0.33333333333333333", "", 3)', '"1"');
     256shouldBe('stepUp("1", "0.1", "", 10)', '"2"');
     257shouldBe('input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value', '"3"');
     258shouldBe('input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255)', '"1"');
     259shouldBe('for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value', '"0"');
     260
     261debug('');
    147262debug('Time type');
    148263input.type = 'time';
     
    204319shouldThrow('stepDown("2010-W02", "1", "2010-W02")', invalidStateErr);
    205320
     321debug('');
     322debug('Unsupported type');
     323shouldThrow('input.step = "3"; input.min = ""; input.max = ""; input.value = "2"; input.stepDown()', '"Error: INVALID_STATE_ERR: DOM Exception 11"');
     324shouldThrow('input.stepDown(0)', '"Error: INVALID_STATE_ERR: DOM Exception 11"');
     325shouldThrow('input.stepUp()', '"Error: INVALID_STATE_ERR: DOM Exception 11"');
     326shouldThrow('input.stepUp(0)', '"Error: INVALID_STATE_ERR: DOM Exception 11"');
     327
    206328var successfullyParsed = true;
Note: See TracChangeset for help on using the changeset viewer.