This test makes sure the closest() API works correctly On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS theTarget.closest("#theTarget") is theTarget PASS theTarget.closest("ancestor") is ancestor PASS theTarget.closest("tribe ancestor") is ancestor PASS theTarget.closest("tribe > ancestor") is ancestor PASS theTarget.closest("realm + ancestor") is ancestor PASS theTarget.closest("realm ~ ancestor") is ancestor PASS theTarget.closest("tribe, ancestor") is ancestor PASS theTarget.closest("ancestor, tribe") is ancestor PASS theTarget.closest("tribe realm") is null PASS theTarget.closest("tribe realm throne") is null PASS theTarget.closest("tribe realm ancestor") is null PASS theTarget.closest("realm > ancestor") is null PASS theTarget.closest("throne + ancestor") is null PASS theTarget.closest("throne ~ ancestor") is null PASS theTarget.closest(".classic") is ancestor PASS theTarget.closest("#john") is ancestor PASS theTarget.closest("doe") is null PASS theTarget.closest("ancestor[name=old]") is ancestor PASS theTarget.closest("ancestor[name=young]") is null PASS theTarget.closest(null) is null PASS theTarget.closest(undefined) is null PASS sour.closest("lemon") is sour PASS sour.closest("a, b, c, d, e") is e PASS sour.closest("a, b, c") is c PASS sour.closest("a, b") is b PASS sour.closest("e, d, c, b, a") is e PASS sour.closest("d, c, b, a") is d PASS sour.closest("c, b, a") is c PASS sour.closest("b, a") is b PASS sour.closest("a") is a PASS document.closest is undefined PASS document.closest() threw exception TypeError: document.closest is not a function. PASS theTarget.closest() threw exception TypeError: Failed to execute 'closest' on 'Element': 1 argument required, but only 0 present.. PASS theTarget.closest("") threw exception SyntaxError: Failed to execute 'closest' on 'Element': The provided selector is empty.. PASS theTarget.closest(".123") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '.123' is not a valid selector.. PASS theTarget.closest(" ") threw exception SyntaxError: Failed to execute 'closest' on 'Element': ' ' is not a valid selector.. PASS theTarget.closest(")") threw exception SyntaxError: Failed to execute 'closest' on 'Element': ')' is not a valid selector.. PASS theTarget.closest("(") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '(' is not a valid selector.. PASS theTarget.closest("()") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '()' is not a valid selector.. PASS theTarget.closest("^_^") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '^_^' is not a valid selector.. PASS theTarget.closest("{") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '{' is not a valid selector.. PASS theTarget.closest("}") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '}' is not a valid selector.. PASS theTarget.closest("{}") threw exception SyntaxError: Failed to execute 'closest' on 'Element': '{}' is not a valid selector.. PASS successfullyParsed is true TEST COMPLETE