DOMTokenList update steps for classList don't follow the spec
[WebKit-https.git] / LayoutTests / fast / dom / rel-list-expected.txt
1 Tests that relList works on anchor, area and link elements
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 Tests relList for anchor element
7 PASS element.relList == null is false
8 PASS element.relList == undefined is false
9 PASS element.relList instanceof DOMTokenList is true
10 PASS element.relList.length is 3
11 PASS element.relList.contains("a") is true
12 PASS element.relList.contains("b") is true
13 PASS element.relList.contains("c") is true
14 PASS element.relList.contains("d") is false
15 PASS element.relList.length is 3
16 PASS element.relList.contains("foo") is true
17 PASS element.relList.contains("bar") is true
18 PASS element.relList.contains("chocolate") is true
19 PASS element.relList.contains("orange") is false
20 PASS element.relList.length is 0
21 PASS element.relList.length is 0
22 PASS element.relList.length is 2
23 PASS element.relList.contains("marshmallow") is true
24 PASS element.relList.contains("chips") is true
25 PASS element.relList.contains("orange") is false
26 PASS String(element.relList) is "x"
27 PASS element.relList.length is 0
28 PASS element.relList.length is 1
29 PASS element.relList.length is 1
30 PASS element.relList.length is 2
31 PASS element.rel is "x"
32 PASS element.rel is "x"
33 PASS element.rel is "x  x"
34 PASS element.rel is "y x"
35 PASS element.rel is ""
36 PASS element.rel is ""
37 PASS element.rel is "y"
38 PASS element.rel is "y"
39 Ensure that we can handle empty rel correctly
40 PASS element.relList.toggle('x') is true
41 PASS element.rel is "x"
42 PASS element.relList.toggle('x') is false
43 PASS element.rel is ""
44 PASS element.relList.contains("x") is false
45 PASS element.relList[1] is undefined.
46 PASS element.relList.contains("x") is false
47 PASS element.relList.contains("x") is true
48 Test toggle with force argument
49 PASS element.relList.toggle('x', true) is true
50 PASS element.rel is "x"
51 PASS element.relList.toggle('x', true) is true
52 PASS element.rel is "x"
53 PASS element.relList.toggle('x', false) is false
54 PASS element.rel is ""
55 PASS element.relList.toggle('x', false) is false
56 PASS element.rel is ""
57 PASS element.relList.toggle("", true) threw exception Error: SyntaxError: DOM Exception 12.
58 PASS element.relList.toggle("x y", false) threw exception Error: InvalidCharacterError: DOM Exception 5.
59 Testing add in presence of trailing white spaces.
60 PASS element.rel is "x y"
61 PASS element.rel is "x y"
62 PASS element.rel is "y"
63 Test invalid tokens
64 PASS element.relList.contains("") threw exception Error: SyntaxError: DOM Exception 12.
65 PASS element.relList.contains("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
66 PASS element.relList.add("") threw exception Error: SyntaxError: DOM Exception 12.
67 PASS element.relList.add("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
68 PASS element.relList.remove("") threw exception Error: SyntaxError: DOM Exception 12.
69 PASS element.relList.remove("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
70 PASS element.relList.toggle("") threw exception Error: SyntaxError: DOM Exception 12.
71 Indexing
72 PASS element.relList[0] is "x"
73 PASS element.relList.item(0) is "x"
74 PASS element.relList[1] is undefined.
75 PASS element.relList.item(1) is null
76 PASS element.relList[1] is "y"
77 PASS element.relList.item(1) is "y"
78 PASS element.relList[0] is undefined.
79 PASS element.relList.item(0) is null
80 PASS element.relList[4] is undefined.
81 PASS element.relList.item(4) is null
82 PASS element.relList[-1] is undefined.
83 PASS element.relList.item(-1) is null
84 PASS element.relList.item() threw exception TypeError: Not enough arguments.
85 Test case since DOMTokenList is case sensitive
86 PASS element.relList.contains("x") is true
87 PASS element.relList.contains("X") is false
88 PASS element.relList[0] is "x"
89 PASS element.relList.contains() threw exception TypeError: Not enough arguments.
90 PASS element.relList.contains("X") is true
91 PASS element.relList.contains("x") is false
92 PASS element.relList[0] is "X"
93 Testing whitespace
94 PASS element.relList.length is 2
95 PASS element.relList.length is 2
96 PASS element.relList.length is 2
97 PASS element.relList.length is 2
98 PASS element.relList.length is 2
99 DOMTokenList presence and type
100 PASS 'undefined' != typeof DOMTokenList is true
101 PASS typeof DOMTokenList.prototype is "object"
102 PASS typeof element.relList is "object"
103 PASS element.relList.constructor is DOMTokenList
104 PASS element.relList === element.relList is true
105 Variadic calls
106 PASS element.rel is "a b"
107 PASS element.rel is "a b c"
108 PASS element.rel is "a b c null d undefined 0 false"
109 PASS element.rel is "a b"
110 PASS element.relList.add("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
111 PASS element.rel is ""
112 PASS element.relList.add("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
113 PASS element.rel is ""
114 PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
115 PASS element.rel is ""
116 PASS element.relList.add() did not throw exception.
117 PASS observer.takeRecords().length is 1
118 PASS element.rel is "b d"
119 PASS element.rel is "d"
120 PASS element.rel is "a b c"
121 PASS element.relList.remove("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
122 PASS element.rel is "a b"
123 PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
124 PASS element.rel is "a b"
125 PASS element.relList.remove("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
126 PASS element.rel is "a b"
127 PASS element.relList.remove() did not throw exception.
128 PASS observer.takeRecords().length is 1
129 Tests relList for area element
130 PASS element.relList == null is false
131 PASS element.relList == undefined is false
132 PASS element.relList instanceof DOMTokenList is true
133 PASS element.relList.length is 3
134 PASS element.relList.contains("a") is true
135 PASS element.relList.contains("b") is true
136 PASS element.relList.contains("c") is true
137 PASS element.relList.contains("d") is false
138 PASS element.relList.length is 3
139 PASS element.relList.contains("foo") is true
140 PASS element.relList.contains("bar") is true
141 PASS element.relList.contains("chocolate") is true
142 PASS element.relList.contains("orange") is false
143 PASS element.relList.length is 0
144 PASS element.relList.length is 0
145 PASS element.relList.length is 2
146 PASS element.relList.contains("marshmallow") is true
147 PASS element.relList.contains("chips") is true
148 PASS element.relList.contains("orange") is false
149 PASS String(element.relList) is "x"
150 PASS element.relList.length is 0
151 PASS element.relList.length is 1
152 PASS element.relList.length is 1
153 PASS element.relList.length is 2
154 PASS element.rel is "x"
155 PASS element.rel is "x"
156 PASS element.rel is "x  x"
157 PASS element.rel is "y x"
158 PASS element.rel is ""
159 PASS element.rel is ""
160 PASS element.rel is "y"
161 PASS element.rel is "y"
162 Ensure that we can handle empty rel correctly
163 PASS element.relList.toggle('x') is true
164 PASS element.rel is "x"
165 PASS element.relList.toggle('x') is false
166 PASS element.rel is ""
167 PASS element.relList.contains("x") is false
168 PASS element.relList[1] is undefined.
169 PASS element.relList.contains("x") is false
170 PASS element.relList.contains("x") is true
171 Test toggle with force argument
172 PASS element.relList.toggle('x', true) is true
173 PASS element.rel is "x"
174 PASS element.relList.toggle('x', true) is true
175 PASS element.rel is "x"
176 PASS element.relList.toggle('x', false) is false
177 PASS element.rel is ""
178 PASS element.relList.toggle('x', false) is false
179 PASS element.rel is ""
180 PASS element.relList.toggle("", true) threw exception Error: SyntaxError: DOM Exception 12.
181 PASS element.relList.toggle("x y", false) threw exception Error: InvalidCharacterError: DOM Exception 5.
182 Testing add in presence of trailing white spaces.
183 PASS element.rel is "x y"
184 PASS element.rel is "x y"
185 PASS element.rel is "y"
186 Test invalid tokens
187 PASS element.relList.contains("") threw exception Error: SyntaxError: DOM Exception 12.
188 PASS element.relList.contains("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
189 PASS element.relList.add("") threw exception Error: SyntaxError: DOM Exception 12.
190 PASS element.relList.add("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
191 PASS element.relList.remove("") threw exception Error: SyntaxError: DOM Exception 12.
192 PASS element.relList.remove("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
193 PASS element.relList.toggle("") threw exception Error: SyntaxError: DOM Exception 12.
194 Indexing
195 PASS element.relList[0] is "x"
196 PASS element.relList.item(0) is "x"
197 PASS element.relList[1] is undefined.
198 PASS element.relList.item(1) is null
199 PASS element.relList[1] is "y"
200 PASS element.relList.item(1) is "y"
201 PASS element.relList[0] is undefined.
202 PASS element.relList.item(0) is null
203 PASS element.relList[4] is undefined.
204 PASS element.relList.item(4) is null
205 PASS element.relList[-1] is undefined.
206 PASS element.relList.item(-1) is null
207 PASS element.relList.item() threw exception TypeError: Not enough arguments.
208 Test case since DOMTokenList is case sensitive
209 PASS element.relList.contains("x") is true
210 PASS element.relList.contains("X") is false
211 PASS element.relList[0] is "x"
212 PASS element.relList.contains() threw exception TypeError: Not enough arguments.
213 PASS element.relList.contains("X") is true
214 PASS element.relList.contains("x") is false
215 PASS element.relList[0] is "X"
216 Testing whitespace
217 PASS element.relList.length is 2
218 PASS element.relList.length is 2
219 PASS element.relList.length is 2
220 PASS element.relList.length is 2
221 PASS element.relList.length is 2
222 DOMTokenList presence and type
223 PASS 'undefined' != typeof DOMTokenList is true
224 PASS typeof DOMTokenList.prototype is "object"
225 PASS typeof element.relList is "object"
226 PASS element.relList.constructor is DOMTokenList
227 PASS element.relList === element.relList is true
228 Variadic calls
229 PASS element.rel is "a b"
230 PASS element.rel is "a b c"
231 PASS element.rel is "a b c null d undefined 0 false"
232 PASS element.rel is "a b"
233 PASS element.relList.add("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
234 PASS element.rel is ""
235 PASS element.relList.add("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
236 PASS element.rel is ""
237 PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
238 PASS element.rel is ""
239 PASS element.relList.add() did not throw exception.
240 PASS observer.takeRecords().length is 1
241 PASS element.rel is "b d"
242 PASS element.rel is "d"
243 PASS element.rel is "a b c"
244 PASS element.relList.remove("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
245 PASS element.rel is "a b"
246 PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
247 PASS element.rel is "a b"
248 PASS element.relList.remove("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
249 PASS element.rel is "a b"
250 PASS element.relList.remove() did not throw exception.
251 PASS observer.takeRecords().length is 1
252 Tests relList for link element
253 PASS element.relList == null is false
254 PASS element.relList == undefined is false
255 PASS element.relList instanceof DOMTokenList is true
256 PASS element.relList.length is 3
257 PASS element.relList.contains("a") is true
258 PASS element.relList.contains("b") is true
259 PASS element.relList.contains("c") is true
260 PASS element.relList.contains("d") is false
261 PASS element.relList.length is 3
262 PASS element.relList.contains("foo") is true
263 PASS element.relList.contains("bar") is true
264 PASS element.relList.contains("chocolate") is true
265 PASS element.relList.contains("orange") is false
266 PASS element.relList.length is 0
267 PASS element.relList.length is 0
268 PASS element.relList.length is 2
269 PASS element.relList.contains("marshmallow") is true
270 PASS element.relList.contains("chips") is true
271 PASS element.relList.contains("orange") is false
272 PASS String(element.relList) is "x"
273 PASS element.relList.length is 0
274 PASS element.relList.length is 1
275 PASS element.relList.length is 1
276 PASS element.relList.length is 2
277 PASS element.rel is "x"
278 PASS element.rel is "x"
279 PASS element.rel is "x  x"
280 PASS element.rel is "y x"
281 PASS element.rel is ""
282 PASS element.rel is ""
283 PASS element.rel is "y"
284 PASS element.rel is "y"
285 Ensure that we can handle empty rel correctly
286 PASS element.relList.toggle('x') is true
287 PASS element.rel is "x"
288 PASS element.relList.toggle('x') is false
289 PASS element.rel is ""
290 PASS element.relList.contains("x") is false
291 PASS element.relList[1] is undefined.
292 PASS element.relList.contains("x") is false
293 PASS element.relList.contains("x") is true
294 Test toggle with force argument
295 PASS element.relList.toggle('x', true) is true
296 PASS element.rel is "x"
297 PASS element.relList.toggle('x', true) is true
298 PASS element.rel is "x"
299 PASS element.relList.toggle('x', false) is false
300 PASS element.rel is ""
301 PASS element.relList.toggle('x', false) is false
302 PASS element.rel is ""
303 PASS element.relList.toggle("", true) threw exception Error: SyntaxError: DOM Exception 12.
304 PASS element.relList.toggle("x y", false) threw exception Error: InvalidCharacterError: DOM Exception 5.
305 Testing add in presence of trailing white spaces.
306 PASS element.rel is "x y"
307 PASS element.rel is "x y"
308 PASS element.rel is "y"
309 Test invalid tokens
310 PASS element.relList.contains("") threw exception Error: SyntaxError: DOM Exception 12.
311 PASS element.relList.contains("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
312 PASS element.relList.add("") threw exception Error: SyntaxError: DOM Exception 12.
313 PASS element.relList.add("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
314 PASS element.relList.remove("") threw exception Error: SyntaxError: DOM Exception 12.
315 PASS element.relList.remove("x y") threw exception Error: InvalidCharacterError: DOM Exception 5.
316 PASS element.relList.toggle("") threw exception Error: SyntaxError: DOM Exception 12.
317 Indexing
318 PASS element.relList[0] is "x"
319 PASS element.relList.item(0) is "x"
320 PASS element.relList[1] is undefined.
321 PASS element.relList.item(1) is null
322 PASS element.relList[1] is "y"
323 PASS element.relList.item(1) is "y"
324 PASS element.relList[0] is undefined.
325 PASS element.relList.item(0) is null
326 PASS element.relList[4] is undefined.
327 PASS element.relList.item(4) is null
328 PASS element.relList[-1] is undefined.
329 PASS element.relList.item(-1) is null
330 PASS element.relList.item() threw exception TypeError: Not enough arguments.
331 Test case since DOMTokenList is case sensitive
332 PASS element.relList.contains("x") is true
333 PASS element.relList.contains("X") is false
334 PASS element.relList[0] is "x"
335 PASS element.relList.contains() threw exception TypeError: Not enough arguments.
336 PASS element.relList.contains("X") is true
337 PASS element.relList.contains("x") is false
338 PASS element.relList[0] is "X"
339 Testing whitespace
340 PASS element.relList.length is 2
341 PASS element.relList.length is 2
342 PASS element.relList.length is 2
343 PASS element.relList.length is 2
344 PASS element.relList.length is 2
345 DOMTokenList presence and type
346 PASS 'undefined' != typeof DOMTokenList is true
347 PASS typeof DOMTokenList.prototype is "object"
348 PASS typeof element.relList is "object"
349 PASS element.relList.constructor is DOMTokenList
350 PASS element.relList === element.relList is true
351 Variadic calls
352 PASS element.rel is "a b"
353 PASS element.rel is "a b c"
354 PASS element.rel is "a b c null d undefined 0 false"
355 PASS element.rel is "a b"
356 PASS element.relList.add("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
357 PASS element.rel is ""
358 PASS element.relList.add("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
359 PASS element.rel is ""
360 PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
361 PASS element.rel is ""
362 PASS element.relList.add() did not throw exception.
363 PASS observer.takeRecords().length is 1
364 PASS element.rel is "b d"
365 PASS element.rel is "d"
366 PASS element.rel is "a b c"
367 PASS element.relList.remove("a", "b", "") threw exception Error: SyntaxError: DOM Exception 12.
368 PASS element.rel is "a b"
369 PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error.
370 PASS element.rel is "a b"
371 PASS element.relList.remove("a", "b", "c d") threw exception Error: InvalidCharacterError: DOM Exception 5.
372 PASS element.rel is "a b"
373 PASS element.relList.remove() did not throw exception.
374 PASS observer.takeRecords().length is 1
375 PASS successfullyParsed is true
376
377 TEST COMPLETE
378