aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-04-14 17:45:16 -0700
committerGravatar GitHub <noreply@github.com> 2023-04-14 17:45:16 -0700
commitb4989a316b4b3dcf0e8e8145aa9541f70122f9ba (patch)
tree9ba477b212a485aa418183ba2ea4f06c55f907ff /test
parent8b897e1a6bbe026fae3af0c40d65331b44d00c21 (diff)
downloadbun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.tar.gz
bun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.tar.zst
bun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.zip
Support importing `.txt` files as strings (#2660)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'test')
-rw-r--r--test/js/bun/util/text-loader-fixture-dynamic-import.ts3
-rw-r--r--test/js/bun/util/text-loader-fixture-import.ts3
-rw-r--r--test/js/bun/util/text-loader-fixture-require.ts3
-rw-r--r--test/js/bun/util/text-loader-fixture-text-file.txt1
-rw-r--r--test/js/bun/util/text-loader.test.ts28
5 files changed, 38 insertions, 0 deletions
diff --git a/test/js/bun/util/text-loader-fixture-dynamic-import.ts b/test/js/bun/util/text-loader-fixture-dynamic-import.ts
new file mode 100644
index 000000000..fe22eb5a6
--- /dev/null
+++ b/test/js/bun/util/text-loader-fixture-dynamic-import.ts
@@ -0,0 +1,3 @@
+const { default: text } = await import("./text-loader-fixture-text-file.txt");
+
+console.write(text);
diff --git a/test/js/bun/util/text-loader-fixture-import.ts b/test/js/bun/util/text-loader-fixture-import.ts
new file mode 100644
index 000000000..ec72286ac
--- /dev/null
+++ b/test/js/bun/util/text-loader-fixture-import.ts
@@ -0,0 +1,3 @@
+import text from "./text-loader-fixture-text-file.txt";
+
+console.write(text);
diff --git a/test/js/bun/util/text-loader-fixture-require.ts b/test/js/bun/util/text-loader-fixture-require.ts
new file mode 100644
index 000000000..5fb4102fc
--- /dev/null
+++ b/test/js/bun/util/text-loader-fixture-require.ts
@@ -0,0 +1,3 @@
+// TODO: should .default really be necessary here?
+const { default: text } = require("./text-loader-fixture-text-file.txt");
+console.write(text);
diff --git a/test/js/bun/util/text-loader-fixture-text-file.txt b/test/js/bun/util/text-loader-fixture-text-file.txt
new file mode 100644
index 000000000..299e8b604
--- /dev/null
+++ b/test/js/bun/util/text-loader-fixture-text-file.txt
@@ -0,0 +1 @@
+These are words! \ No newline at end of file
diff --git a/test/js/bun/util/text-loader.test.ts b/test/js/bun/util/text-loader.test.ts
new file mode 100644
index 000000000..f7d3b2a28
--- /dev/null
+++ b/test/js/bun/util/text-loader.test.ts
@@ -0,0 +1,28 @@
+import { spawnSync } from "bun";
+import { describe, expect, it } from "bun:test";
+import { bunEnv, bunExe } from "harness";
+import { join } from "path";
+
+describe("text-loader", () => {
+ const fixtures = [
+ ["dynamic-import", "text-loader-fixture-dynamic-import.ts"],
+ ["import", "text-loader-fixture-import.ts"],
+ ["require", "text-loader-fixture-require.ts"],
+ ] as const;
+ for (let [kind, path] of fixtures) {
+ describe("should load text", () => {
+ it(`using ${kind}`, () => {
+ const result = spawnSync({
+ cmd: [bunExe(), join(import.meta.dir, path)],
+ env: bunEnv,
+ stdout: "pipe",
+ stderr: "inherit",
+ stdin: "ignore",
+ });
+
+ expect(result.stdout.toString()).toBe("These are words!");
+ expect(result.exitCode).toBe(0);
+ });
+ });
+ }
+});