Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: LayoutTests/fast/js/resources/select-options-remove.js

Issue 23602016: Make index argument to HTMLOptionsCollection.remove() mandatory (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 description("This test checks the behavior of the remove() method on the select. options object."); 1 description("This test checks the behavior of the remove() method on the select. options object.");
2 2
3 var select1 = document.getElementById("select1"); 3 var select1 = document.getElementById("select1");
4 var value; 4 var value;
5 5
6 debug("1.1 Remove (object) from empty Options"); 6 debug("1.1 Remove (object) from empty Options");
7 value = document.createElement("DIV"); 7 value = document.createElement("DIV");
8 shouldBe("select1.options.remove(value)", "undefined"); 8 shouldBe("select1.options.remove(value)", "undefined");
9 shouldBe("select1.options.length", "0"); 9 shouldBe("select1.options.length", "0");
10 shouldBe("select1.selectedIndex", "-1"); 10 shouldBe("select1.selectedIndex", "-1");
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 debug(""); 60 debug("");
61 61
62 debug("1.9 Remove (positive infinity) from empty Options"); 62 debug("1.9 Remove (positive infinity) from empty Options");
63 value = 1/0; 63 value = 1/0;
64 shouldBe("select1.options.remove(value)", "undefined"); 64 shouldBe("select1.options.remove(value)", "undefined");
65 shouldBe("select1.options.length", "0"); 65 shouldBe("select1.options.length", "0");
66 shouldBe("select1.selectedIndex", "-1"); 66 shouldBe("select1.selectedIndex", "-1");
67 debug(""); 67 debug("");
68 68
69 debug("1.10 Remove no args from empty Options"); 69 debug("1.10 Remove no args from empty Options");
70 shouldBe("select1.options.remove()", "undefined"); 70 shouldThrow("select1.options.remove()", "'TypeError: Not enough arguments'");
71 shouldBe("select1.options.length", "0"); 71 shouldBe("select1.options.length", "0");
72 shouldBe("select1.selectedIndex", "-1"); 72 shouldBe("select1.selectedIndex", "-1");
73 debug(""); 73 debug("");
74 74
75 debug("1.11 Remove too many args from empty Options"); 75 debug("1.11 Remove too many args from empty Options");
76 shouldThrow("select1.options.remove(0, 'foo')"); 76 shouldThrow("select1.options.remove(0, 'foo')");
77 shouldBe("select1.options.length", "0"); 77 shouldBe("select1.options.length", "0");
78 shouldBe("select1.selectedIndex", "-1"); 78 shouldBe("select1.selectedIndex", "-1");
79 debug(""); 79 debug("");
80 80
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 187
188 debug("2.10 Remove (positive infinity) from non-empty Options"); 188 debug("2.10 Remove (positive infinity) from non-empty Options");
189 value = 1/0; 189 value = 1/0;
190 shouldBe("select2.options.remove(value)", "undefined"); 190 shouldBe("select2.options.remove(value)", "undefined");
191 shouldBe("select2.options.length", "6"); 191 shouldBe("select2.options.length", "6");
192 shouldBe("select2.selectedIndex", "4"); 192 shouldBe("select2.selectedIndex", "4");
193 shouldBe("select2.options[0].value", "'K'"); 193 shouldBe("select2.options[0].value", "'K'");
194 debug(""); 194 debug("");
195 195
196 debug("2.11 Remove no args from non-empty Options"); 196 debug("2.11 Remove no args from non-empty Options");
197 shouldBe("select2.options.remove()", "undefined"); 197 shouldThrow("select2.options.remove()", "'TypeError: Not enough arguments'");
198 shouldBe("select2.options.length", "6");
199 shouldBe("select2.selectedIndex", "4");
200 shouldBe("select2.options[0].value", "'K'");
201 debug("");
202
203 debug("2.12 Remove too many args from non-empty Options");
204 shouldThrow("select2.options.remove(0, 'foo')");
205 shouldBe("select2.options.length", "6");
206 shouldBe("select2.selectedIndex", "4");
207 shouldBe("select2.options[0].value", "'K'");
208 debug("");
209
210 debug("2.13 Remove invalid index -2 from non-empty Options");
211 shouldBe("select2.options.remove(-2)", "undefined");
212 shouldBe("select2.options.length", "6");
213 shouldBe("select2.selectedIndex", "4");
214 shouldBe("select2.options[2].value", "'M'");
215 debug("");
216
217 debug("2.14 Remove invalid index -1 from non-empty Options");
218 shouldBe("select2.options.remove(-1)", "undefined");
219 shouldBe("select2.options.length", "6");
220 shouldBe("select2.selectedIndex", "4");
221 shouldBe("select2.options[3].value", "'N'");
222 debug("");
223
224 debug("2.15 Remove index 0 from non-empty Options");
225 shouldBe("select2.options.remove(0)", "undefined");
198 shouldBe("select2.options.length", "5"); 226 shouldBe("select2.options.length", "5");
199 shouldBe("select2.selectedIndex", "3"); 227 shouldBe("select2.selectedIndex", "3");
200 shouldBe("select2.options[0].value", "'L'"); 228 shouldBe("select2.options[0].value", "'L'");
201 debug(""); 229 debug("");
202 230
203 debug("2.12 Remove too many args from non-empty Options"); 231 debug("2.16 Remove index 1 from non-empty Options");
204 shouldThrow("select2.options.remove(0, 'foo')"); 232 shouldBe("select2.options.remove(1)", "undefined");
205 shouldBe("select2.options.length", "5");
206 shouldBe("select2.selectedIndex", "3");
207 shouldBe("select2.options[0].value", "'L'");
208 debug("");
209
210 debug("2.13 Remove invalid index -2 from non-empty Options");
211 shouldBe("select2.options.remove(-2)", "undefined");
212 shouldBe("select2.options.length", "5");
213 shouldBe("select2.selectedIndex", "3");
214 shouldBe("select2.options[2].value", "'N'");
215 debug("");
216
217 debug("2.14 Remove invalid index -1 from non-empty Options");
218 shouldBe("select2.options.remove(-1)", "undefined");
219 shouldBe("select2.options.length", "5");
220 shouldBe("select2.selectedIndex", "3");
221 shouldBe("select2.options[3].value", "'O'");
222 debug("");
223
224 debug("2.15 Remove index 0 from non-empty Options");
225 shouldBe("select2.options.remove(0)", "undefined");
226 shouldBe("select2.options.length", "4"); 233 shouldBe("select2.options.length", "4");
227 shouldBe("select2.selectedIndex", "2"); 234 shouldBe("select2.selectedIndex", "2");
228 shouldBe("select2.options[0].value", "'M'"); 235 shouldBe("select2.options[1].value", "'N'");
229 debug("");
230
231 debug("2.16 Remove index 1 from non-empty Options");
232 shouldBe("select2.options.remove(1)", "undefined");
233 shouldBe("select2.options.length", "3");
234 shouldBe("select2.selectedIndex", "1");
235 shouldBe("select2.options[1].value", "'O'");
236 debug(""); 236 debug("");
237 237
238 debug("2.17 Detach select element"); 238 debug("2.17 Detach select element");
239 shouldNotBe("select2.parentNode", "null"); 239 shouldNotBe("select2.parentNode", "null");
240 shouldBe("select2.remove()", "undefined"); 240 shouldBe("select2.remove()", "undefined");
241 shouldBeNull("select2.parentNode"); 241 shouldBeNull("select2.parentNode");
242 debug(""); 242 debug("");
243 243
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698