@@ -2813,16 +2813,28 @@ describe('WebSocket', () => {
2813
2813
} ) ;
2814
2814
2815
2815
it ( 'can be called from an error listener while connecting' , ( done ) => {
2816
- const ws = new WebSocket ( 'ws://localhost:1337' ) ;
2816
+ const server = net . createServer ( ) ;
2817
2817
2818
- ws . on ( 'open' , ( ) => done ( new Error ( "Unexpected 'open' event" ) ) ) ;
2819
- ws . on ( 'error' , ( err ) => {
2820
- assert . ok ( err instanceof Error ) ;
2821
- assert . strictEqual ( err . code , 'ECONNREFUSED' ) ;
2822
- ws . close ( ) ;
2823
- ws . on ( 'close' , ( ) => done ( ) ) ;
2818
+ server . on ( 'connection' , ( socket ) => {
2819
+ socket . on ( 'end' , socket . end ) ;
2820
+ socket . resume ( ) ;
2821
+ socket . write ( Buffer . from ( 'foo\r\n' ) ) ;
2824
2822
} ) ;
2825
- } ) . timeout ( 4000 ) ;
2823
+
2824
+ server . listen ( 0 , ( ) => {
2825
+ const ws = new WebSocket ( `ws://localhost:${ server . address ( ) . port } ` ) ;
2826
+
2827
+ ws . on ( 'open' , ( ) => done ( new Error ( "Unexpected 'open' event" ) ) ) ;
2828
+ ws . on ( 'error' , ( err ) => {
2829
+ assert . ok ( err instanceof Error ) ;
2830
+ assert . strictEqual ( err . code , 'HPE_INVALID_CONSTANT' ) ;
2831
+ ws . close ( ) ;
2832
+ ws . on ( 'close' , ( ) => {
2833
+ server . close ( done ) ;
2834
+ } ) ;
2835
+ } ) ;
2836
+ } ) ;
2837
+ } ) ;
2826
2838
2827
2839
it ( "can be called from a listener of the 'redirect' event" , ( done ) => {
2828
2840
const server = http . createServer ( ) ;
@@ -3087,16 +3099,28 @@ describe('WebSocket', () => {
3087
3099
} ) ;
3088
3100
3089
3101
it ( 'can be called from an error listener while connecting' , ( done ) => {
3090
- const ws = new WebSocket ( 'ws://localhost:1337' ) ;
3102
+ const server = net . createServer ( ) ;
3091
3103
3092
- ws . on ( 'open' , ( ) => done ( new Error ( "Unexpected 'open' event" ) ) ) ;
3093
- ws . on ( 'error' , ( err ) => {
3094
- assert . ok ( err instanceof Error ) ;
3095
- assert . strictEqual ( err . code , 'ECONNREFUSED' ) ;
3096
- ws . terminate ( ) ;
3097
- ws . on ( 'close' , ( ) => done ( ) ) ;
3104
+ server . on ( 'connection' , ( socket ) => {
3105
+ socket . on ( 'end' , socket . end ) ;
3106
+ socket . resume ( ) ;
3107
+ socket . write ( Buffer . from ( 'foo\r\n' ) ) ;
3098
3108
} ) ;
3099
- } ) . timeout ( 4000 ) ;
3109
+
3110
+ server . listen ( 0 , function ( ) {
3111
+ const ws = new WebSocket ( `ws://localhost:${ server . address ( ) . port } ` ) ;
3112
+
3113
+ ws . on ( 'open' , ( ) => done ( new Error ( "Unexpected 'open' event" ) ) ) ;
3114
+ ws . on ( 'error' , ( err ) => {
3115
+ assert . ok ( err instanceof Error ) ;
3116
+ assert . strictEqual ( err . code , 'HPE_INVALID_CONSTANT' ) ;
3117
+ ws . terminate ( ) ;
3118
+ ws . on ( 'close' , ( ) => {
3119
+ server . close ( done ) ;
3120
+ } ) ;
3121
+ } ) ;
3122
+ } ) ;
3123
+ } ) ;
3100
3124
3101
3125
it ( "can be called from a listener of the 'redirect' event" , ( done ) => {
3102
3126
const server = http . createServer ( ) ;
0 commit comments