summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/tests/unit/ffi_test.ts25
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);
+});