From 9c5d2dc646f895e044aa8985e2be503ccaf7ff3e Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Thu, 6 Feb 2025 19:55:11 -0600 Subject: [PATCH] test: Add basic tests for stream renderers w/ full HTML doc --- package-lock.json | 4 ++-- test/compat/stream-node.test.js | 37 +++++++++++++++++++++++++++++++++ test/compat/stream.test.js | 36 ++++++++++++++++++++++++++++++-- 3 files changed, 73 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e40cb4..a6f560a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "preact-render-to-string", - "version": "6.5.12", + "version": "6.5.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "preact-render-to-string", - "version": "6.5.12", + "version": "6.5.13", "license": "MIT", "devDependencies": { "@babel/plugin-transform-react-jsx": "^7.12.12", diff --git a/test/compat/stream-node.test.js b/test/compat/stream-node.test.js index 5783887..21dfa05 100644 --- a/test/compat/stream-node.test.js +++ b/test/compat/stream-node.test.js @@ -73,4 +73,41 @@ describe('renderToPipeableStream', () => { '' ]); }); + + it('should render full html documents', async () => { + const { Suspender, suspended } = createSuspender(); + + const sink = createSink(); + const { pipe } = renderToPipeableStream( + + + + + +
+ + + +
+ + , + { + onShellReady: () => { + pipe(sink.stream); + } + } + ); + suspended.resolve(); + + const result = await sink.promise; + + expect(result).to.deep.equal([ + '
loading...
', + '', + '' + ]); + }); }); diff --git a/test/compat/stream.test.js b/test/compat/stream.test.js index 09f6134..0c74ab4 100644 --- a/test/compat/stream.test.js +++ b/test/compat/stream.test.js @@ -82,11 +82,43 @@ describe('renderToReadableStream', () => { const result = await sink.promise; expect(result).to.deep.equal([ - '
loading...
', + '
loading...
', '' ]); }); + + it('should render full html documents', async () => { + const { Suspender, suspended } = createSuspender(); + + const stream = renderToReadableStream( + + + + + +
+ + + +
+ + + ); + const sink = createSink(stream); + suspended.resolve(); + + const result = await sink.promise; + + expect(result).to.deep.equal([ + '
loading...
', + '', + '' + ]); + }); });