| 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(div) threw exception TypeError: Type error. |
| 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: Type error. |
| 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: Type error. |
| 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: Type error. |
| PASS select1.options.length is 3 |
| PASS select1.selectedIndex is 0 |
| |
| 1.8 Add undefined |
| PASS select1.options.add(option1) threw exception TypeError: Type error. |
| PASS select1.options.length is 3 |
| PASS select1.selectedIndex is 0 |
| |
| 1.9 Add null |
| PASS select1.options.add(option1) threw exception TypeError: Type error. |
| PASS select1.options.length is 3 |
| PASS select1.selectedIndex is 0 |
| |
| 1.10 Add negative infinity |
| PASS select1.options.add(option1) threw exception TypeError: Type error. |
| PASS select1.options.length is 3 |
| PASS select1.selectedIndex is 0 |
| |
| 1.11 Add NaN |
| PASS select1.options.add(option1) threw exception TypeError: Type error. |
| PASS select1.options.length is 3 |
| PASS select1.selectedIndex is 0 |
| |
| 1.12 Add positive infinity |
| PASS select1.options.add(option1) threw exception TypeError: Type error. |
| 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(div, 1) threw exception TypeError: Type error. |
| 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: Type error. |
| 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: Type error. |
| 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: Type error. |
| PASS select2.options.length is 11 |
| PASS select2.selectedIndex is 4 |
| |
| 2.16 Add undefined |
| PASS select2.options.add(option2, 1) threw exception TypeError: Type error. |
| PASS select2.options.length is 11 |
| PASS select2.selectedIndex is 4 |
| |
| 2.17 Add null |
| PASS select2.options.add(option2, 1) threw exception TypeError: Type error. |
| 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: Type error. |
| PASS select2.options.length is 11 |
| PASS select2.selectedIndex is 4 |
| |
| 2.19 Add NaN |
| PASS select2.options.add(option2, 1) threw exception TypeError: Type error. |
| 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: Type error. |
| PASS select2.options.length is 11 |
| PASS select2.selectedIndex is 4 |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |