summaryrefslogtreecommitdiff
path: root/core/libdeno/libdeno_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'core/libdeno/libdeno_test.cc')
-rw-r--r--core/libdeno/libdeno_test.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/core/libdeno/libdeno_test.cc b/core/libdeno/libdeno_test.cc
index 485c95bff..c2d76c876 100644
--- a/core/libdeno/libdeno_test.cc
+++ b/core/libdeno/libdeno_test.cc
@@ -159,7 +159,6 @@ TEST(LibDenoTest, CheckPromiseErrors) {
EXPECT_EQ(deno_last_exception(d), nullptr);
deno_execute(d, nullptr, "a.js", "CheckPromiseErrors()");
EXPECT_EQ(nullptr, deno_last_exception(d));
- EXPECT_EQ(deno_last_exception(d), nullptr);
EXPECT_EQ(count, 1);
// We caught the exception. So still no errors after calling
// deno_check_promise_errors().
@@ -261,3 +260,23 @@ TEST(LibDenoTest, SharedAtomics) {
EXPECT_EQ(s[2], 2);
deno_delete(d);
}
+
+TEST(LibDenoTest, WasmInstantiate) {
+ static int count = 0;
+ auto recv_cb = [](auto _, auto buf, auto zero_copy_buf) {
+ EXPECT_EQ(buf.data_len, 1u);
+ EXPECT_EQ(buf.data_ptr[0], 42);
+ count++;
+ };
+ Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb, nullptr});
+ EXPECT_EQ(deno_last_exception(d), nullptr);
+ deno_execute(d, nullptr, "a.js", "WasmInstantiate()");
+
+ EXPECT_EQ(nullptr, deno_last_exception(d));
+ deno_check_promise_errors(d);
+ EXPECT_EQ(nullptr, deno_last_exception(d));
+
+ EXPECT_EQ(count, 3);
+
+ deno_delete(d);
+}