| 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 |