mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-07-06 19:29:27 +00:00
140 lines
5.7 KiB
HTML
140 lines
5.7 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>DOMException constructor</title>
|
|
<link rel=help href="https://heycam.github.io/webidl/#es-DOMException-constructor-object">
|
|
<link rel=help href="https://people.mozilla.org/~jorendorff/es6-draft.html#sec-error.prototype.message">
|
|
<link rel=help href="https://people.mozilla.org/~jorendorff/es6-draft.html#sec-error.prototype.name">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div id="log"></div>
|
|
<script>
|
|
test(function() {
|
|
var ex = new DOMException();
|
|
assert_equals(ex.name, "Error",
|
|
"Not passing a name should end up with 'Error' as the name");
|
|
assert_equals(ex.message, "",
|
|
"Not passing a message should end up with empty string as the message");
|
|
}, 'new DOMException()');
|
|
|
|
test(function() {
|
|
var ex = new DOMException();
|
|
assert_false(ex.hasOwnProperty("name"),
|
|
"The name property should be inherited");
|
|
assert_false(ex.hasOwnProperty("message"),
|
|
"The message property should be inherited");
|
|
}, 'new DOMException(): own-ness');
|
|
|
|
test(function() {
|
|
var ex = new DOMException(null);
|
|
assert_equals(ex.name, "Error",
|
|
"Not passing a name should end up with 'Error' as the name");
|
|
assert_equals(ex.message, "null",
|
|
"Passing null as message should end up with stringified 'null' as the message");
|
|
}, 'new DOMException(null)');
|
|
|
|
test(function() {
|
|
var ex = new DOMException(undefined);
|
|
assert_equals(ex.name, "Error",
|
|
"Not passing a name should end up with 'Error' as the name");
|
|
assert_equals(ex.message, "",
|
|
"Not passing a message should end up with empty string as the message");
|
|
}, 'new DOMException(undefined)');
|
|
|
|
test(function() {
|
|
var ex = new DOMException(undefined);
|
|
assert_false(ex.hasOwnProperty("name"),
|
|
"The name property should be inherited");
|
|
assert_false(ex.hasOwnProperty("message"),
|
|
"The message property should be inherited");
|
|
}, 'new DOMException(undefined): own-ness');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("foo");
|
|
assert_equals(ex.name, "Error",
|
|
"Not passing a name should still end up with 'Error' as the name");
|
|
assert_equals(ex.message, "foo", "Should be using passed-in message");
|
|
}, 'new DOMException("foo")');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("foo");
|
|
assert_false(ex.hasOwnProperty("name"),
|
|
"The name property should be inherited");
|
|
assert_true(ex.hasOwnProperty("message"),
|
|
"The message property should be own");
|
|
}, 'new DOMException("foo"): own-ness');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("bar", undefined);
|
|
assert_equals(ex.name, "Error",
|
|
"Passing undefined for name should end up with 'Error' as the name");
|
|
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
|
}, 'new DOMException("bar", undefined)');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("bar", "NotSupportedError");
|
|
assert_equals(ex.name, "NotSupportedError", "Should be using the passed-in name");
|
|
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
|
assert_equals(ex.code, DOMException.NOT_SUPPORTED_ERR,
|
|
"Should have the right exception code");
|
|
}, 'new DOMException("bar", "NotSupportedError")');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("bar", "NotSupportedError");
|
|
assert_true(ex.hasOwnProperty("name"),
|
|
"The name property should be own");
|
|
assert_true(ex.hasOwnProperty("message"),
|
|
"The message property should be own");
|
|
}, 'new DOMException("bar", "NotSupportedError"): own-ness');
|
|
|
|
test(function() {
|
|
var ex = new DOMException("bar", "foo");
|
|
assert_equals(ex.name, "foo", "Should be using the passed-in name");
|
|
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
|
assert_equals(ex.code, 0,
|
|
"Should have 0 for code for a name not in the exception names table");
|
|
}, 'new DOMException("bar", "foo")');
|
|
|
|
[
|
|
{name: "IndexSizeError", code: 1},
|
|
{name: "HierarchyRequestError", code: 3},
|
|
{name: "WrongDocumentError", code: 4},
|
|
{name: "InvalidCharacterError", code: 5},
|
|
{name: "NoModificationAllowedError", code: 7},
|
|
{name: "NotFoundError", code: 8},
|
|
{name: "NotSupportedError", code: 9},
|
|
{name: "InUseAttributeError", code: 10},
|
|
{name: "InvalidStateError", code: 11},
|
|
{name: "SyntaxError", code: 12},
|
|
{name: "InvalidModificationError", code: 13},
|
|
{name: "NamespaceError", code: 14},
|
|
{name: "InvalidAccessError", code: 15},
|
|
{name: "SecurityError", code: 18},
|
|
{name: "NetworkError", code: 19},
|
|
{name: "AbortError", code: 20},
|
|
{name: "URLMismatchError", code: 21},
|
|
{name: "QuotaExceededError", code: 22},
|
|
{name: "TimeoutError", code: 23},
|
|
{name: "InvalidNodeTypeError", code: 24},
|
|
{name: "DataCloneError", code: 25}
|
|
].forEach(function(test_case) {
|
|
test(function() {
|
|
var ex = new DOMException("msg", test_case.name);
|
|
assert_equals(ex.name, test_case.name,
|
|
"Should be using the passed-in name");
|
|
assert_equals(ex.message, "msg",
|
|
"Should be using the passed-in message");
|
|
assert_equals(ex.code, test_case.code,
|
|
"Should have matching legacy code from error names table");
|
|
},'new DOMexception("msg", "' + test_case.name + '")');
|
|
});
|
|
|
|
test(function() {
|
|
var ex = new DOMException("bar", "UnknownError");
|
|
assert_equals(ex.name, "UnknownError", "Should be using the passed-in name");
|
|
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
|
assert_equals(ex.code, 0,
|
|
"Should have 0 for code for a name in the exception names table with no legacy code");
|
|
}, 'new DOMException("bar", "UnknownError")');
|
|
|
|
</script>
|