mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
37 lines
945 B
TypeScript
37 lines
945 B
TypeScript
import { write } from "bun";
|
|
import { expect, test } from "bun:test";
|
|
import { tmpdirSync } from "harness";
|
|
import { join } from "path";
|
|
|
|
test("empty and invalid JSON import do not crash", async () => {
|
|
const testDir = tmpdirSync("empty-and-invalid-json-import-do-not-crash");
|
|
|
|
await Promise.all([
|
|
write(join(testDir, "empty.json"), ""),
|
|
write(
|
|
join(testDir, "invalid.json"),
|
|
`
|
|
{
|
|
"a": 1
|
|
"b": 2
|
|
}`,
|
|
),
|
|
]);
|
|
|
|
expect(async () => {
|
|
await import(join(testDir, "empty.json") + "?0");
|
|
}).toThrow("JSON Parse error: Unexpected EOF");
|
|
|
|
expect(async () => {
|
|
await import(join(testDir, "invalid.json") + "?1");
|
|
}).toThrow("JSON Parse error: Expected '}'");
|
|
|
|
expect(() => {
|
|
const json = require(join(testDir, "empty.json"));
|
|
}).toThrow("JSON Parse error: Unexpected EOF");
|
|
|
|
expect(() => {
|
|
const json = require(join(testDir, "invalid.json"));
|
|
}).toThrow("JSON Parse error: Expected '}'");
|
|
});
|