diff options
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); +      }      }    } | 
