chromium/third_party/blink/web_tests/fast/js/select-options-add-expected.txt

This test checks the behavior of the add() method on the select.options object.
It covers both the the one-argument (1.x) and two-argument (2.x) signatures of the add() method.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

1.1 Add Option to empty Options
PASS select1.options.length is 1
PASS select1.selectedIndex is 0
PASS select1.options[0].value is '1'
PASS select1.options[0].textContent is 'A'


1.2 Add Option to non-empty Options
PASS select1.options.length is 2
PASS select1.selectedIndex is 0
PASS select1.options[0].value is '1'
PASS select1.options[0].textContent is 'A'
PASS select1.options[1].value is '2'
PASS select1.options[1].textContent is 'B'


1.3 Add Option after setting parameters
PASS select1.options.length is 3
PASS select1.selectedIndex is 0
PASS select1.options[0].value is '1'
PASS select1.options[0].textContent is 'A'
PASS select1.options[1].value is '2'
PASS select1.options[1].textContent is 'B'
PASS select1.options[2].value is '3'
PASS select1.options[2].textContent is 'C'


1.4 Add a non-Option element
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.5 Add a non-element (string)
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.6 Add a non-element (number)
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.7 Add a non-element (boolean)
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.8 Add undefined
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.9 Add null
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.10 Add negative infinity
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.11 Add NaN
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


1.12 Add positive infinity
PASS select1.options.add(option1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select1.options.length is 3
PASS select1.selectedIndex is 0


2.1 Add Option to empty Options
PASS select2.options.length is 1
PASS select2.selectedIndex is 0
PASS select2.options[0].value is '1'
PASS select2.options[0].textContent is 'A'


2.2 Add Option after setting parameters
PASS select2.options.length is 2
PASS select2.selectedIndex is 0
PASS select2.options[0].value is '1'
PASS select2.options[0].textContent is 'A'
PASS select2.options[1].value is '2'
PASS select2.options[1].textContent is 'B'


2.3 Insert Option at beginning of Options
PASS select2.options.length is 3
PASS select2.selectedIndex is 1
PASS select2.options[0].value is '0'
PASS select2.options[0].textContent is 'Z'
PASS select2.options[1].value is '1'
PASS select2.options[1].textContent is 'A'
PASS select2.options[2].value is '2'
PASS select2.options[2].textContent is 'B'


2.4 Insert Option in middle of Options
PASS select2.options.length is 4
PASS select2.selectedIndex is 1
PASS select2.options[0].value is '0'
PASS select2.options[0].textContent is 'Z'
PASS select2.options[1].value is '1'
PASS select2.options[1].textContent is 'A'
PASS select2.options[2].value is '1.5'
PASS select2.options[2].textContent is 'A.5'
PASS select2.options[3].value is '2'
PASS select2.options[3].textContent is 'B'


2.5 Insert Option at end of Options
PASS select2.options.length is 5
PASS select2.selectedIndex is 1
PASS select2.options[0].value is '0'
PASS select2.options[0].textContent is 'Z'
PASS select2.options[1].value is '1'
PASS select2.options[1].textContent is 'A'
PASS select2.options[2].value is '1.5'
PASS select2.options[2].textContent is 'A.5'
PASS select2.options[3].value is '2'
PASS select2.options[3].textContent is 'B'
PASS select2.options[4].value is '3'
PASS select2.options[4].textContent is 'C'


2.6 Insert Option beyond the end of Options
PASS select2.options.length is 6
PASS select2.selectedIndex is 1
PASS select2.options[0].value is '0'
PASS select2.options[0].textContent is 'Z'
PASS select2.options[1].value is '1'
PASS select2.options[1].textContent is 'A'
PASS select2.options[2].value is '1.5'
PASS select2.options[2].textContent is 'A.5'
PASS select2.options[3].value is '2'
PASS select2.options[3].textContent is 'B'
PASS select2.options[4].value is '3'
PASS select2.options[4].textContent is 'C'
PASS select2.options[5].value is '4'
PASS select2.options[5].textContent is 'D'


2.7 Add an Option at index -1
PASS select2.options.length is 7
PASS select2.selectedIndex is 1
PASS select2.options[0].value is '0'
PASS select2.options[0].textContent is 'Z'
PASS select2.options[1].value is '1'
PASS select2.options[1].textContent is 'A'
PASS select2.options[2].value is '1.5'
PASS select2.options[2].textContent is 'A.5'
PASS select2.options[3].value is '2'
PASS select2.options[3].textContent is 'B'
PASS select2.options[4].value is '3'
PASS select2.options[4].textContent is 'C'
PASS select2.options[5].value is '4'
PASS select2.options[5].textContent is 'D'
PASS select2.options[6].value is '5'
PASS select2.options[6].textContent is 'E'


2.8 Add an Option at index -2
PASS select2.options.add(option2, -2) did not throw exception.
PASS select2.options.length is 8
PASS select2.selectedIndex is 1


2.9 Add an Option at index -Infinity
PASS select2.options.add(option2, -1/0) did not throw exception.
PASS select2.options.length is 9
PASS select2.selectedIndex is 2


2.10 Add an Option at index NaN
PASS select2.options.add(option2, 0/0) did not throw exception.
PASS select2.options.length is 10
PASS select2.selectedIndex is 3


2.11 Add an Option at index Infinity
PASS select2.options.add(option2, 1/0) did not throw exception.
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.12 Add a non-Option element
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.13 Add a non-element (string)
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.14 Add a non-element (number)
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.15 Add a non-element (boolean)
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.16 Add undefined
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.17 Add null
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.18 Add negative infinity
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.19 Add NaN
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


2.20 Add positive infinity
PASS select2.options.add(option2, 1) threw exception TypeError: Failed to execute 'add' on 'HTMLOptionsCollection': The provided value is not of type '(HTMLOptGroupElement or HTMLOptionElement)'..
PASS select2.options.length is 11
PASS select2.selectedIndex is 4


PASS successfullyParsed is true

TEST COMPLETE

A
B
C
Z
A
A.5
B
C
D
E