aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/react-dom.test.tsx
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-01 03:24:58 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-01 03:24:58 -0700
commit589993192a205a6abd789b73ece6e0bc2421ac93 (patch)
tree1f17d74dc80704029db7e54ccd919bef7094fa28 /test/bun.js/react-dom.test.tsx
parent4812fb8faf7e89dd8cb585f687bd887dc552efe2 (diff)
downloadbun-589993192a205a6abd789b73ece6e0bc2421ac93.tar.gz
bun-589993192a205a6abd789b73ece6e0bc2421ac93.tar.zst
bun-589993192a205a6abd789b73ece6e0bc2421ac93.zip
Improve test coverage for streams
Diffstat (limited to 'test/bun.js/react-dom.test.tsx')
-rw-r--r--test/bun.js/react-dom.test.tsx71
1 files changed, 37 insertions, 34 deletions
diff --git a/test/bun.js/react-dom.test.tsx b/test/bun.js/react-dom.test.tsx
index d1fa66453..2092fbe1a 100644
--- a/test/bun.js/react-dom.test.tsx
+++ b/test/bun.js/react-dom.test.tsx
@@ -4,6 +4,7 @@ import {
readableStreamToArrayBuffer,
readableStreamToBlob,
readableStreamToText,
+ serve,
} from "bun";
import { describe, expect, it } from "bun:test";
import { renderToReadableStream as renderToReadableStreamBrowser } from "react-dom/server.browser";
@@ -21,7 +22,7 @@ var port = 8908;
describe("ReactDOM", () => {
for (let renderToReadableStream of [
renderToReadableStreamBun,
- // renderToReadableStreamBrowser,
+ renderToReadableStreamBrowser,
]) {
for (let [inputString, reactElement] of [
// Needs at least six variations
@@ -49,6 +50,10 @@ describe("ReactDOM", () => {
<span>πŸ˜‹Hello World!</span>
</>,
],
+ ["πŸ˜‹", <>πŸ˜‹</>],
+ ["lπŸ˜‹l", <>lπŸ˜‹l</>],
+ ["loπŸ˜‹", <>loπŸ˜‹</>],
+ ["πŸ˜‹lo", <>πŸ˜‹lo</>],
[
"πŸ˜‹<span>Hello World!</span>",
<>
@@ -90,6 +95,28 @@ describe("ReactDOM", () => {
],
])
describe(`${renderToReadableStream.name}(${inputString})`, () => {
+ it.only("http server, 1 request", async () => {
+ var server;
+ try {
+ server = serve({
+ port: port++,
+ async fetch(req) {
+ return new Response(await renderToReadableStream(reactElement));
+ },
+ });
+ const resp = await fetch("http://localhost:" + server.port + "/");
+ expect((await resp.text()).replaceAll("<!-- -->", "")).toBe(
+ inputString
+ );
+ gc();
+ } catch (e) {
+ throw e;
+ } finally {
+ server?.stop();
+ gc();
+ }
+ });
+
it("Response.text()", async () => {
const stream = await renderToReadableStream(reactElement);
gc();
@@ -98,7 +125,7 @@ describe("ReactDOM", () => {
try {
const text = await response.text();
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
} catch (e) {
console.log(e.stack);
@@ -113,7 +140,7 @@ describe("ReactDOM", () => {
gc();
const text = new TextDecoder().decode(await response.arrayBuffer());
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
});
@@ -124,7 +151,7 @@ describe("ReactDOM", () => {
gc();
const text = await (await response.blob()).text();
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
});
@@ -133,7 +160,7 @@ describe("ReactDOM", () => {
gc();
const text = await readableStreamToText(stream);
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
});
@@ -144,7 +171,7 @@ describe("ReactDOM", () => {
const blob = await readableStreamToBlob(stream);
const text = await blob.text();
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
} catch (e) {
console.error(e.message);
@@ -162,7 +189,7 @@ describe("ReactDOM", () => {
? array.join("")
: new TextDecoder().decode(concatArrayBuffers(array));
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
});
@@ -172,41 +199,17 @@ describe("ReactDOM", () => {
const arrayBuffer = await readableStreamToArrayBuffer(stream);
const text = new TextDecoder().decode(arrayBuffer);
gc();
- expect(text).toBe(inputString);
+ expect(text.replaceAll("<!-- -->", "")).toBe(inputString);
gc();
});
- // it("http server, 1 request", async () => {
- // var server;
- // try {
- // server = serve({
- // port: port++,
- // async fetch(req) {
- // return new Response(
- // await renderToReadableStream(reactElement)
- // );
- // },
- // });
- // const resp = await fetch("http://localhost:" + server.port + "/");
- // expect(await resp.text()).toBe(inputString);
- // gc();
- // } catch (e) {
- // throw e;
- // } finally {
- // server.stop();
- // gc();
- // }
- // });
-
// it("http server, 100 requests", async () => {
// var server;
// try {
// server = serve({
// port: port++,
// async fetch(req) {
- // return new Response(
- // await renderToReadableStream(reactElement)
- // );
+ // return new Response(await renderToReadableStream(reactElement));
// },
// });
// var total = 0;
@@ -219,7 +222,7 @@ describe("ReactDOM", () => {
// gc();
// const result = await response.text();
// try {
- // expect(result).toBe(inputString);
+ // expect(result.replaceAll("<!-- -->", "")).toBe(inputString);
// } catch (e) {
// e.message += "\nAttempt: " + attempt;
// throw e;