PASS element.matches() threw exception TypeError: Failed to execute 'matches' on 'Element': 1 argument required, but only 0 present.. PASS element.matches('body') is true PASS element.matches('html > .foo') is true PASS element.matches('html') is false PASS element.matches('html > .bar') is false PASS element.matches('') threw exception SyntaxError: Failed to execute 'matches' on 'Element': The provided selector is empty.. PASS element.matches('!invalid!') threw exception SyntaxError: Failed to execute 'matches' on 'Element': '!invalid!' is not a valid selector.. PASS element.webkitMatchesSelector() threw exception TypeError: Failed to execute 'webkitMatchesSelector' on 'Element': 1 argument required, but only 0 present.. PASS element.webkitMatchesSelector('body') is true PASS element.webkitMatchesSelector('html > .foo') is true PASS element.webkitMatchesSelector('html') is false PASS element.webkitMatchesSelector('html > .bar') is false PASS element.webkitMatchesSelector('') threw exception SyntaxError: Failed to execute 'webkitMatchesSelector' on 'Element': The provided selector is empty.. PASS element.webkitMatchesSelector('!invalid!') threw exception SyntaxError: Failed to execute 'webkitMatchesSelector' on 'Element': '!invalid!' is not a valid selector.. PASS successfullyParsed is true TEST COMPLETE