summaryrefslogtreecommitdiff
path: root/std/wasi/snapshot_preview1_test.ts
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2020-12-04 02:36:13 +0800
committerGitHub <noreply@github.com>2020-12-03 19:36:13 +0100
commitde036e1f08dad4c5d0c6641f1942750558e3e787 (patch)
tree2a99e297c3213e1a86f36f1675a13af9a38a0aea /std/wasi/snapshot_preview1_test.ts
parent93d9f51d16711e6ec0763e1189eb1a57a5ba8e3e (diff)
feat(std/wasi): add support for initializing reactors (#8603)
This adds another entry point to Context called initialize for spinning up style modules. Reactors are modules that don't have a main function and basically run forever in the background.
Diffstat (limited to 'std/wasi/snapshot_preview1_test.ts')
-rw-r--r--std/wasi/snapshot_preview1_test.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/std/wasi/snapshot_preview1_test.ts b/std/wasi/snapshot_preview1_test.ts
index 44877117c..d7e29e195 100644
--- a/std/wasi/snapshot_preview1_test.ts
+++ b/std/wasi/snapshot_preview1_test.ts
@@ -180,3 +180,45 @@ Deno.test("context_start", function () {
"export _start must be a function",
);
});
+
+Deno.test("context_initialize", function () {
+ assertThrows(
+ () => {
+ const context = new Context({});
+ context.initialize({
+ exports: {
+ _initialize() {},
+ },
+ });
+ },
+ TypeError,
+ "must provide a memory export",
+ );
+
+ assertThrows(
+ () => {
+ const context = new Context({});
+ context.initialize({
+ exports: {
+ _start() {},
+ memory: new WebAssembly.Memory({ initial: 1 }),
+ },
+ });
+ },
+ TypeError,
+ "export _start must not be a function",
+ );
+
+ assertThrows(
+ () => {
+ const context = new Context({});
+ context.initialize({
+ exports: {
+ memory: new WebAssembly.Memory({ initial: 1 }),
+ },
+ });
+ },
+ TypeError,
+ "export _initialize must be a function",
+ );
+});