@@ -37,6 +37,66 @@ describe("Socket", function () {
37
37
} ) ;
38
38
} ) ;
39
39
40
+ it ( "should connect with the 2nd transport if tryAllTransports is `true` (polling)" , ( done ) => {
41
+ const socket = new Socket ( {
42
+ transports : [ "websocket" , "polling" ] ,
43
+ transportOptions : {
44
+ websocket : {
45
+ query : {
46
+ deny : 1 ,
47
+ } ,
48
+ } ,
49
+ } ,
50
+ tryAllTransports : true ,
51
+ } ) ;
52
+
53
+ socket . on ( "open" , ( ) => {
54
+ expect ( socket . transport . name ) . to . eql ( "polling" ) ;
55
+ socket . close ( ) ;
56
+ done ( ) ;
57
+ } ) ;
58
+ } ) ;
59
+
60
+ it ( "should connect with the 2nd transport if tryAllTransports is `true` (websocket)" , ( done ) => {
61
+ const socket = new Socket ( {
62
+ transports : [ "polling" , "websocket" ] ,
63
+ transportOptions : {
64
+ polling : {
65
+ query : {
66
+ deny : 1 ,
67
+ } ,
68
+ } ,
69
+ } ,
70
+ tryAllTransports : true ,
71
+ } ) ;
72
+
73
+ socket . on ( "open" , ( ) => {
74
+ expect ( socket . transport . name ) . to . eql ( "websocket" ) ;
75
+ socket . close ( ) ;
76
+ done ( ) ;
77
+ } ) ;
78
+ } ) ;
79
+
80
+ it ( "should not connect with the 2nd transport if tryAllTransports is `false`" , ( done ) => {
81
+ const socket = new Socket ( {
82
+ transports : [ "polling" , "websocket" ] ,
83
+ transportOptions : {
84
+ polling : {
85
+ query : {
86
+ deny : 1 ,
87
+ } ,
88
+ } ,
89
+ } ,
90
+ } ) ;
91
+
92
+ socket . on ( "error" , ( err ) => {
93
+ expect ( err . message ) . to . eql (
94
+ useFetch ? "fetch read error" : "xhr poll error"
95
+ ) ;
96
+ done ( ) ;
97
+ } ) ;
98
+ } ) ;
99
+
40
100
describe ( "fake timers" , function ( ) {
41
101
before ( function ( ) {
42
102
if ( isIE11 || isAndroid || isEdge || isIPad ) {
0 commit comments