From c9614d86c190b98bd8f0df9e17272387c3bad1d5 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Sat, 30 Mar 2019 14:45:36 -0400 Subject: Move //libdeno to //core/libdeno (#2015) Fixes some sed errors introduced in c43cfe. Unfortunately moving libdeno required splitting build.rs into two parts, one for cli and one for core. I've also removed the arm64 build - it's complicating things at this re-org and we're not even testing it. I need to swing back to it and get tools/test.py running for it. --- libdeno/modules_test.cc | 148 ------------------------------------------------ 1 file changed, 148 deletions(-) delete mode 100644 libdeno/modules_test.cc (limited to 'libdeno/modules_test.cc') diff --git a/libdeno/modules_test.cc b/libdeno/modules_test.cc deleted file mode 100644 index 9f9228430..000000000 --- a/libdeno/modules_test.cc +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2018 the Deno authors. All rights reserved. MIT license. -#include "test.h" - -static int exec_count = 0; -void recv_cb(void* user_data, deno_buf buf, deno_buf zero_copy_buf) { - // We use this to check that scripts have executed. - EXPECT_EQ(1u, buf.data_len); - EXPECT_EQ(buf.data_ptr[0], 4); - EXPECT_EQ(zero_copy_buf.zero_copy_id, 0u); - EXPECT_EQ(zero_copy_buf.data_ptr, nullptr); - exec_count++; -} - -TEST(ModulesTest, Resolution) { - exec_count = 0; // Reset - Deno* d = deno_new(deno_config{0, empty, empty, recv_cb}); - EXPECT_EQ(0, exec_count); - - static deno_mod a = deno_mod_new(d, true, "a.js", - "import { b } from 'b.js'\n" - "if (b() != 'b') throw Error();\n" - "Deno.core.send(new Uint8Array([4]));"); - EXPECT_NE(a, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - const char* b_src = "export function b() { return 'b' }"; - static deno_mod b = deno_mod_new(d, false, "b.js", b_src); - EXPECT_NE(b, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - EXPECT_EQ(0, exec_count); - - EXPECT_EQ(1u, deno_mod_imports_len(d, a)); - EXPECT_EQ(0u, deno_mod_imports_len(d, b)); - - EXPECT_STREQ("b.js", deno_mod_imports_get(d, a, 0)); - EXPECT_EQ(nullptr, deno_mod_imports_get(d, a, 1)); - EXPECT_EQ(nullptr, deno_mod_imports_get(d, b, 0)); - - static int resolve_count = 0; - auto resolve_cb = [](void* user_data, const char* specifier, - deno_mod referrer) { - EXPECT_EQ(referrer, a); - EXPECT_STREQ(specifier, "b.js"); - resolve_count++; - return b; - }; - - deno_mod_instantiate(d, d, b, resolve_cb); - EXPECT_EQ(nullptr, deno_last_exception(d)); - EXPECT_EQ(0, resolve_count); - EXPECT_EQ(0, exec_count); - - deno_mod_instantiate(d, d, a, resolve_cb); - EXPECT_EQ(nullptr, deno_last_exception(d)); - EXPECT_EQ(1, resolve_count); - EXPECT_EQ(0, exec_count); - - deno_mod_evaluate(d, d, a); - EXPECT_EQ(nullptr, deno_last_exception(d)); - EXPECT_EQ(1, resolve_count); - EXPECT_EQ(1, exec_count); - - deno_delete(d); -} - -TEST(ModulesTest, ResolutionError) { - exec_count = 0; // Reset - Deno* d = deno_new(deno_config{0, empty, empty, recv_cb}); - EXPECT_EQ(0, exec_count); - - static deno_mod a = deno_mod_new(d, true, "a.js", - "import 'bad'\n" - "Deno.core.send(new Uint8Array([4]));"); - EXPECT_NE(a, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - EXPECT_EQ(0, exec_count); - - EXPECT_EQ(1u, deno_mod_imports_len(d, a)); - EXPECT_STREQ("bad", deno_mod_imports_get(d, a, 0)); - - static int resolve_count = 0; - auto resolve_cb = [](void* user_data, const char* specifier, - deno_mod referrer) { - EXPECT_EQ(referrer, a); - EXPECT_STREQ(specifier, "bad"); - resolve_count++; - return 0; - }; - - deno_mod_instantiate(d, d, a, resolve_cb); - EXPECT_NE(nullptr, deno_last_exception(d)); - EXPECT_EQ(1, resolve_count); - EXPECT_EQ(0, exec_count); - - deno_delete(d); -} - -TEST(ModulesTest, ImportMetaUrl) { - exec_count = 0; // Reset - Deno* d = deno_new(deno_config{0, empty, empty, recv_cb}); - EXPECT_EQ(0, exec_count); - - static deno_mod a = - deno_mod_new(d, true, "a.js", - "if ('a.js' != import.meta.url) throw 'hmm'\n" - "Deno.core.send(new Uint8Array([4]));"); - EXPECT_NE(a, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_mod_instantiate(d, d, a, nullptr); - EXPECT_EQ(nullptr, deno_last_exception(d)); - EXPECT_EQ(0, exec_count); - - deno_mod_evaluate(d, d, a); - EXPECT_EQ(nullptr, deno_last_exception(d)); - EXPECT_EQ(1, exec_count); -} - -TEST(ModulesTest, ImportMetaMain) { - Deno* d = deno_new(deno_config{0, empty, empty, recv_cb}); - - const char* throw_not_main_src = "if (!import.meta.main) throw 'err'"; - static deno_mod throw_not_main = - deno_mod_new(d, true, "a.js", throw_not_main_src); - EXPECT_NE(throw_not_main, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_mod_instantiate(d, d, throw_not_main, nullptr); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_mod_evaluate(d, d, throw_not_main); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - const char* throw_main_src = "if (import.meta.main) throw 'err'"; - static deno_mod throw_main = deno_mod_new(d, false, "b.js", throw_main_src); - EXPECT_NE(throw_main, 0); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_mod_instantiate(d, d, throw_main, nullptr); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_mod_evaluate(d, d, throw_main); - EXPECT_EQ(nullptr, deno_last_exception(d)); - - deno_delete(d); -} -- cgit v1.2.3