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 Error: TYPE_MISMATCH_ERR: DOM Exception 17. 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 Error: TYPE_MISMATCH_ERR: DOM Exception 17. 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 Error: TYPE_MISMATCH_ERR: DOM Exception 17. 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 Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select1.options.length is 3 PASS select1.selectedIndex is 0 1.8 Add undefined PASS select1.options.add(option1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select1.options.length is 3 PASS select1.selectedIndex is 0 1.9 Add null PASS select1.options.add(option1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select1.options.length is 3 PASS select1.selectedIndex is 0 1.10 Add negative infinity PASS select1.options.add(option1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select1.options.length is 3 PASS select1.selectedIndex is 0 1.11 Add NaN PASS select1.options.add(option1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select1.options.length is 3 PASS select1.selectedIndex is 0 1.12 Add positive infinity PASS select1.options.add(option1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. 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) threw exception Error: INDEX_SIZE_ERR: DOM Exception 1. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.9 Add an Option at index -Infinity PASS select2.options.add(option2, -1/0) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.10 Add an Option at index NaN PASS select2.options.add(option2, 0/0) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.11 Add an Option at index Infinity PASS select2.options.add(option2, 1/0) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.12 Add a non-Option element PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.13 Add a non-element (string) PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.14 Add a non-element (number) PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.15 Add a non-element (boolean) PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.16 Add undefined PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.17 Add null PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.18 Add negative infinity PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.19 Add NaN PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 2.20 Add positive infinity PASS select2.options.add(option2, 1) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17. PASS select2.options.length is 7 PASS select2.selectedIndex is 1 PASS successfullyParsed is true TEST COMPLETE