chromium/third_party/blink/web_tests/fast/dom/DOMException/resources/XPathException.js

description("Tests the properties of the exception thrown when using XPath.")

var e;
try {
    var evalulator = new XPathEvaluator;
    var nsResolver = evalulator.createNSResolver(document);
    var result = evalulator.evaluate("/body", document, nsResolver, 0, null);
    var num = result.numberValue;
   // raises a TYPE_ERR
} catch (err) {
    e = err;
}

shouldBeEqualToString("e.toString()", "TypeError: Failed to read the 'numberValue' property from 'XPathResult': The result type is not a number.");
shouldBeEqualToString("Object.prototype.toString.call(e)", "[object Error]");
shouldBeEqualToString("Object.prototype.toString.call(e.__proto__)", "[object Object]");
shouldBeEqualToString("e.constructor.toString()", "function TypeError() { [native code] }");
shouldBe("e.constructor", "window.TypeError");