summaryrefslogtreecommitdiff
path: root/std/node/require_test.ts
diff options
context:
space:
mode:
authorKevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>2019-11-18 22:54:20 -0800
committerRy Dahl <ry@tinyclouds.org>2019-11-19 01:54:20 -0500
commite73a82dc42b3d80bea42482e227c31e5ef01e273 (patch)
tree5c3f26bc19d4ce6b3e42b2fe48f47e1cccbb29fd /std/node/require_test.ts
parente6fdb2628fdeeae0c7b06c25214b2edba96364dd (diff)
feat(std/node) add CommonJS require (#3380)
Diffstat (limited to 'std/node/require_test.ts')
-rw-r--r--std/node/require_test.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/std/node/require_test.ts b/std/node/require_test.ts
new file mode 100644
index 000000000..7cac6d6b2
--- /dev/null
+++ b/std/node/require_test.ts
@@ -0,0 +1,27 @@
+import { test } from "../testing/mod.ts";
+import { assertEquals, assert } from "../testing/asserts.ts";
+import { makeRequire } from "./require.ts";
+
+const selfPath = window.unescape(import.meta.url.substring(7));
+// TS compiler would try to resolve if function named "require"
+// Thus suffixing it with require_ to fix this...
+const require_ = makeRequire(selfPath);
+
+test(function requireSuccess() {
+ const result = require_("./node/tests/cjs/cjs_a.js");
+ assert("helloA" in result);
+ assert("helloB" in result);
+ assert("C" in result);
+ assert("leftPad" in result);
+ assertEquals(result.helloA(), "A");
+ assertEquals(result.helloB(), "B");
+ assertEquals(result.C, "C");
+ assertEquals(result.leftPad("pad", 4), " pad");
+});
+
+test(function requireCycle() {
+ const resultA = require_("./node/tests/cjs/cjs_cycle_a");
+ const resultB = require_("./node/tests/cjs/cjs_cycle_b");
+ assert(resultA);
+ assert(resultB);
+});