| Tests that relList works on anchor, area and link elements |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| Tests relList for anchor element |
| PASS element.relList == null is false |
| PASS element.relList == undefined is false |
| PASS element.relList instanceof DOMTokenList is true |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("a") is true |
| PASS element.relList.contains("b") is true |
| PASS element.relList.contains("c") is true |
| PASS element.relList.contains("d") is false |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("foo") is true |
| PASS element.relList.contains("bar") is true |
| PASS element.relList.contains("chocolate") is true |
| PASS element.relList.contains("orange") is false |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 2 |
| PASS element.relList.contains("marshmallow") is true |
| PASS element.relList.contains("chips") is true |
| PASS element.relList.contains("orange") is false |
| PASS String(element.relList) is "y" |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 2 |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "y x" |
| PASS element.rel is "" |
| PASS element.rel is "" |
| PASS element.rel is "y" |
| PASS element.rel is "y" |
| Ensure that we can handle empty rel correctly |
| PASS element.relList.toggle('x') is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x') is false |
| PASS element.rel is "" |
| PASS element.relList.contains("x") is false |
| PASS element.relList[1] is undefined. |
| PASS element.relList.contains("x") is false |
| PASS element.relList.contains("x") is true |
| Test toggle with force argument |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle("", true) threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.toggle("x y", false) threw exception InvalidCharacterError: The string contains invalid characters.. |
| Testing add in presence of trailing white spaces. |
| PASS element.rel is "x y" |
| PASS element.rel is "x y" |
| PASS element.rel is "y" |
| Test invalid tokens |
| PASS element.relList.contains("") is false |
| PASS element.relList.contains("x y") is false |
| PASS element.relList.add("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.add("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.remove("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.remove("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.toggle("") threw exception SyntaxError: The string did not match the expected pattern.. |
| Indexing |
| PASS element.relList[0] is "x" |
| PASS element.relList.item(0) is "x" |
| PASS element.relList[1] is undefined. |
| PASS element.relList.item(1) is null |
| PASS element.relList[1] is "y" |
| PASS element.relList.item(1) is "y" |
| PASS element.relList[0] is undefined. |
| PASS element.relList.item(0) is null |
| PASS element.relList[4] is undefined. |
| PASS element.relList.item(4) is null |
| PASS element.relList[-1] is undefined. |
| PASS element.relList.item(-1) is null |
| PASS element.relList.item() threw exception TypeError: Not enough arguments. |
| Test case since DOMTokenList is case sensitive |
| PASS element.relList.contains("x") is true |
| PASS element.relList.contains("X") is false |
| PASS element.relList[0] is "x" |
| PASS element.relList.contains() threw exception TypeError: Not enough arguments. |
| PASS element.relList.contains("X") is true |
| PASS element.relList.contains("x") is false |
| PASS element.relList[0] is "X" |
| Testing whitespace |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| DOMTokenList presence and type |
| PASS 'undefined' != typeof DOMTokenList is true |
| PASS typeof DOMTokenList.prototype is "object" |
| PASS typeof element.relList is "object" |
| PASS element.relList.constructor is DOMTokenList |
| PASS element.relList === element.relList is true |
| Variadic calls |
| PASS element.rel is "a b" |
| PASS element.rel is "a b c" |
| PASS element.rel is "a b c null d undefined 0 false" |
| PASS element.rel is "a b" |
| PASS element.relList.add("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "" |
| PASS element.relList.add() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| PASS element.rel is "b d" |
| PASS element.rel is "d" |
| PASS element.rel is "a b c" |
| PASS element.relList.remove("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| Tests relList for area element |
| PASS element.relList == null is false |
| PASS element.relList == undefined is false |
| PASS element.relList instanceof DOMTokenList is true |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("a") is true |
| PASS element.relList.contains("b") is true |
| PASS element.relList.contains("c") is true |
| PASS element.relList.contains("d") is false |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("foo") is true |
| PASS element.relList.contains("bar") is true |
| PASS element.relList.contains("chocolate") is true |
| PASS element.relList.contains("orange") is false |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 2 |
| PASS element.relList.contains("marshmallow") is true |
| PASS element.relList.contains("chips") is true |
| PASS element.relList.contains("orange") is false |
| PASS String(element.relList) is "y" |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 2 |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "y x" |
| PASS element.rel is "" |
| PASS element.rel is "" |
| PASS element.rel is "y" |
| PASS element.rel is "y" |
| Ensure that we can handle empty rel correctly |
| PASS element.relList.toggle('x') is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x') is false |
| PASS element.rel is "" |
| PASS element.relList.contains("x") is false |
| PASS element.relList[1] is undefined. |
| PASS element.relList.contains("x") is false |
| PASS element.relList.contains("x") is true |
| Test toggle with force argument |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle("", true) threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.toggle("x y", false) threw exception InvalidCharacterError: The string contains invalid characters.. |
| Testing add in presence of trailing white spaces. |
| PASS element.rel is "x y" |
| PASS element.rel is "x y" |
| PASS element.rel is "y" |
| Test invalid tokens |
| PASS element.relList.contains("") is false |
| PASS element.relList.contains("x y") is false |
| PASS element.relList.add("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.add("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.remove("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.remove("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.toggle("") threw exception SyntaxError: The string did not match the expected pattern.. |
| Indexing |
| PASS element.relList[0] is "x" |
| PASS element.relList.item(0) is "x" |
| PASS element.relList[1] is undefined. |
| PASS element.relList.item(1) is null |
| PASS element.relList[1] is "y" |
| PASS element.relList.item(1) is "y" |
| PASS element.relList[0] is undefined. |
| PASS element.relList.item(0) is null |
| PASS element.relList[4] is undefined. |
| PASS element.relList.item(4) is null |
| PASS element.relList[-1] is undefined. |
| PASS element.relList.item(-1) is null |
| PASS element.relList.item() threw exception TypeError: Not enough arguments. |
| Test case since DOMTokenList is case sensitive |
| PASS element.relList.contains("x") is true |
| PASS element.relList.contains("X") is false |
| PASS element.relList[0] is "x" |
| PASS element.relList.contains() threw exception TypeError: Not enough arguments. |
| PASS element.relList.contains("X") is true |
| PASS element.relList.contains("x") is false |
| PASS element.relList[0] is "X" |
| Testing whitespace |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| DOMTokenList presence and type |
| PASS 'undefined' != typeof DOMTokenList is true |
| PASS typeof DOMTokenList.prototype is "object" |
| PASS typeof element.relList is "object" |
| PASS element.relList.constructor is DOMTokenList |
| PASS element.relList === element.relList is true |
| Variadic calls |
| PASS element.rel is "a b" |
| PASS element.rel is "a b c" |
| PASS element.rel is "a b c null d undefined 0 false" |
| PASS element.rel is "a b" |
| PASS element.relList.add("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "" |
| PASS element.relList.add() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| PASS element.rel is "b d" |
| PASS element.rel is "d" |
| PASS element.rel is "a b c" |
| PASS element.relList.remove("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| Tests relList for link element |
| PASS element.relList == null is false |
| PASS element.relList == undefined is false |
| PASS element.relList instanceof DOMTokenList is true |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("a") is true |
| PASS element.relList.contains("b") is true |
| PASS element.relList.contains("c") is true |
| PASS element.relList.contains("d") is false |
| PASS element.relList.length is 3 |
| PASS element.relList.contains("foo") is true |
| PASS element.relList.contains("bar") is true |
| PASS element.relList.contains("chocolate") is true |
| PASS element.relList.contains("orange") is false |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 2 |
| PASS element.relList.contains("marshmallow") is true |
| PASS element.relList.contains("chips") is true |
| PASS element.relList.contains("orange") is false |
| PASS String(element.relList) is "y" |
| PASS element.relList.length is 0 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 1 |
| PASS element.relList.length is 2 |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "x" |
| PASS element.rel is "y x" |
| PASS element.rel is "" |
| PASS element.rel is "" |
| PASS element.rel is "y" |
| PASS element.rel is "y" |
| Ensure that we can handle empty rel correctly |
| PASS element.relList.toggle('x') is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x') is false |
| PASS element.rel is "" |
| PASS element.relList.contains("x") is false |
| PASS element.relList[1] is undefined. |
| PASS element.relList.contains("x") is false |
| PASS element.relList.contains("x") is true |
| Test toggle with force argument |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', true) is true |
| PASS element.rel is "x" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle('x', false) is false |
| PASS element.rel is "" |
| PASS element.relList.toggle("", true) threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.toggle("x y", false) threw exception InvalidCharacterError: The string contains invalid characters.. |
| Testing add in presence of trailing white spaces. |
| PASS element.rel is "x y" |
| PASS element.rel is "x y" |
| PASS element.rel is "y" |
| Test invalid tokens |
| PASS element.relList.contains("") is false |
| PASS element.relList.contains("x y") is false |
| PASS element.relList.add("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.add("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.remove("") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.relList.remove("x y") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.relList.toggle("") threw exception SyntaxError: The string did not match the expected pattern.. |
| Indexing |
| PASS element.relList[0] is "x" |
| PASS element.relList.item(0) is "x" |
| PASS element.relList[1] is undefined. |
| PASS element.relList.item(1) is null |
| PASS element.relList[1] is "y" |
| PASS element.relList.item(1) is "y" |
| PASS element.relList[0] is undefined. |
| PASS element.relList.item(0) is null |
| PASS element.relList[4] is undefined. |
| PASS element.relList.item(4) is null |
| PASS element.relList[-1] is undefined. |
| PASS element.relList.item(-1) is null |
| PASS element.relList.item() threw exception TypeError: Not enough arguments. |
| Test case since DOMTokenList is case sensitive |
| PASS element.relList.contains("x") is true |
| PASS element.relList.contains("X") is false |
| PASS element.relList[0] is "x" |
| PASS element.relList.contains() threw exception TypeError: Not enough arguments. |
| PASS element.relList.contains("X") is true |
| PASS element.relList.contains("x") is false |
| PASS element.relList[0] is "X" |
| Testing whitespace |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| PASS element.relList.length is 2 |
| DOMTokenList presence and type |
| PASS 'undefined' != typeof DOMTokenList is true |
| PASS typeof DOMTokenList.prototype is "object" |
| PASS typeof element.relList is "object" |
| PASS element.relList.constructor is DOMTokenList |
| PASS element.relList === element.relList is true |
| Variadic calls |
| PASS element.rel is "a b" |
| PASS element.rel is "a b c" |
| PASS element.rel is "a b c null d undefined 0 false" |
| PASS element.rel is "a b" |
| PASS element.relList.add("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "" |
| PASS element.relList.add("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "" |
| PASS element.relList.add() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| PASS element.rel is "b d" |
| PASS element.rel is "d" |
| PASS element.rel is "a b c" |
| PASS element.relList.remove("a", "b", "") threw exception SyntaxError: The string did not match the expected pattern.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", {toString: function() { throw new Error("user error"); }}, "b") threw exception Error: user error. |
| PASS element.rel is "a b" |
| PASS element.relList.remove("a", "b", "c d") threw exception InvalidCharacterError: The string contains invalid characters.. |
| PASS element.rel is "a b" |
| PASS element.relList.remove() did not throw exception. |
| PASS observer.takeRecords().length is 1 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |