Index: LayoutTests/fast/forms/number/number-setrangetext-expected.txt |
diff --git a/LayoutTests/fast/forms/number/number-setrangetext-expected.txt b/LayoutTests/fast/forms/number/number-setrangetext-expected.txt |
index ef1ad0e4be819ce85e3fea6b2a31fef33f67885a..107cfb6c261c3a5c40c55cbc2b8d85d4455c191d 100644 |
--- a/LayoutTests/fast/forms/number/number-setrangetext-expected.txt |
+++ b/LayoutTests/fast/forms/number/number-setrangetext-expected.txt |
@@ -1,14 +1,129 @@ |
-Test setRangeText() method is not available in number inputs. |
+Test selection API on input type number. |
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
+setRangeText() with only one parameter. |
+element.value = '0123456789' |
+element.setSelectionRange(2, 5) |
+element.setRangeText('432') |
+PASS element.value is "0143256789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 5 |
+element.setRangeText('4321') |
+PASS element.value is "01432156789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 6 |
+element.setRangeText('43') |
+PASS element.value is "014356789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 4 |
+element.setRangeText('') |
+PASS element.value is "0156789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 2 |
-Running tests on input with attributes: {"type":"number"} |
+setRangeText() with 'select' as the selectMode. |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('432', 2, 5, 'select') |
+PASS element.value is "0143256789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 5 |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('987', 5, 10, 'select') |
+PASS element.value is "01234987" |
+PASS element.selectionStart is 5 |
+PASS element.selectionEnd is 8 |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('987', 1, 2, 'select') |
+PASS element.value is "098723456789" |
+PASS element.selectionStart is 1 |
+PASS element.selectionEnd is 4 |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('', 1, 9, 'select') |
+PASS element.value is "09" |
+PASS element.selectionStart is 1 |
+PASS element.selectionEnd is 1 |
-element.value = '0123456789XYZ' |
-PASS element.setRangeText('ABC', 0, 0) threw exception InvalidStateError: Failed to execute 'setRangeText' on 'HTMLInputElement': The input element's type ('number') does not support selection.. |
-PASS element.value is "" |
+setRangeText() with 'start' as the selectMode. |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('432', 2, 6, 'start') |
+PASS element.value is "014326789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 2 |
+ |
+setRangeText() with 'end' as the selectMode. |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('123', 10, 10, 'end') |
+PASS element.value is "0123456789123" |
+PASS element.selectionStart is 13 |
+PASS element.selectionEnd is 13 |
+ |
+setRangeText() with 'preserve' as the selectMode. |
+element.value = '0123456789' |
+element.setSelectionRange(6, 9) |
+element.setRangeText('9', 1, 2) |
+PASS element.value is "0923456789" |
+PASS element.selectionStart is 6 |
+PASS element.selectionEnd is 9 |
+element.value = '0123456789' |
+element.setSelectionRange(6, 9) |
+element.setRangeText('89', 1, 1, 'invalid') |
+PASS element.value is "089123456789" |
+PASS element.selectionStart is 8 |
+PASS element.selectionEnd is 11 |
+element.value = '0123456789' |
+element.setSelectionRange(6, 9) |
+element.setRangeText('89', 1, 1, undefined) |
+PASS element.value is "089123456789" |
+PASS element.selectionStart is 8 |
+PASS element.selectionEnd is 11 |
+element.value = '0123456789' |
+element.setSelectionRange(6, 9) |
+element.setRangeText('9', 1, 3, 'preserve') |
+PASS element.value is "093456789" |
+PASS element.selectionStart is 5 |
+PASS element.selectionEnd is 8 |
+element.value = '0123456789' |
+element.setSelectionRange(2, 6) |
+element.setRangeText('9', 1, 4, 'preserve') |
+PASS element.value is "09456789" |
+PASS element.selectionStart is 1 |
+PASS element.selectionEnd is 4 |
+element.value = '0123456789' |
+element.setSelectionRange(2, 6) |
+element.setRangeText('9', 4, 6, 'preserve') |
+PASS element.value is "012396789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 5 |
+element.value = '0123456789' |
+element.setSelectionRange(2, 6) |
+element.setRangeText('956789', 4, 7, 'preserve') |
+PASS element.value is "0123956789789" |
+PASS element.selectionStart is 2 |
+PASS element.selectionEnd is 10 |
+ |
+setRangeText() with various start/end values. |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('1', 100, 100, 'select') |
+PASS element.value is "01234567891" |
+PASS element.selectionStart is 10 |
+PASS element.selectionEnd is 11 |
+element.value = '0123456789' |
+element.setSelectionRange(0, 0) |
+element.setRangeText('1', 8, 100, 'select') |
+PASS element.value is "012345671" |
+PASS element.selectionStart is 8 |
+PASS element.selectionEnd is 9 |
+element.value = '0123456789' |
+PASS element.setRangeText('1', 7, 3) threw exception IndexSizeError: Failed to execute 'setRangeText' on 'HTMLInputElement': The provided start value (7) is larger than the provided end value (3).. |
PASS successfullyParsed is true |
TEST COMPLETE |