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");