@@ -10,42 +10,64 @@ if (!hasCrypto)
10
10
skip ( 'missing crypto' ) ;
11
11
const { createServer, connect } = require ( 'http2' ) ;
12
12
const 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
+ } ) ) ;
24
25
} ) ) ;
25
- } ) ) ;
26
26
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 ( ) ) ) ;
30
30
31
- response . stream . close ( 0 , mustCall ( ( ) => {
32
- response . on ( 'error' , mustNotCall ( ) ) ;
31
+ response . stream . close ( 0 , mustCall ( ( ) => {
32
+ response . on ( 'error' , mustNotCall ( ) ) ;
33
33
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' ) ;
43
37
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
+ } ) ) ;
46
63
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
+ } ) ) ;
49
71
} ) ) ;
50
72
} ) ) ;
51
- } ) ) ;
73
+ }
0 commit comments