From 031492b396a0b9165f32b8c97f4bd5dc4fb8f79b Mon Sep 17 00:00:00 2001 From: Dave Caruso Date: Thu, 11 May 2023 21:32:44 -0400 Subject: start vue tests --- .../bundler/integration/react/react-client.test.ts | 44 ++++++++++++++++++++ test/bundler/integration/react/react-ssr.test.ts | 47 ++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 test/bundler/integration/react/react-client.test.ts create mode 100644 test/bundler/integration/react/react-ssr.test.ts (limited to 'test/bundler/integration/react') diff --git a/test/bundler/integration/react/react-client.test.ts b/test/bundler/integration/react/react-client.test.ts new file mode 100644 index 000000000..0785b7630 --- /dev/null +++ b/test/bundler/integration/react/react-client.test.ts @@ -0,0 +1,44 @@ +import path from "path"; +import { describe, test, expect } from "bun:test"; +import { bunExe } from "harness"; + +const modes = [ + // + { label: "base" }, + { label: "minify-all", args: ["--minify"] }, + { label: "minify-syntax", args: ["--minify-syntax"] }, + { label: "minify-whitespace", args: ["--minify-whitespace"] }, + { label: "sourcemaps", args: ["--minify", "--sourcemap=external"] }, +]; +const nodeEnvs = ["development", "production"]; +const combinations = nodeEnvs.flatMap(nodeEnv => modes.map(mode => ({ options: mode, nodeEnv }))); + +describe("bundler integration, react client", () => { + for (const { + options: { label, args }, + nodeEnv, + } of combinations) { + test(label + ", NODE_ENV=" + nodeEnv, async () => { + const out = path.join(import.meta.dir, "dist/client/" + label + "-" + nodeEnv); + const x = Bun.spawnSync( + [bunExe(), "build", ...(args ?? []), "--outdir=" + out, "--splitting", path.join(import.meta.dir, "index.jsx")], + { + // cwd: import.meta.dir + "/react", + env: nodeEnv ? { NODE_ENV: nodeEnv } : undefined, + }, + ); + if (x.exitCode !== 0) { + console.error(x.stderr.toString()); + throw new Error("Failed to build"); + } + const proc = Bun.spawn(["node", path.join(import.meta.dir, "puppeteer.mjs"), out], { + cwd: path.join(import.meta.dir, "react"), + }); + await proc.exited; + expect(proc.exitCode).toBe(0); + const output = JSON.parse(await new Response(proc.stdout).text()); + expect(output.logs).toMatchSnapshot("Browser console logs"); + expect(output.domSnapshots).toMatchSnapshot("DOM Snapshots"); + }); + } +}); diff --git a/test/bundler/integration/react/react-ssr.test.ts b/test/bundler/integration/react/react-ssr.test.ts new file mode 100644 index 000000000..9b4d49e19 --- /dev/null +++ b/test/bundler/integration/react/react-ssr.test.ts @@ -0,0 +1,47 @@ +import path from "path"; +import { describe, test, expect } from "bun:test"; +import { bunExe } from "harness"; + +const modes = [ + // + { label: "base" }, + { label: "minify-all", args: ["--minify"] }, + { label: "minify-syntax", args: ["--minify-syntax"] }, + { label: "minify-whitespace", args: ["--minify-whitespace"] }, + { label: "sourcemaps", args: ["--minify", "--sourcemap=external"] }, +]; +const nodeEnvs = ["development", "production"]; +const combinations = nodeEnvs.flatMap(nodeEnv => modes.map(mode => ({ options: mode, nodeEnv }))); + +describe("bundler integration, react SSR", () => { + for (const { + options: { label, args }, + nodeEnv, + } of combinations) { + test(label + ", NODE_ENV=" + nodeEnv, async () => { + const out = path.join(import.meta.dir, "dist/ssr/" + label + "-" + nodeEnv); + const x = Bun.spawnSync( + [ + bunExe(), + "build", + ...(args ?? []), + "--target=bun", + "--outdir=" + out, + path.join(import.meta.dir, "ssr-print.jsx"), + ], + { + // cwd: import.meta.dir + "/react", + env: nodeEnv ? { NODE_ENV: nodeEnv } : undefined, + }, + ); + const proc = Bun.spawnSync(["bun", path.join(out, "ssr-print.js")], { + cwd: path.join(import.meta.dir, "react"), + }); + if (!proc.success) { + console.error(proc.stderr.toString()); + throw new Error("Process failed"); + } + expect(proc.stdout).toMatchSnapshot("Output"); + }); + } +}); -- cgit v1.2.3 fix-module-field-in-exports'>dylan/fix-module-field-in-exports Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/docs/guides/binary/arraybuffer-to-typedarray.md (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-07-30skip flay testGravatar Jarred Sumner 2-5/+4
2023-07-30Support `bun .` to run the entry point (#3891)Gravatar Jarred Sumner 8-164/+110
2023-07-30Update install.md (#3890)Gravatar Tiramify (A.K. Daniel) 1-1/+1
2023-07-30Fix issue with file loader (#3889)Gravatar Jarred Sumner 5-6/+34
2023-07-30Fixes #3884Gravatar Jarred Sumner 2-42/+7
2023-07-30BumpGravatar Jarred Sumner 1-1/+1
2023-07-30remove unnecessary moveGravatar Jarred Sumner 1-1/+1
2023-07-30Fix memory leak (#3887)Gravatar Jarred Sumner 10-87/+191
2023-07-30Fix coredump when reading an empty file(`node:stream:createReadStream`) (#3882)Gravatar Ai Hoshino 2-0/+30
2023-07-30Improv. (#3885)Gravatar Tiramify (A.K. Daniel) 3-37/+38
2023-07-29Make `bun:jsc` memoryUsage more accurate (#3876)Gravatar Jarred Sumner 6-68/+61
2023-07-29docs: fixed small errors (#3879)Gravatar 0xflotus 4-4/+4
2023-07-29fix: small error (#3878)Gravatar 0xflotus 1-1/+1
2023-07-29typo spawn.md (#3875)Gravatar Jhorman Tito 1-1/+1
2023-07-28Update nodejs-apis.mdGravatar Jarred Sumner 1-4/+4
2023-07-28Update nodejs-apis.mdGravatar Jarred Sumner 1-5/+5
2023-07-28Defer task destructionbun-v0.7.1Gravatar Jarred Sumner 1-1/+17
2023-07-28Stat largefile test (#3870)Gravatar Jarred Sumner 1-0/+22
2023-07-28Ignore when printing to stdout errors (#3869)Gravatar Jarred Sumner 1-2/+4
2023-07-28Fix bug with `/path/to/absolute/bun.lockb`Gravatar Jarred Sumner 1-10/+13
2023-07-28markBindingGravatar Dylan Conway 1-0/+1
2023-07-28optional parameterGravatar Dylan Conway 1-3/+3
2023-07-28Fixes #3868Gravatar Jarred Sumner 1-2/+3
2023-07-28Fix assertion failure and possible infinite loop when printing as yarn lock f...Gravatar Jarred Sumner 2-3/+16
2023-07-28Mark broken test as todoGravatar Jarred Sumner 2-1/+5
2023-07-28fix types and add message channel/port gc testGravatar Dylan Conway 2-62/+18
2023-07-28`MessageChannel` and `MessagePort` (#3860)Gravatar Dylan Conway 57-247/+3752
2023-07-28mark tests as todoGravatar Jarred Sumner 2-81/+75
2023-07-28add fork to child_process (#3851)Gravatar Vlad Sirenko 7-19/+446
2023-07-28feat(bun/test): Impl. expect().pass() & expect().fail() (#3843)Gravatar Tiramify (A.K. Daniel) 6-5/+212
2023-07-28fix the chunk boundary (`node:stream:createReadStream`) (#3853)Gravatar Ai Hoshino 3-8/+90
2023-07-28Support file: URLs in `fetch` (#3858)Gravatar Jarred Sumner 6-183/+281
2023-07-28fix(tls) exposes native canonicalizeIP and fix rootCertificates (#3866)Gravatar Ciro Spaciari 7-29/+125
2023-07-28Fixes #3795 (#3856)Gravatar Jarred Sumner 11-6/+140
2023-07-28Add todoGravatar Jarred Sumner 2-0/+8
2023-07-28Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-28Update pull_request_template.mdGravatar Jarred Sumner 1-11/+16
2023-07-27Fix bug with // @bun annotation in main thread (#3855)Gravatar Jarred Sumner 4-2/+53
2023-07-27Add `Bun.isMainThread`Gravatar Jarred Sumner 7-3/+48
2023-07-27Uncomment testGravatar Jarred Sumner 1-1/+1
2023-07-27Resolve watch directories outside main thread + async iterator and symlink fi...Gravatar Ciro Spaciari 8-197/+523
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-2/+2
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-0/+4
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-5/+11