summaryrefslogtreecommitdiff
path: root/std/node/require_test.ts
blob: 7cac6d6b2b37d2bf17d8b5eec1da78f369c13047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
});