379 lines
16 KiB
Plaintext
379 lines
16 KiB
Plaintext
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
|
|
|