@@ -15,27 +15,57 @@ if (!hasQuic) {
1515const { listen, connect } = await import ( '../common/quic.mjs' ) ;
1616const { bytes } = await import ( 'stream/iter' ) ;
1717
18- const serverDone = Promise . withResolvers ( ) ;
19-
20- const serverEndpoint = await listen ( mustCall ( ( serverSession ) => {
21- serverSession . onstream = mustCall ( async ( stream ) => {
22- const received = await bytes ( stream ) ;
23- assert . strictEqual ( received . byteLength , 0 ) ;
24- stream . writer . endSync ( ) ;
25- await stream . closed ;
26- serverSession . close ( ) ;
27- serverDone . resolve ( ) ;
28- } ) ;
29- } ) ) ;
30-
31- const clientSession = await connect ( serverEndpoint . address ) ;
32- await clientSession . opened ;
33-
34- const stream = await clientSession . createBidirectionalStream ( ) ;
35- stream . setBody ( null ) ;
36-
37- await dump ( stream ) ;
38-
39- await Promise . all ( [ stream . closed , serverDone . promise ] ) ;
40- await clientSession . close ( ) ;
41- await serverEndpoint . close ( ) ;
18+ {
19+ const serverDone = Promise . withResolvers ( ) ;
20+
21+ const serverEndpoint = await listen ( mustCall ( ( serverSession ) => {
22+ serverSession . onstream = mustCall ( async ( stream ) => {
23+ const received = await bytes ( stream ) ;
24+ assert . strictEqual ( received . byteLength , 0 ) ;
25+ stream . writer . endSync ( ) ;
26+ await stream . closed ;
27+ serverSession . close ( ) ;
28+ serverDone . resolve ( ) ;
29+ } ) ;
30+ } ) ) ;
31+
32+ const clientSession = await connect ( serverEndpoint . address ) ;
33+ await clientSession . opened ;
34+
35+ const stream = await clientSession . createBidirectionalStream ( ) ;
36+ stream . setBody ( null ) ;
37+
38+ await dump ( stream ) ;
39+
40+ await Promise . all ( [ stream . closed , serverDone . promise ] ) ;
41+ await clientSession . close ( ) ;
42+ await serverEndpoint . close ( ) ;
43+ }
44+
45+ // Stream via createBidirectionalStream({ body: null }).
46+ {
47+ const serverDone = Promise . withResolvers ( ) ;
48+
49+ const serverEndpoint = await listen ( mustCall ( ( serverSession ) => {
50+ serverSession . onstream = mustCall ( async ( stream ) => {
51+ const received = await bytes ( stream ) ;
52+ assert . strictEqual ( received . byteLength , 0 ) ;
53+ stream . writer . endSync ( ) ;
54+ await stream . closed ;
55+ serverSession . close ( ) ;
56+ serverDone . resolve ( ) ;
57+ } ) ;
58+ } ) ) ;
59+
60+ const clientSession = await connect ( serverEndpoint . address ) ;
61+ await clientSession . opened ;
62+
63+ const stream =
64+ await clientSession . createBidirectionalStream ( { body : null } ) ;
65+
66+ await dump ( stream ) ;
67+
68+ await Promise . all ( [ stream . closed , serverDone . promise ] ) ;
69+ await clientSession . close ( ) ;
70+ await serverEndpoint . close ( ) ;
71+ }
0 commit comments