@@ -37,6 +37,35 @@ test('applies handlers in sequence', async () => {
3737 assert . equal ( order , [ '1a' , '2a' , '3a' , '3b' , '2b' , '1b' ] ) ;
3838} ) ;
3939
40+ test ( 'uses transformPageChunk option passed to non-terminal handle function' , async ( ) => {
41+ const handler = sequence (
42+ async ( { event, resolve } ) => {
43+ return resolve ( event , {
44+ transformPageChunk : ( { html, done } ) => html + ( done ? '-1-done' : '-1' )
45+ } ) ;
46+ } ,
47+ async ( { event, resolve } ) => resolve ( event ) ,
48+ async ( { event, resolve } ) => resolve ( event )
49+ ) ;
50+
51+ const event = /** @type {import('types').RequestEvent } */ ( { } ) ;
52+ const response = await handler ( {
53+ event,
54+ resolve : async ( _event , opts = { } ) => {
55+ let html = '' ;
56+
57+ const { transformPageChunk = ( { html } ) => html } = opts ;
58+
59+ html += await transformPageChunk ( { html : '0' , done : false } ) ;
60+ html += await transformPageChunk ( { html : ' 0' , done : true } ) ;
61+
62+ return new Response ( html ) ;
63+ }
64+ } ) ;
65+
66+ assert . equal ( await response . text ( ) , '0-1 0-1-done' ) ;
67+ } ) ;
68+
4069test ( 'merges transformPageChunk option' , async ( ) => {
4170 const handler = sequence (
4271 async ( { event, resolve } ) => {
0 commit comments