diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2018-12-13 16:25:42 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-13 16:25:42 -0500 |
commit | f986eb25c575747efddcbbcbd8ab429a32312983 (patch) | |
tree | 644e550afc88ae370bb0d0eb010b8dff21315156 /libdeno/libdeno_test.cc | |
parent | 2cb52cc4d19b212c4a1095ca4f668fe62b237c7a (diff) |
Merge deno_new_snapshotter behavior into deno_new (#1318)
Diffstat (limited to 'libdeno/libdeno_test.cc')
-rw-r--r-- | libdeno/libdeno_test.cc | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/libdeno/libdeno_test.cc b/libdeno/libdeno_test.cc index 33a4702ae..9627f4a8d 100644 --- a/libdeno/libdeno_test.cc +++ b/libdeno/libdeno_test.cc @@ -3,30 +3,29 @@ TEST(LibDenoTest, InitializesCorrectly) { EXPECT_NE(snapshot.data_ptr, nullptr); - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "1 + 2")); deno_delete(d); } TEST(LibDenoTest, InitializesCorrectlyWithoutSnapshot) { - Deno* d = deno_new(empty, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, empty, empty, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "1 + 2")); deno_delete(d); } TEST(LibDenoTest, SnapshotterInitializesCorrectly) { - Deno* d = - deno_new_snapshotter(deno_config{empty, nullptr}, "a.js", "a = 1 + 2"); + Deno* d = deno_new(deno_config{1, empty, empty, nullptr}); deno_delete(d); } TEST(LibDenoTest, Snapshotter) { - Deno* d1 = - deno_new_snapshotter(deno_config{empty, nullptr}, "a.js", "a = 1 + 2"); + Deno* d1 = deno_new(deno_config{1, empty, empty, nullptr}); + EXPECT_TRUE(deno_execute(d1, nullptr, "a.js", "a = 1 + 2")); deno_buf test_snapshot = deno_get_snapshot(d1); deno_delete(d1); - Deno* d2 = deno_new(test_snapshot, deno_config{empty, nullptr}); + Deno* d2 = deno_new(deno_config{0, test_snapshot, empty, nullptr}); EXPECT_TRUE( deno_execute(d2, nullptr, "b.js", "if (a != 3) throw Error('x');")); deno_delete(d2); @@ -35,14 +34,14 @@ TEST(LibDenoTest, Snapshotter) { } TEST(LibDenoTest, CanCallFunction) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "if (CanCallFunction() != 'foo') throw Error();")); deno_delete(d); } TEST(LibDenoTest, ErrorsCorrectly) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_FALSE(deno_execute(d, nullptr, "a.js", "throw Error()")); deno_delete(d); } @@ -87,7 +86,7 @@ TEST(LibDenoTest, RecvReturnEmpty) { EXPECT_EQ(buf.data_ptr[1], 'b'); EXPECT_EQ(buf.data_ptr[2], 'c'); }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "RecvReturnEmpty()")); EXPECT_EQ(count, 2); deno_delete(d); @@ -105,14 +104,14 @@ TEST(LibDenoTest, RecvReturnBar) { EXPECT_EQ(buf.data_ptr[2], 'c'); deno_respond(d, user_data, req_id, strbuf("bar")); }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_TRUE(deno_execute(d, d, "a.js", "RecvReturnBar()")); EXPECT_EQ(count, 1); deno_delete(d); } TEST(LibDenoTest, DoubleRecvFails) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_FALSE(deno_execute(d, nullptr, "a.js", "DoubleRecvFails()")); deno_delete(d); } @@ -146,7 +145,7 @@ TEST(LibDenoTest, SendRecvSlice) { // Send back. deno_respond(d, user_data, req_id, buf2); }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_TRUE(deno_execute(d, d, "a.js", "SendRecvSlice()")); EXPECT_EQ(count, 5); deno_delete(d); @@ -163,26 +162,26 @@ TEST(LibDenoTest, JSSendArrayBufferViewTypes) { EXPECT_EQ(buf.alloc_len, 4321u); EXPECT_EQ(buf.data_ptr[0], count); }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "JSSendArrayBufferViewTypes()")); EXPECT_EQ(count, 3); deno_delete(d); } TEST(LibDenoTest, TypedArraySnapshots) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "TypedArraySnapshots()")); deno_delete(d); } TEST(LibDenoTest, SnapshotBug) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "SnapshotBug()")); deno_delete(d); } TEST(LibDenoTest, GlobalErrorHandling) { - Deno* d = deno_new(snapshot, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, empty, nullptr}); EXPECT_FALSE(deno_execute(d, nullptr, "a.js", "GlobalErrorHandling()")); // We only check that it starts with this string, so we don't have to check // the second frame, which contains line numbers in libdeno_test.js and may @@ -210,7 +209,7 @@ TEST(LibDenoTest, DataBuf) { EXPECT_EQ(buf.data_ptr[0], 1); EXPECT_EQ(buf.data_ptr[1], 2); }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "DataBuf()")); EXPECT_EQ(count, 1); // data_buf was subsequently changed in JS, let's check that our copy reflects @@ -223,7 +222,7 @@ TEST(LibDenoTest, DataBuf) { TEST(LibDenoTest, CheckPromiseErrors) { static int count = 0; auto recv_cb = [](auto _, int req_id, auto buf, auto data_buf) { count++; }; - Deno* d = deno_new(snapshot, deno_config{empty, recv_cb}); + Deno* d = deno_new(deno_config{0, snapshot, empty, recv_cb}); EXPECT_EQ(deno_last_exception(d), nullptr); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "CheckPromiseErrors()")); EXPECT_EQ(deno_last_exception(d), nullptr); @@ -236,7 +235,7 @@ TEST(LibDenoTest, CheckPromiseErrors) { } TEST(LibDenoTest, LastException) { - Deno* d = deno_new(empty, deno_config{empty, nullptr}); + Deno* d = deno_new(deno_config{0, empty, empty, nullptr}); EXPECT_EQ(deno_last_exception(d), nullptr); EXPECT_FALSE(deno_execute(d, nullptr, "a.js", "\n\nthrow Error('boo');\n\n")); EXPECT_STREQ(deno_last_exception(d), @@ -251,7 +250,7 @@ TEST(LibDenoTest, LastException) { TEST(LibDenoTest, Shared) { uint8_t s[] = {0, 1, 2}; deno_buf shared = {nullptr, 0, s, 3}; - Deno* d = deno_new(snapshot, deno_config{shared, nullptr}); + Deno* d = deno_new(deno_config{0, snapshot, shared, nullptr}); EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "Shared()")); EXPECT_EQ(s[0], 42); EXPECT_EQ(s[1], 43); |