| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>DOMException constructor</title> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <link rel="stylesheet" href="../../../resources/testharness.css"> |
| </head> |
| <body> |
| <script> |
| test(function() { |
| var ex = new DOMException(); |
| assert_equals(ex.name, 'Error', 'Default name should be "Error"'); |
| assert_equals(ex.message, '', 'Default message should be ""'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException()'); |
| |
| test(function() { |
| var ex = new DOMException(null); |
| assert_equals(ex.name, 'Error', 'Default name should be "Error"'); |
| assert_equals(ex.message, 'null', 'Passing null as message should be stringified to "null"'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(null)'); |
| |
| test(function() { |
| var ex = new DOMException(undefined); |
| assert_equals(ex.name, 'Error', 'Default name should be "Error"'); |
| assert_equals(ex.message, '', 'Passing undefined as message should give default ""'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(undefined)'); |
| |
| test(function() { |
| var ex = new DOMException('example'); |
| assert_equals(ex.name, 'Error', 'Default name should be "Error"'); |
| assert_equals(ex.message, 'example', 'Passed string as message should be used'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(string)'); |
| |
| test(function() { |
| var ex = new DOMException('example', undefined); |
| assert_equals(ex.name, 'Error', 'Passing undefined as name should give default "Error"'); |
| assert_equals(ex.message, 'example', 'Passed string as message should be used'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(string, undefined)'); |
| |
| test(function() { |
| var ex = new DOMException('example', null); |
| assert_equals(ex.name, 'null', 'Passing null as name should be stringified to "null"'); |
| assert_equals(ex.message, 'example', 'Passed string as message should be used'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(string, null)'); |
| |
| test(function() { |
| var ex = new DOMException('example', 'bar'); |
| assert_equals(ex.name, 'bar', 'Passed string as name should be used'); |
| assert_equals(ex.message, 'example', 'Passed string as message should be used'); |
| assert_equals(ex.code, 0, 'Default code should be 0'); |
| }, 'new DOMException(string, string)'); |
| |
| [ |
| {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('example', test_case.name); |
| assert_equals(ex.name, test_case.name, 'Passed string as name should be used'); |
| assert_equals(ex.message, 'example', 'Passed string as message should be used'); |
| assert_equals(ex.code, test_case.code, 'Legacy code should be used for matching name'); |
| }, 'Legacy code matching: new DOMException(string, "' + test_case.name + '")'); |
| }); |
| |
| </script> |
| </body> |
| </html> |