diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/tests/unit/ffi_test.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cli/tests/unit/ffi_test.ts b/cli/tests/unit/ffi_test.ts new file mode 100644 index 000000000..ab25df699 --- /dev/null +++ b/cli/tests/unit/ffi_test.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. + +import { assertThrows, unitTest } from "./test_util.ts"; + +unitTest(function dlopenInvalidArguments() { + const filename = "/usr/lib/libc.so.6"; + assertThrows(() => { + // @ts-expect-error: ForeignFunction cannot be null + Deno.dlopen(filename, { malloc: null }); + }, TypeError); + assertThrows(() => { + Deno.dlopen(filename, { + // @ts-expect-error: invalid NativeType + malloc: { parameters: ["a"], result: "b" }, + }); + }, TypeError); + assertThrows(() => { + // @ts-expect-error: DynamicLibrary symbols cannot be null + Deno.dlopen(filename, null); + }, TypeError); + assertThrows(() => { + // @ts-expect-error: require 2 arguments + Deno.dlopen(filename); + }, TypeError); +}); |