| OLD | NEW | 
|    1 description( |    1 description( | 
|    2 "This test checks the behavior of the add() method on the select.options object.
     <br>" + |    2 "This test checks the behavior of the add() method on the select.options object.
     <br>" + | 
|    3 "It covers both the the one-argument (1.x) and two-argument (2.x) signatures of 
     the add() method." |    3 "It covers both the the one-argument (1.x) and two-argument (2.x) signatures of 
     the add() method." | 
|    4 ); |    4 ); | 
|    5  |    5  | 
|    6 div = document.createElement("div"); |    6 div = document.createElement("div"); | 
|    7 sel = document.createElement("select"); |    7 sel = document.createElement("select"); | 
|    8 sel.setAttribute("id", "select1"); |    8 sel.setAttribute("id", "select1"); | 
|    9 div.appendChild(sel); |    9 div.appendChild(sel); | 
|   10 sel = document.createElement("select"); |   10 sel = document.createElement("select"); | 
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  230 shouldBe("select2.options[4].value", "'3'"); |  230 shouldBe("select2.options[4].value", "'3'"); | 
|  231 shouldBe("select2.options[4].textContent", "'C'"); |  231 shouldBe("select2.options[4].textContent", "'C'"); | 
|  232 shouldBe("select2.options[5].value", "'4'"); |  232 shouldBe("select2.options[5].value", "'4'"); | 
|  233 shouldBe("select2.options[5].textContent", "'D'"); |  233 shouldBe("select2.options[5].textContent", "'D'"); | 
|  234 shouldBe("select2.options[6].value", "'5'"); |  234 shouldBe("select2.options[6].value", "'5'"); | 
|  235 shouldBe("select2.options[6].textContent", "'E'"); |  235 shouldBe("select2.options[6].textContent", "'E'"); | 
|  236 debug(""); |  236 debug(""); | 
|  237  |  237  | 
|  238 debug("2.8 Add an Option at index -2"); |  238 debug("2.8 Add an Option at index -2"); | 
|  239 option2 = document.createElement("OPTION"); |  239 option2 = document.createElement("OPTION"); | 
|  240 shouldThrow("select2.options.add(option2, -2)"); |  240 shouldNotThrow("select2.options.add(option2, -2)"); | 
|  241 shouldBe("select2.options.length", "7"); |  241 shouldBe("select2.options.length", "8"); | 
|  242 shouldBe("select2.selectedIndex", "1"); |  242 shouldBe("select2.selectedIndex", "1"); | 
|  243 debug(""); |  243 debug(""); | 
|  244  |  244  | 
|  245 debug("2.9 Add an Option at index -Infinity"); |  245 debug("2.9 Add an Option at index -Infinity"); | 
|  246 option2 = document.createElement("OPTION"); |  246 option2 = document.createElement("OPTION"); | 
|  247 shouldNotThrow("select2.options.add(option2, -1/0)"); |  247 shouldNotThrow("select2.options.add(option2, -1/0)"); | 
|  248 shouldBe("select2.options.length", "8"); |  248 shouldBe("select2.options.length", "9"); | 
|  249 shouldBe("select2.selectedIndex", "2"); |  249 shouldBe("select2.selectedIndex", "2"); | 
|  250 debug(""); |  250 debug(""); | 
|  251  |  251  | 
|  252 debug("2.10 Add an Option at index NaN"); |  252 debug("2.10 Add an Option at index NaN"); | 
|  253 option2 = document.createElement("OPTION"); |  253 option2 = document.createElement("OPTION"); | 
|  254 shouldNotThrow("select2.options.add(option2, 0/0)"); |  254 shouldNotThrow("select2.options.add(option2, 0/0)"); | 
|  255 shouldBe("select2.options.length", "9"); |  255 shouldBe("select2.options.length", "10"); | 
|  256 shouldBe("select2.selectedIndex", "3"); |  256 shouldBe("select2.selectedIndex", "3"); | 
|  257 debug(""); |  257 debug(""); | 
|  258  |  258  | 
|  259 debug("2.11 Add an Option at index Infinity"); |  259 debug("2.11 Add an Option at index Infinity"); | 
|  260 option2 = document.createElement("OPTION"); |  260 option2 = document.createElement("OPTION"); | 
|  261 shouldNotThrow("select2.options.add(option2, 1/0)"); |  261 shouldNotThrow("select2.options.add(option2, 1/0)"); | 
|  262 shouldBe("select2.options.length", "10"); |  262 shouldBe("select2.options.length", "11"); | 
|  263 shouldBe("select2.selectedIndex", "4"); |  263 shouldBe("select2.selectedIndex", "4"); | 
|  264 debug(""); |  264 debug(""); | 
|  265  |  265  | 
|  266 debug("2.12 Add a non-Option element"); |  266 debug("2.12 Add a non-Option element"); | 
|  267 option2 = document.createElement("DIV"); |  267 option2 = document.createElement("DIV"); | 
|  268 shouldThrow("select2.options.add(option2, 1)"); |  268 shouldThrow("select2.options.add(option2, 1)"); | 
|  269 shouldBe("select2.options.length", "10"); |  269 shouldBe("select2.options.length", "11"); | 
|  270 shouldBe("select2.selectedIndex", "4"); |  270 shouldBe("select2.selectedIndex", "4"); | 
|  271 debug(""); |  271 debug(""); | 
|  272  |  272  | 
|  273 debug("2.13 Add a non-element (string)"); |  273 debug("2.13 Add a non-element (string)"); | 
|  274 option2 = "o"; |  274 option2 = "o"; | 
|  275 shouldThrow("select2.options.add(option2, 1)"); |  275 shouldThrow("select2.options.add(option2, 1)"); | 
|  276 shouldBe("select2.options.length", "10"); |  276 shouldBe("select2.options.length", "11"); | 
|  277 shouldBe("select2.selectedIndex", "4"); |  277 shouldBe("select2.selectedIndex", "4"); | 
|  278 debug(""); |  278 debug(""); | 
|  279  |  279  | 
|  280 debug("2.14 Add a non-element (number)"); |  280 debug("2.14 Add a non-element (number)"); | 
|  281 option2 = 3.14; |  281 option2 = 3.14; | 
|  282 shouldThrow("select2.options.add(option2, 1)"); |  282 shouldThrow("select2.options.add(option2, 1)"); | 
|  283 shouldBe("select2.options.length", "10"); |  283 shouldBe("select2.options.length", "11"); | 
|  284 shouldBe("select2.selectedIndex", "4"); |  284 shouldBe("select2.selectedIndex", "4"); | 
|  285 debug(""); |  285 debug(""); | 
|  286  |  286  | 
|  287 debug("2.15 Add a non-element (boolean)"); |  287 debug("2.15 Add a non-element (boolean)"); | 
|  288 option2 = true; |  288 option2 = true; | 
|  289 shouldThrow("select2.options.add(option2, 1)"); |  289 shouldThrow("select2.options.add(option2, 1)"); | 
|  290 shouldBe("select2.options.length", "10"); |  290 shouldBe("select2.options.length", "11"); | 
|  291 shouldBe("select2.selectedIndex", "4"); |  291 shouldBe("select2.selectedIndex", "4"); | 
|  292 debug(""); |  292 debug(""); | 
|  293  |  293  | 
|  294 debug("2.16 Add undefined"); |  294 debug("2.16 Add undefined"); | 
|  295 option2 = undefined; |  295 option2 = undefined; | 
|  296 shouldThrow("select2.options.add(option2, 1)"); |  296 shouldThrow("select2.options.add(option2, 1)"); | 
|  297 shouldBe("select2.options.length", "10"); |  297 shouldBe("select2.options.length", "11"); | 
|  298 shouldBe("select2.selectedIndex", "4"); |  298 shouldBe("select2.selectedIndex", "4"); | 
|  299 debug(""); |  299 debug(""); | 
|  300  |  300  | 
|  301 debug("2.17 Add null"); |  301 debug("2.17 Add null"); | 
|  302 option2 = null; |  302 option2 = null; | 
|  303 shouldThrow("select2.options.add(option2, 1)"); |  303 shouldThrow("select2.options.add(option2, 1)"); | 
|  304 shouldBe("select2.options.length", "10"); |  304 shouldBe("select2.options.length", "11"); | 
|  305 shouldBe("select2.selectedIndex", "4"); |  305 shouldBe("select2.selectedIndex", "4"); | 
|  306 debug(""); |  306 debug(""); | 
|  307  |  307  | 
|  308 debug("2.18 Add negative infinity"); |  308 debug("2.18 Add negative infinity"); | 
|  309 option2 = -1/0; |  309 option2 = -1/0; | 
|  310 shouldThrow("select2.options.add(option2, 1)"); |  310 shouldThrow("select2.options.add(option2, 1)"); | 
|  311 shouldBe("select2.options.length", "10"); |  311 shouldBe("select2.options.length", "11"); | 
|  312 shouldBe("select2.selectedIndex", "4"); |  312 shouldBe("select2.selectedIndex", "4"); | 
|  313 debug(""); |  313 debug(""); | 
|  314  |  314  | 
|  315 debug("2.19 Add NaN"); |  315 debug("2.19 Add NaN"); | 
|  316 option2 = 0/0; |  316 option2 = 0/0; | 
|  317 shouldThrow("select2.options.add(option2, 1)"); |  317 shouldThrow("select2.options.add(option2, 1)"); | 
|  318 shouldBe("select2.options.length", "10"); |  318 shouldBe("select2.options.length", "11"); | 
|  319 shouldBe("select2.selectedIndex", "4"); |  319 shouldBe("select2.selectedIndex", "4"); | 
|  320 debug(""); |  320 debug(""); | 
|  321  |  321  | 
|  322 debug("2.20 Add positive infinity"); |  322 debug("2.20 Add positive infinity"); | 
|  323 option2 = 1/0; |  323 option2 = 1/0; | 
|  324 shouldThrow("select2.options.add(option2, 1)"); |  324 shouldThrow("select2.options.add(option2, 1)"); | 
|  325 shouldBe("select2.options.length", "10"); |  325 shouldBe("select2.options.length", "11"); | 
|  326 shouldBe("select2.selectedIndex", "4"); |  326 shouldBe("select2.selectedIndex", "4"); | 
|  327 debug(""); |  327 debug(""); | 
| OLD | NEW |