diff options
author | 2023-04-13 00:20:59 -0700 | |
---|---|---|
committer | 2023-04-13 00:20:59 -0700 | |
commit | db15a23a637468c3fc67f2a6446698d758f58fbe (patch) | |
tree | dc397825eee2a16a7b9e32441bd1d73cb6fd42df /test | |
parent | 1cc4eb0e3f77850d5d39262ce19e7168fdd76f88 (diff) | |
download | bun-db15a23a637468c3fc67f2a6446698d758f58fbe.tar.gz bun-db15a23a637468c3fc67f2a6446698d758f58fbe.tar.zst bun-db15a23a637468c3fc67f2a6446698d758f58fbe.zip |
import file path and fix disabled browser require (#2642)
* print disabled `require`
* bundle file paths
* update tests
Diffstat (limited to 'test')
-rw-r--r-- | test/bundler/esbuild/default.test.ts | 18 | ||||
-rw-r--r-- | test/bundler/expectBundled.ts | 19 |
2 files changed, 26 insertions, 11 deletions
diff --git a/test/bundler/esbuild/default.test.ts b/test/bundler/esbuild/default.test.ts index 31cbe6169..3bd42187b 100644 --- a/test/bundler/esbuild/default.test.ts +++ b/test/bundler/esbuild/default.test.ts @@ -996,8 +996,8 @@ describe("bundler", () => { "/entry.js": `console.log(require('./test.bad'))`, "/test.bad": `This is a test.`, }, - bundleErrors: { - "/entry.js": ['No loader is configured for ".bad" files: test.bad'], + run: { + partialStdout: "/test.bad", }, }); itBundled("default/FalseRequire", { @@ -1127,7 +1127,7 @@ describe("bundler", () => { `, }, bundleErrors: { - "/entry.js": ['Could not resolve "nope1"'], + "/entry.js": ["Could not resolve"], }, }); itBundled("default/ImportThenCatch", { @@ -1245,8 +1245,8 @@ describe("bundler", () => { "/entry.js": `console.log(require('fs'))`, }, platform: "browser", - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + stdout: "[Function]", }, }); itBundled("default/RequireFSNode", { @@ -1280,8 +1280,8 @@ describe("bundler", () => { console.log(fs, readFileSync, defaultValue) `, }, - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + stdout: "[Function] undefined undefined", }, platform: "browser", }); @@ -1324,8 +1324,8 @@ describe("bundler", () => { `, }, platform: "browser", - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + file: "out.js", }, }); itBundled("default/ExportFSNode", { diff --git a/test/bundler/expectBundled.ts b/test/bundler/expectBundled.ts index d75f4ebe1..0b467dddf 100644 --- a/test/bundler/expectBundled.ts +++ b/test/bundler/expectBundled.ts @@ -181,6 +181,8 @@ export interface BundlerTestRunOptions { bunArgs?: string[]; /** match exact stdout */ stdout?: string; + /** partial match stdout (toContain()) */ + partialStdout?: string; /** match exact error message, example "ReferenceError: Can't find variable: bar" */ error?: string; /** @@ -257,6 +259,10 @@ export function expectBundled( ...unknownProps } = opts; + if (!ESBUILD && platform === "neutral") { + platform = "browser"; + } + // TODO: Remove this check once all options have been implemented if (Object.keys(unknownProps).length > 0) { throw new Error("expectBundled recieved unexpected options: " + Object.keys(unknownProps).join(", ")); @@ -518,7 +524,7 @@ export function expectBundled( let unexpectedErrors = []; for (const error of allErrors) { - const i = errorsLeft.findIndex(item => error.file === item.file && item.error === error.error); + const i = errorsLeft.findIndex(item => error.file === item.file && error.error.includes(item.error)); if (i === -1) { unexpectedErrors.push(error); } else { @@ -587,7 +593,7 @@ export function expectBundled( let unexpectedWarnings = []; for (const error of allWarnings) { - const i = warningsLeft.findIndex(item => error.file === item.file && item.error.includes(error.error)); + const i = warningsLeft.findIndex(item => error.file === item.file && error.error.includes(item.error)); if (i === -1) { unexpectedWarnings.push(error); } else { @@ -869,6 +875,15 @@ export function expectBundled( } expect(result).toBe(expected); } + + if (run.partialStdout !== undefined) { + const result = stdout!.toString("utf-8").trim(); + const expected = dedent(run.partialStdout).trim(); + if (!result.includes(expected)) { + console.log({ file }); + } + expect(result).toContain(expected); + } } } |