@@ -37,6 +37,66 @@ describe("Socket", function () {
3737 } ) ;
3838 } ) ;
3939
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+
40100 describe ( "fake timers" , function ( ) {
41101 before ( function ( ) {
42102 if ( isIE11 || isAndroid || isEdge || isIPad ) {
0 commit comments