@@ -10,42 +10,64 @@ if (!hasCrypto)
1010 skip ( 'missing crypto' ) ;
1111const { createServer, connect } = require ( 'http2' ) ;
1212const assert = require ( 'assert' ) ;
13-
14- const server = createServer ( ) ;
15- server . listen ( 0 , mustCall ( ( ) => {
16- const port = server . address ( ) . port ;
17- const url = `http://localhost:${ port } ` ;
18- const client = connect ( url , mustCall ( ( ) => {
19- const request = client . request ( ) ;
20- request . resume ( ) ;
21- request . on ( 'end' , mustCall ( ) ) ;
22- request . on ( 'close' , mustCall ( ( ) => {
23- client . close ( ) ;
13+ {
14+ const server = createServer ( ) ;
15+ server . listen ( 0 , mustCall ( ( ) => {
16+ const port = server . address ( ) . port ;
17+ const url = `http://localhost:${ port } ` ;
18+ const client = connect ( url , mustCall ( ( ) => {
19+ const request = client . request ( ) ;
20+ request . resume ( ) ;
21+ request . on ( 'end' , mustCall ( ) ) ;
22+ request . on ( 'close' , mustCall ( ( ) => {
23+ client . close ( ) ;
24+ } ) ) ;
2425 } ) ) ;
25- } ) ) ;
2626
27- server . once ( 'request' , mustCall ( ( request , response ) => {
28- // response.write() returns true
29- assert ( response . write ( 'muahaha' , 'utf8' , mustCall ( ) ) ) ;
27+ server . once ( 'request' , mustCall ( ( request , response ) => {
28+ // response.write() returns true
29+ assert ( response . write ( 'muahaha' , 'utf8' , mustCall ( ) ) ) ;
3030
31- response . stream . close ( 0 , mustCall ( ( ) => {
32- response . on ( 'error' , mustNotCall ( ) ) ;
31+ response . stream . close ( 0 , mustCall ( ( ) => {
32+ response . on ( 'error' , mustNotCall ( ) ) ;
3333
34- // response.write() without cb returns error
35- assert . throws (
36- ( ) => { response . write ( 'muahaha' ) ; } ,
37- {
38- name : 'Error' ,
39- code : 'ERR_HTTP2_INVALID_STREAM' ,
40- message : 'The stream has been destroyed'
41- }
42- ) ;
34+ // response.write() without cb returns error
35+ response . write ( 'muahaha' , mustCall ( ( err ) => {
36+ assert . strictEqual ( err . code , 'ERR_HTTP2_INVALID_STREAM' ) ;
4337
44- // response.write() with cb returns falsy value
45- assert ( ! response . write ( 'muahaha' , mustCall ( ) ) ) ;
38+ // response.write() with cb returns falsy value
39+ assert ( ! response . write ( 'muahaha' , mustCall ( ) ) ) ;
40+
41+ client . destroy ( ) ;
42+ server . close ( ) ;
43+ } ) ) ;
44+ } ) ) ;
45+ } ) ) ;
46+ } ) ) ;
47+ }
48+
49+ {
50+ // Http2ServerResponse.write ERR_STREAM_WRITE_AFTER_END
51+ const server = createServer ( ) ;
52+ server . listen ( 0 , mustCall ( ( ) => {
53+ const port = server . address ( ) . port ;
54+ const url = `http://localhost:${ port } ` ;
55+ const client = connect ( url , mustCall ( ( ) => {
56+ const request = client . request ( ) ;
57+ request . resume ( ) ;
58+ request . on ( 'end' , mustCall ( ) ) ;
59+ request . on ( 'close' , mustCall ( ( ) => {
60+ client . close ( ) ;
61+ } ) ) ;
62+ } ) ) ;
4663
47- client . destroy ( ) ;
48- server . close ( ) ;
64+ server . once ( 'request' , mustCall ( ( request , response ) => {
65+ response . end ( ) ;
66+ response . write ( 'asd' , mustCall ( ( err ) => {
67+ assert . strictEqual ( err . code , 'ERR_STREAM_WRITE_AFTER_END' ) ;
68+ client . destroy ( ) ;
69+ server . close ( ) ;
70+ } ) ) ;
4971 } ) ) ;
5072 } ) ) ;
51- } ) ) ;
73+ }
0 commit comments