diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-02-12 13:46:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 13:46:50 -0700 |
commit | f60720090c7bd8cdf91d7aebd0c42e01c86b3b83 (patch) | |
tree | 9becb7ff7e40d37769601fa049beccd101d58a98 /test_napi/error_test.js | |
parent | bd1358efab8ba7339a8e70034315fa7da840292e (diff) |
chore: move test_ffi and test_nap to tests/ [WIP] (#22394)
Moving some additional NAPI and. FFI tests out of the tree root.
Diffstat (limited to 'test_napi/error_test.js')
-rw-r--r-- | test_napi/error_test.js | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/test_napi/error_test.js b/test_napi/error_test.js deleted file mode 100644 index 57acde5c1..000000000 --- a/test_napi/error_test.js +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. - -import { - assert, - assertEquals, - assertThrows, - loadTestLibrary, -} from "./common.js"; - -const testError = loadTestLibrary(); - -const theError = new Error("Some error"); -const theTypeError = new TypeError("Some type error"); -const theSyntaxError = new SyntaxError("Some syntax error"); -const theRangeError = new RangeError("Some type error"); -const theReferenceError = new ReferenceError("Some reference error"); -const theURIError = new URIError("Some URI error"); -const theEvalError = new EvalError("Some eval error"); - -function assertThrowsWithCode(fn, value) { - let thrown = false; - - try { - fn(); - } catch (e) { - thrown = true; - assertEquals(e.message, value.message); - assertEquals(e.code, value.code); - } finally { - assert(thrown); - } -} - -Deno.test("napi error", function () { - class MyError extends Error {} - const myError = new MyError("Some MyError"); - - // Test that native error object is correctly classed - assertEquals(testError.checkError(theError), true); - - // Test that native type error object is correctly classed - assertEquals(testError.checkError(theTypeError), true); - - // Test that native syntax error object is correctly classed - assertEquals(testError.checkError(theSyntaxError), true); - - // Test that native range error object is correctly classed - assertEquals(testError.checkError(theRangeError), true); - - // Test that native reference error object is correctly classed - assertEquals(testError.checkError(theReferenceError), true); - - // Test that native URI error object is correctly classed - assertEquals(testError.checkError(theURIError), true); - - // Test that native eval error object is correctly classed - assertEquals(testError.checkError(theEvalError), true); - - // Test that class derived from native error is correctly classed - assertEquals(testError.checkError(myError), true); - - // Test that non-error object is correctly classed - assertEquals(testError.checkError({}), false); - - // Test that non-error primitive is correctly classed - assertEquals(testError.checkError("non-object"), false); - - assertThrows( - () => { - testError.throwExistingError(); - }, - Error, - "existing error", - ); - - assertThrows( - () => { - testError.throwError(); - }, - Error, - "error", - ); - - assertThrows( - () => { - testError.throwRangeError(); - }, - RangeError, - "range error", - ); - - assertThrows( - () => { - testError.throwTypeError(); - }, - TypeError, - "type error", - ); - - // assertThrows(() => { - // testError.throwSyntaxError(); - // }, "SyntaxError: syntax error"); - - [42, {}, [], Symbol("xyzzy"), true, "ball", undefined, null, NaN] - .forEach((value) => { - let thrown = false; - - try { - testError.throwArbitrary(value); - } catch (e) { - thrown = true; - assertEquals(e, value); - } finally { - assert(thrown); - } - }); - - assertThrowsWithCode( - () => testError.throwErrorCode(), - { - code: "ERR_TEST_CODE", - message: "Error [error]", - }, - ); - - assertThrowsWithCode( - () => testError.throwRangeErrorCode(), - { - code: "ERR_TEST_CODE", - message: "RangeError [range error]", - }, - ); - - assertThrowsWithCode( - () => testError.throwTypeErrorCode(), - { - code: "ERR_TEST_CODE", - message: "TypeError [type error]", - }, - ); - - // assertThrowsWithCode( - // () => testError.throwSyntaxErrorCode(), - // { - // code: "ERR_TEST_CODE", - // message: "SyntaxError [syntax error]", - // }, - // ); - - let error = testError.createError(); - assert( - error instanceof Error, - "expected error to be an instance of Error", - ); - assertEquals(error.message, "error"); - - error = testError.createRangeError(); - assert( - error instanceof RangeError, - "expected error to be an instance of RangeError", - ); - assertEquals(error.message, "range error"); - - error = testError.createTypeError(); - assert( - error instanceof TypeError, - "expected error to be an instance of TypeError", - ); - assertEquals(error.message, "type error"); - - // TODO(bartlomieju): this is experimental API - // error = testError.createSyntaxError(); - // assert( - // error instanceof SyntaxError, - // "expected error to be an instance of SyntaxError", - // ); - // assertEquals(error.message, "syntax error"); - - error = testError.createErrorCode(); - assert( - error instanceof Error, - "expected error to be an instance of Error", - ); - assertEquals(error.code, "ERR_TEST_CODE"); - assertEquals(error.message, "Error [error]"); - assertEquals(error.name, "Error"); - - error = testError.createRangeErrorCode(); - assert( - error instanceof RangeError, - "expected error to be an instance of RangeError", - ); - assertEquals(error.message, "RangeError [range error]"); - assertEquals(error.code, "ERR_TEST_CODE"); - assertEquals(error.name, "RangeError"); - - error = testError.createTypeErrorCode(); - assert( - error instanceof TypeError, - "expected error to be an instance of TypeError", - ); - assertEquals(error.message, "TypeError [type error]"); - assertEquals(error.code, "ERR_TEST_CODE"); - assertEquals(error.name, "TypeError"); - - // TODO(bartlomieju): this is experimental API - // error = testError.createSyntaxErrorCode(); - // assert( - // error instanceof SyntaxError, - // "expected error to be an instance of SyntaxError", - // ); - // assertEquals(error.message, "SyntaxError [syntax error]"); - // assertEquals(error.code, "ERR_TEST_CODE"); - // assertEquals(error.name, "SyntaxError"); -}); |