pingerchips-js 1.0.1-a → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +53 -655
  2. package/index.js +169 -0
  3. package/package.json +20 -59
  4. package/.editorconfig +0 -14
  5. package/.github/ISSUE_TEMPLATE.md +0 -11
  6. package/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  7. package/.github/dependabot.yml +0 -14
  8. package/.github/stale.yml +0 -26
  9. package/.github/workflows/release.yml +0 -112
  10. package/.github/workflows/release_pr.yml +0 -43
  11. package/.github/workflows/run-tests.yml +0 -62
  12. package/.gitmodules +0 -3
  13. package/.prettierrc +0 -2
  14. package/CHANGELOG.md +0 -924
  15. package/LICENCE +0 -19
  16. package/Makefile +0 -78
  17. package/bower.json +0 -28
  18. package/dist/node/pingerchips.js +0 -10870
  19. package/dist/node/pingerchips.js.map +0 -1
  20. package/dist/node/pusher.js +0 -10870
  21. package/dist/node/pusher.js.map +0 -1
  22. package/dist/react-native/pingerchips.js +0 -9
  23. package/dist/react-native/pingerchips.js.map +0 -1
  24. package/dist/react-native/pusher.js +0 -9
  25. package/dist/react-native/pusher.js.map +0 -1
  26. package/dist/web/json2.js +0 -486
  27. package/dist/web/json2.min.js +0 -1
  28. package/dist/web/pingerchips-with-encryption.js +0 -7009
  29. package/dist/web/pingerchips-with-encryption.js.map +0 -1
  30. package/dist/web/pingerchips-with-encryption.min.js +0 -9
  31. package/dist/web/pingerchips-with-encryption.min.js.map +0 -1
  32. package/dist/web/pingerchips.js +0 -4587
  33. package/dist/web/pingerchips.js.map +0 -1
  34. package/dist/web/pingerchips.min.js +0 -9
  35. package/dist/web/pingerchips.min.js.map +0 -1
  36. package/dist/web/pusher-with-encryption.js +0 -7009
  37. package/dist/web/pusher-with-encryption.js.map +0 -1
  38. package/dist/web/pusher-with-encryption.min.js +0 -9
  39. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  40. package/dist/web/pusher.js +0 -4587
  41. package/dist/web/pusher.js.map +0 -1
  42. package/dist/web/pusher.min.js +0 -9
  43. package/dist/web/pusher.min.js.map +0 -1
  44. package/dist/web/sockjs.js +0 -2435
  45. package/dist/web/sockjs.min.js +0 -89
  46. package/dist/worker/pingerchips-with-encryption.worker.js +0 -6622
  47. package/dist/worker/pingerchips-with-encryption.worker.js.map +0 -1
  48. package/dist/worker/pingerchips-with-encryption.worker.min.js +0 -9
  49. package/dist/worker/pingerchips-with-encryption.worker.min.js.map +0 -1
  50. package/dist/worker/pingerchips.worker.js +0 -4200
  51. package/dist/worker/pingerchips.worker.js.map +0 -1
  52. package/dist/worker/pingerchips.worker.min.js +0 -9
  53. package/dist/worker/pingerchips.worker.min.js.map +0 -1
  54. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  55. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  56. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  57. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  58. package/dist/worker/pusher.worker.js +0 -4200
  59. package/dist/worker/pusher.worker.js.map +0 -1
  60. package/dist/worker/pusher.worker.min.js +0 -9
  61. package/dist/worker/pusher.worker.min.js.map +0 -1
  62. package/index.d.ts +0 -29
  63. package/integration_tests_server/index.js +0 -176
  64. package/integration_tests_server/package-lock.json +0 -1177
  65. package/integration_tests_server/package.json +0 -15
  66. package/node.js +0 -1
  67. package/pusher-with-encryption/index.js +0 -1
  68. package/react-native/index.d.ts +0 -29
  69. package/react-native/index.js +0 -1
  70. package/spec/config/jasmine/helpers/reporter.js +0 -14
  71. package/spec/config/jasmine/integration.json +0 -13
  72. package/spec/config/jasmine/unit.json +0 -13
  73. package/spec/config/jasmine/webpack.integration.js +0 -33
  74. package/spec/config/jasmine/webpack.unit.js +0 -30
  75. package/spec/config/karma/available_browsers.json +0 -4957
  76. package/spec/config/karma/config.ci.js +0 -25
  77. package/spec/config/karma/config.common.js +0 -50
  78. package/spec/config/karma/config.integration.js +0 -26
  79. package/spec/config/karma/config.unit.js +0 -10
  80. package/spec/config/karma/config.worker.js +0 -34
  81. package/spec/config/karma/integration.js +0 -24
  82. package/spec/config/karma/unit.js +0 -20
  83. package/spec/javascripts/helpers/mocks.js +0 -274
  84. package/spec/javascripts/helpers/node/integration.js +0 -33
  85. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  86. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  87. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -11
  88. package/spec/javascripts/helpers/timers/promises.js +0 -9
  89. package/spec/javascripts/helpers/waitsFor.js +0 -37
  90. package/spec/javascripts/helpers/web/integration.js +0 -44
  91. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  92. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  93. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  94. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  95. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  96. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  97. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  98. package/spec/javascripts/integration/index.node.js +0 -12
  99. package/spec/javascripts/integration/index.web.js +0 -63
  100. package/spec/javascripts/integration/index.worker.js +0 -13
  101. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  102. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  103. package/spec/javascripts/polyfills/index.js +0 -105
  104. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  105. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  106. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  107. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  108. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  109. package/spec/javascripts/unit/core/config_spec.js +0 -507
  110. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  111. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  112. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  113. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  114. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  115. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  116. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  117. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  118. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  119. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  120. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  121. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  122. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  123. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  124. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  125. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  126. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  127. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  128. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  129. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  130. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  131. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  132. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  133. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  134. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  135. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  136. package/spec/javascripts/unit/core/user_spec.js +0 -303
  137. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  138. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  139. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  140. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  141. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  142. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  143. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  144. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  145. package/spec/javascripts/unit/index.node.js +0 -11
  146. package/spec/javascripts/unit/index.web.js +0 -12
  147. package/spec/javascripts/unit/index.worker.js +0 -11
  148. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  149. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  150. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  151. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  152. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  153. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  154. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  155. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  156. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  157. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  158. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  159. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  160. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  161. package/src/core/auth/auth_transports.ts +0 -18
  162. package/src/core/auth/channel_authorizer.ts +0 -64
  163. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  164. package/src/core/auth/options.ts +0 -78
  165. package/src/core/auth/user_authenticator.ts +0 -62
  166. package/src/core/base64.ts +0 -49
  167. package/src/core/channels/channel.ts +0 -163
  168. package/src/core/channels/channel_table.ts +0 -7
  169. package/src/core/channels/channels.ts +0 -85
  170. package/src/core/channels/encrypted_channel.ts +0 -149
  171. package/src/core/channels/members.ts +0 -80
  172. package/src/core/channels/metadata.ts +0 -5
  173. package/src/core/channels/presence_channel.ts +0 -113
  174. package/src/core/channels/private_channel.ts +0 -25
  175. package/src/core/config.ts +0 -189
  176. package/src/core/connection/callbacks.ts +0 -21
  177. package/src/core/connection/connection.ts +0 -160
  178. package/src/core/connection/connection_manager.ts +0 -371
  179. package/src/core/connection/connection_manager_options.ts +0 -14
  180. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  181. package/src/core/connection/handshake/index.ts +0 -90
  182. package/src/core/connection/protocol/action.ts +0 -8
  183. package/src/core/connection/protocol/message-types.ts +0 -8
  184. package/src/core/connection/protocol/protocol.ts +0 -154
  185. package/src/core/defaults.ts +0 -66
  186. package/src/core/errors.ts +0 -69
  187. package/src/core/events/callback.ts +0 -6
  188. package/src/core/events/callback_registry.ts +0 -75
  189. package/src/core/events/callback_table.ts +0 -7
  190. package/src/core/events/dispatcher.ts +0 -84
  191. package/src/core/http/ajax.ts +0 -24
  192. package/src/core/http/http_factory.ts +0 -16
  193. package/src/core/http/http_polling_socket.ts +0 -24
  194. package/src/core/http/http_request.ts +0 -81
  195. package/src/core/http/http_socket.ts +0 -220
  196. package/src/core/http/http_streaming_socket.ts +0 -19
  197. package/src/core/http/request_hooks.ts +0 -9
  198. package/src/core/http/socket_hooks.ts +0 -11
  199. package/src/core/http/state.ts +0 -7
  200. package/src/core/http/url_location.ts +0 -6
  201. package/src/core/logger.ts +0 -53
  202. package/src/core/options.ts +0 -59
  203. package/src/core/pingerchips-licence.js +0 -7
  204. package/src/core/pingerchips-with-encryption.js +0 -1
  205. package/src/core/pingerchips-with-encryption.ts +0 -14
  206. package/src/core/pingerchips.js +0 -2
  207. package/src/core/pingerchips.ts +0 -249
  208. package/src/core/reachability.ts +0 -7
  209. package/src/core/socket.ts +0 -14
  210. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  211. package/src/core/strategies/delayed_strategy.ts +0 -48
  212. package/src/core/strategies/first_connected_strategy.ts +0 -28
  213. package/src/core/strategies/if_strategy.ts +0 -34
  214. package/src/core/strategies/sequential_strategy.ts +0 -129
  215. package/src/core/strategies/strategy.ts +0 -8
  216. package/src/core/strategies/strategy_builder.ts +0 -67
  217. package/src/core/strategies/strategy_options.ts +0 -18
  218. package/src/core/strategies/strategy_runner.ts +0 -6
  219. package/src/core/strategies/transport_strategy.ts +0 -144
  220. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  221. package/src/core/timeline/level.ts +0 -7
  222. package/src/core/timeline/timeline.ts +0 -90
  223. package/src/core/timeline/timeline_sender.ts +0 -33
  224. package/src/core/timeline/timeline_transport.ts +0 -11
  225. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  226. package/src/core/transports/ping_delay_options.ts +0 -7
  227. package/src/core/transports/transport.ts +0 -54
  228. package/src/core/transports/transport_connection.ts +0 -241
  229. package/src/core/transports/transport_connection_options.ts +0 -8
  230. package/src/core/transports/transport_hooks.ts +0 -16
  231. package/src/core/transports/transport_manager.ts +0 -52
  232. package/src/core/transports/transports_table.ts +0 -12
  233. package/src/core/transports/url_scheme.ts +0 -13
  234. package/src/core/transports/url_schemes.ts +0 -47
  235. package/src/core/user.ts +0 -186
  236. package/src/core/util.ts +0 -34
  237. package/src/core/utils/collections.ts +0 -353
  238. package/src/core/utils/factory.ts +0 -75
  239. package/src/core/utils/flat_promise.ts +0 -10
  240. package/src/core/utils/timers/abstract_timer.ts +0 -39
  241. package/src/core/utils/timers/index.ts +0 -39
  242. package/src/core/utils/timers/scheduling.ts +0 -11
  243. package/src/core/utils/timers/timed_callback.ts +0 -5
  244. package/src/core/utils/url_store.ts +0 -48
  245. package/src/core/watchlist.ts +0 -31
  246. package/src/d.ts/constants/index.d.ts +0 -5
  247. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  248. package/src/d.ts/global/global.d.ts +0 -1
  249. package/src/d.ts/module/module.d.ts +0 -12
  250. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  251. package/src/d.ts/window/events.d.ts +0 -4
  252. package/src/d.ts/window/sockjs.d.ts +0 -3
  253. package/src/d.ts/window/websocket.d.ts +0 -4
  254. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  255. package/src/runtimes/interface.ts +0 -59
  256. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  257. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  258. package/src/runtimes/isomorphic/http/http.ts +0 -32
  259. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  260. package/src/runtimes/isomorphic/runtime.ts +0 -62
  261. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  262. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  263. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  264. package/src/runtimes/node/net_info.ts +0 -10
  265. package/src/runtimes/node/runtime.ts +0 -68
  266. package/src/runtimes/react-native/net_info.ts +0 -42
  267. package/src/runtimes/react-native/runtime.ts +0 -65
  268. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  269. package/src/runtimes/web/browser.ts +0 -24
  270. package/src/runtimes/web/default_strategy.ts +0 -201
  271. package/src/runtimes/web/dom/dependencies.ts +0 -16
  272. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  273. package/src/runtimes/web/dom/json2.js +0 -486
  274. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  275. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  276. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  277. package/src/runtimes/web/dom/script_request.ts +0 -85
  278. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  279. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  280. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  281. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  282. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  283. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  284. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  285. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  286. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  287. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  288. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  289. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  290. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  291. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  292. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  293. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  294. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  295. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  296. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  297. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  298. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  299. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  300. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  301. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  302. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  303. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  304. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  305. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  306. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  307. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  308. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  309. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  310. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  311. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  312. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  313. package/src/runtimes/web/dom/sockjs/version +0 -1
  314. package/src/runtimes/web/http/http.ts +0 -8
  315. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  316. package/src/runtimes/web/net_info.ts +0 -50
  317. package/src/runtimes/web/runtime.ts +0 -174
  318. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  319. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  320. package/src/runtimes/web/transports/transports.ts +0 -65
  321. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  322. package/src/runtimes/worker/net_info.ts +0 -10
  323. package/src/runtimes/worker/runtime.ts +0 -75
  324. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  325. package/tsconfig.json +0 -26
  326. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  327. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  328. package/types/src/core/auth/auth_transports.d.ts +0 -9
  329. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  330. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  331. package/types/src/core/auth/options.d.ts +0 -48
  332. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  333. package/types/src/core/base64.d.ts +0 -1
  334. package/types/src/core/channels/channel.d.ts +0 -23
  335. package/types/src/core/channels/channel_table.d.ts +0 -5
  336. package/types/src/core/channels/channels.d.ts +0 -12
  337. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  338. package/types/src/core/channels/members.d.ts +0 -14
  339. package/types/src/core/channels/metadata.d.ts +0 -4
  340. package/types/src/core/channels/presence_channel.d.ts +0 -13
  341. package/types/src/core/channels/private_channel.d.ts +0 -5
  342. package/types/src/core/config.d.ts +0 -31
  343. package/types/src/core/connection/callbacks.d.ts +0 -18
  344. package/types/src/core/connection/connection.d.ts +0 -16
  345. package/types/src/core/connection/connection_manager.d.ts +0 -50
  346. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  347. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  348. package/types/src/core/connection/handshake/index.d.ts +0 -12
  349. package/types/src/core/connection/protocol/action.d.ts +0 -7
  350. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  351. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  352. package/types/src/core/defaults.d.ts +0 -26
  353. package/types/src/core/errors.d.ts +0 -28
  354. package/types/src/core/events/callback.d.ts +0 -5
  355. package/types/src/core/events/callback_registry.d.ts +0 -11
  356. package/types/src/core/events/callback_table.d.ts +0 -5
  357. package/types/src/core/events/dispatcher.d.ts +0 -14
  358. package/types/src/core/http/ajax.d.ts +0 -16
  359. package/types/src/core/http/http_factory.d.ts +0 -13
  360. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  361. package/types/src/core/http/http_request.d.ts +0 -17
  362. package/types/src/core/http/http_socket.d.ts +0 -32
  363. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  364. package/types/src/core/http/request_hooks.d.ts +0 -6
  365. package/types/src/core/http/socket_hooks.d.ts +0 -8
  366. package/types/src/core/http/state.d.ts +0 -6
  367. package/types/src/core/http/url_location.d.ts +0 -5
  368. package/types/src/core/logger.d.ts +0 -11
  369. package/types/src/core/options.d.ts +0 -34
  370. package/types/src/core/pingerchips-with-encryption.d.ts +0 -5
  371. package/types/src/core/pingerchips.d.ts +0 -49
  372. package/types/src/core/reachability.d.ts +0 -5
  373. package/types/src/core/socket.d.ts +0 -12
  374. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  375. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  376. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  377. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  378. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  379. package/types/src/core/strategies/strategy.d.ts +0 -6
  380. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  381. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  382. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  383. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  384. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  385. package/types/src/core/timeline/level.d.ts +0 -6
  386. package/types/src/core/timeline/timeline.d.ts +0 -25
  387. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  388. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  389. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  390. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  391. package/types/src/core/transports/transport.d.ts +0 -8
  392. package/types/src/core/transports/transport_connection.d.ts +0 -35
  393. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  394. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  395. package/types/src/core/transports/transport_manager.d.ts +0 -14
  396. package/types/src/core/transports/transports_table.d.ts +0 -10
  397. package/types/src/core/transports/url_scheme.d.ts +0 -11
  398. package/types/src/core/transports/url_schemes.d.ts +0 -4
  399. package/types/src/core/user.d.ts +0 -21
  400. package/types/src/core/util.d.ts +0 -8
  401. package/types/src/core/utils/collections.d.ts +0 -18
  402. package/types/src/core/utils/factory.d.ts +0 -29
  403. package/types/src/core/utils/flat_promise.d.ts +0 -6
  404. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  405. package/types/src/core/utils/timers/index.d.ts +0 -9
  406. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  407. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  408. package/types/src/core/utils/url_store.d.ts +0 -4
  409. package/types/src/core/watchlist.d.ts +0 -8
  410. package/types/src/runtimes/interface.d.ts +0 -43
  411. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  412. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  413. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  414. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  415. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  416. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  417. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  419. package/types/src/runtimes/node/net_info.d.ts +0 -6
  420. package/types/src/runtimes/node/runtime.d.ts +0 -3
  421. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  422. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  423. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  424. package/types/src/runtimes/web/browser.d.ts +0 -19
  425. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  426. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  427. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  428. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  429. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  430. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  431. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  432. package/types/src/runtimes/web/http/http.d.ts +0 -2
  433. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  434. package/types/src/runtimes/web/net_info.d.ts +0 -7
  435. package/types/src/runtimes/web/runtime.d.ts +0 -3
  436. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  437. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  438. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  439. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  440. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  441. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  442. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  443. package/webpack/config.node.js +0 -26
  444. package/webpack/config.react-native.js +0 -35
  445. package/webpack/config.shared.js +0 -50
  446. package/webpack/config.web.js +0 -36
  447. package/webpack/config.worker.js +0 -42
  448. package/webpack/dev.server.js +0 -17
  449. package/webpack/hosting_config.js +0 -6
  450. package/with-encryption/index.d.ts +0 -29
  451. package/with-encryption/index.js +0 -4
  452. package/worker/index.d.ts +0 -29
  453. package/worker/index.js +0 -1
  454. package/worker/with-encryption/index.d.ts +0 -29
  455. package/worker/with-encryption/index.js +0 -1
@@ -1,585 +0,0 @@
1
- const TestEnv = require('testenv');
2
- const Mocks = require('mocks');
3
- const TransportConnection = require('core/transports/transport_connection').default;
4
- const Collections = require('core/utils/collections');
5
- const OneOffTimer = require('core/utils/timers').OneOffTimer;
6
- const Dependencies = require('dom/dependencies').Dependencies;
7
- const waitsFor = require('../../../helpers/waitsFor');
8
-
9
- describe("TransportConnection", function() {
10
- function getTransport(hooks, key, options) {
11
- options = Collections.extend({
12
- useTLS: false,
13
- hostNonTLS: "example.com:12345",
14
- hostTLS: "example.com:54321"
15
- }, options);
16
-
17
- return new TransportConnection(hooks, "test", 7, key, options);
18
- }
19
-
20
- var urls;
21
- var hooks;
22
- var socket;
23
- var timeline;
24
- var transport;
25
- var _DependenciesBackup;
26
-
27
- beforeEach(function() {
28
- if (TestEnv === "web") {
29
- _DependenciesBackup = {
30
- load: Dependencies.load,
31
- getRoot: Dependencies.getRoot,
32
- getPath: Dependencies.getPath
33
- }
34
- Dependencies.load = jasmine.createSpy("load")
35
- Dependencies.getRoot = jasmine.createSpy("getRoot")
36
- Dependencies.getPath = jasmine.createSpy("getPath")
37
- }
38
-
39
- timeline = Mocks.getTimeline();
40
- timeline.generateUniqueID.and.returnValue(667);
41
-
42
- urls = {
43
- getInitial: function(key, params) {
44
- return (params.useTLS ? "wss" : "ws") + "://test/" + key;
45
- }
46
- };
47
- socket = Mocks.getWebSocket();
48
- hooks = {
49
- urls: urls,
50
- supportsPing: false,
51
- isInitialized: jasmine.createSpy().and.returnValue(true),
52
- getSocket: jasmine.createSpy().and.returnValue(socket)
53
- };
54
-
55
- transport = getTransport(hooks, "foo", {
56
- timeline: timeline
57
- });
58
- });
59
-
60
- afterEach(function(){
61
- if (TestEnv === "web") {
62
- Dependencies.load = _DependenciesBackup.load
63
- Dependencies.getRoot = _DependenciesBackup.getRoot
64
- Dependencies.getPath = _DependenciesBackup.getPath
65
- }
66
- });
67
-
68
- describe("#activityTimeout", function() {
69
- it("should be set to the value passed via options", function() {
70
- var transport = getTransport(hooks, "xxx", {
71
- timeline: timeline,
72
- activityTimeout: 654321
73
- });
74
- expect(transport.activityTimeout).toEqual(654321);
75
- });
76
-
77
- it("should be set to undefined if not passed via options", function() {
78
- var transport = getTransport(hooks, "xxx", {
79
- timeline: timeline
80
- });
81
- expect(transport.activityTimeout).toBe(undefined);
82
- });
83
- });
84
-
85
- describe("#initialize", function() {
86
- it("should log transport name with info level", function() {
87
- transport.initialize();
88
- expect(timeline.info).toHaveBeenCalledWith({
89
- cid: 667,
90
- transport: "test"
91
- });
92
- });
93
-
94
- it("should log transport name with an 's' suffix when using TLS", function() {
95
- var transport = getTransport(hooks, "xxx", {
96
- timeline: timeline,
97
- useTLS: true
98
- });
99
- transport.initialize();
100
-
101
- expect(timeline.info).toHaveBeenCalledWith({
102
- cid: 667,
103
- transport: "tests"
104
- });
105
- });
106
-
107
- describe("if the transport is initialized", function() {
108
- var hooks;
109
- var transport;
110
-
111
- beforeEach(function() {
112
- hooks = {
113
- supportsPing: false,
114
- isInitialized: jasmine.createSpy().and.returnValue(true)
115
- };
116
- transport = getTransport(hooks, "foo", {
117
- timeline: timeline
118
- });
119
- });
120
-
121
- it("should transition to 'initialized' immediately", function() {
122
- var onInitialized = jasmine.createSpy("onInitialized");
123
- transport.bind("initialized", onInitialized);
124
-
125
- transport.initialize();
126
- expect(onInitialized).toHaveBeenCalled();
127
- expect(transport.state).toEqual("initialized");
128
- });
129
-
130
- });
131
-
132
- describe("if the transport is not initialized", function() {
133
- var hooks, transport;
134
-
135
- beforeEach(function() {
136
- hooks = {
137
- file: "test",
138
- isInitialized: jasmine.createSpy().and.returnValue(false),
139
- getSocket: jasmine.createSpy().and.returnValue(socket)
140
- };
141
- transport = getTransport(hooks, "foo", {
142
- timeline: timeline
143
- });
144
- });
145
-
146
- if (TestEnv === "web") {
147
- it("should transition to 'initializing' immediately", function() {
148
- var onInitializing = jasmine.createSpy("onInitializing");
149
- transport.bind("initializing", onInitializing);
150
-
151
- transport.initialize();
152
- expect(onInitializing).toHaveBeenCalled();
153
- expect(transport.state).toEqual("initializing");
154
- });
155
-
156
- it("should load the resource file (useTLS=false)", function() {
157
- transport.initialize();
158
- expect(Dependencies.load.calls.count()).toEqual(1);
159
- expect(Dependencies.load).toHaveBeenCalledWith(
160
- "test", { useTLS: false }, jasmine.any(Function)
161
- );
162
- });
163
-
164
- it("should load the resource file (useTLS=true)", function() {
165
- var transport = getTransport(hooks, "foo", {
166
- useTLS: true,
167
- timeline: timeline
168
- });
169
-
170
- transport.initialize();
171
- expect(Dependencies.load.calls.count()).toEqual(1);
172
- expect(Dependencies.load).toHaveBeenCalledWith(
173
- "test", { useTLS: true }, jasmine.any(Function)
174
- );
175
- });
176
-
177
- describe("after loading the resource successfully", function() {
178
- var onInitialized;
179
- var loadCallback;
180
-
181
- beforeEach(function() {
182
- onInitialized = jasmine.createSpy("onInitialized");
183
- loadCallback = jasmine.createSpy("loadCallback");
184
- transport.bind("initialized", onInitialized);
185
-
186
- transport.initialize();
187
- // after loading the resource, isInitialized will return true
188
- hooks.isInitialized.and.returnValue(true);
189
- // fire the callback for the resource file load
190
- Dependencies.load.calls.first().args[2](null, loadCallback);
191
- });
192
-
193
- it("should transition to 'initialized'", function() {
194
- expect(onInitialized).toHaveBeenCalled();
195
- expect(transport.state).toEqual("initialized");
196
- });
197
-
198
- it("should call the load callback with true", function() {
199
- expect(loadCallback).toHaveBeenCalledWith(true);
200
- });
201
- });
202
-
203
- describe("after failing to load the resource", function() {
204
- var onClosed;
205
- var loadCallback;
206
-
207
- beforeEach(function() {
208
- onClosed = jasmine.createSpy("onClosed");
209
- loadCallback = jasmine.createSpy("loadCallback");
210
- transport.bind("closed", onClosed);
211
-
212
- transport.initialize();
213
- // after loading the resource, isInitialized will return true
214
- hooks.isInitialized.and.returnValue(false);
215
- // fire the callback for the resource file load
216
- Dependencies.load.calls.first().args[2](null, loadCallback);
217
- });
218
-
219
- it("should transition to 'closed'", function() {
220
- expect(onClosed).toHaveBeenCalled();
221
- expect(transport.state).toEqual("closed");
222
- });
223
-
224
- it("should call the load callback with false", function() {
225
- expect(loadCallback).toHaveBeenCalledWith(false);
226
- });
227
- });
228
- } else {
229
- // Needed so that the describe block isn't empty
230
- it("dummy test", function() {
231
- expect(true).toBe(true);
232
- })
233
- }
234
- });
235
- });
236
-
237
- describe("#connect", function() {
238
- it("should not create a socket if not initialized", function() {
239
- transport.connect();
240
- expect(hooks.getSocket).not.toHaveBeenCalled();
241
- });
242
-
243
- it("should create a non TLS socket by default", function() {
244
- transport.initialize();
245
- transport.connect();
246
- expect(hooks.getSocket).toHaveBeenCalledWith(
247
- "ws://test/foo", transport.options
248
- );
249
- });
250
-
251
- it("should create a TLS socket if specified", function() {
252
- var transport = getTransport(hooks, "bar", {
253
- timeline: timeline,
254
- useTLS: true
255
- });
256
-
257
- transport.initialize();
258
- transport.connect();
259
- expect(hooks.getSocket).toHaveBeenCalledWith(
260
- "wss://test/bar", transport.options
261
- );
262
- });
263
-
264
- it("should not transition to 'connecting' if not initialized", function() {
265
- var onConnecting = jasmine.createSpy("onConnecting");
266
- transport.bind("connecting", onConnecting);
267
-
268
- transport.connect();
269
- expect(transport.state).toEqual("new");
270
- expect(onConnecting).not.toHaveBeenCalled();
271
- });
272
-
273
- it("should transition to 'connecting'", function() {
274
- var onConnecting = jasmine.createSpy("onConnecting");
275
- transport.bind("connecting", onConnecting);
276
-
277
- transport.initialize();
278
- transport.connect();
279
- expect(transport.state).toEqual("connecting");
280
- expect(onConnecting.calls.count()).toEqual(1);
281
- });
282
-
283
- it("should transition to 'open' after connection is established", function() {
284
- var onOpen = jasmine.createSpy("onOpen");
285
- transport.bind("open", onOpen);
286
-
287
- transport.initialize();
288
- transport.connect();
289
- socket.onopen();
290
-
291
- expect(transport.state).toEqual("open");
292
- expect(onOpen.calls.count()).toEqual(1);
293
- });
294
-
295
- it("should emit the error raised by getSocket", async function() {
296
- hooks.getSocket.and.throwError("test exception");
297
-
298
- var onError = jasmine.createSpy("onError");
299
- transport.bind("error", onError);
300
-
301
- transport.initialize();
302
- transport.connect();
303
-
304
- await waitsFor(function() {
305
- return onError.calls.count();
306
- }, "error to be emitted", 50);
307
-
308
- expect(onError.calls.count()).toBeGreaterThan(0);
309
- expect(onError.calls.count()).toEqual(1);
310
- expect(onError).toHaveBeenCalledWith({
311
- type: "WebSocketError",
312
- error: new Error ("test exception")
313
- });
314
- });
315
-
316
- it("should transition to 'closed' when getSocket raises an error", async function() {
317
- hooks.getSocket.and.throwError("test exception");
318
-
319
- var onClosed = jasmine.createSpy("onClosed");
320
- transport.bind("closed", onClosed);
321
-
322
- transport.initialize();
323
- transport.connect();
324
-
325
- await waitsFor(function () {
326
- return onClosed.calls.count();
327
- }, "transitioning to 'closed'", 50);
328
-
329
- expect(onClosed.calls.count()).toBeGreaterThan(0);
330
- expect(onClosed.calls.count()).toEqual(1);
331
- expect(transport.state).toEqual("closed");
332
- });
333
-
334
- it("should be idempotent", function() {
335
- transport.initialize();
336
-
337
- transport.connect();
338
- expect(hooks.getSocket.calls.count()).toEqual(1);
339
- expect(transport.state).toEqual("connecting");
340
-
341
- var onConnecting = jasmine.createSpy("onConnecting");
342
- transport.bind("connecting", onConnecting);
343
-
344
- transport.connect();
345
- expect(transport.state).toEqual("connecting");
346
- expect(hooks.getSocket.calls.count()).toEqual(1);
347
- expect(onConnecting).not.toHaveBeenCalled();
348
- });
349
- });
350
-
351
- describe("#send", function() {
352
- beforeEach(function() {
353
- transport.initialize();
354
- transport.connect();
355
- socket.onopen();
356
- });
357
-
358
- it("should defer sending data to the socket", async function() {
359
- socket.send.calls.reset();
360
-
361
- expect(socket.send).not.toHaveBeenCalled();
362
-
363
- let sendCall = transport.send('foobar');
364
-
365
- await waitsFor(function () {
366
- return socket.send.calls.count();
367
- }, "socket.send to be called", 50);
368
-
369
- expect(sendCall).toBe(true);
370
- expect(socket.send.calls.count()).toEqual(1);
371
- expect(socket.send).toHaveBeenCalledWith("foobar");
372
- });
373
-
374
- it("should not crash when socket is closed before next tick (will log to console only)", async function() {
375
- transport.send("foobar");
376
- transport.close();
377
- socket.onclose({ wasClean: true });
378
- var timer = new OneOffTimer(100, function() {});
379
-
380
- await waitsFor(function () {
381
- return !timer.isRunning();
382
- }, "timer to run", 500);
383
- });
384
- });
385
-
386
- describe("#ping", function() {
387
- beforeEach(function() {
388
- });
389
-
390
- it("should call ping on the socket, if it supports it", function() {
391
- var hooks = {
392
- urls: urls,
393
- supportsPing: true,
394
- isInitialized: jasmine.createSpy().and.returnValue(true),
395
- getSocket: jasmine.createSpy().and.returnValue(socket)
396
- };
397
- var transport = getTransport(hooks, "foo", {
398
- timeline: timeline
399
- });
400
- socket.ping = jasmine.createSpy("ping");
401
-
402
- transport.initialize();
403
- transport.connect();
404
- socket.onopen();
405
-
406
- expect(socket.ping).not.toHaveBeenCalled();
407
- transport.ping();
408
- expect(socket.ping).toHaveBeenCalled();
409
- });
410
-
411
- it("should not fail if socket does not support ping", function() {
412
- var hooks = {
413
- urls: urls,
414
- supportsPing: false,
415
- isInitialized: jasmine.createSpy().and.returnValue(true),
416
- getSocket: jasmine.createSpy().and.returnValue(socket)
417
- };
418
- var transport = getTransport(hooks, "foo", {
419
- timeline: timeline
420
- });
421
-
422
- transport.initialize();
423
- transport.connect();
424
- socket.onopen();
425
-
426
- transport.ping();
427
- });
428
- });
429
-
430
- describe("#close", function() {
431
- it("should call close on the socket and emit a 'closed' event", function() {
432
- var onClosed = jasmine.createSpy("onClosed");
433
- transport.bind("closed", onClosed);
434
-
435
- transport.initialize();
436
- transport.connect();
437
- socket.onopen();
438
-
439
- transport.close();
440
- expect(socket.close).toHaveBeenCalled();
441
- expect(onClosed).not.toHaveBeenCalled();
442
-
443
- socket.onclose({ wasClean: true });
444
- expect(onClosed).toHaveBeenCalledWith({ wasClean: true, code: undefined, reason: undefined });
445
- });
446
-
447
- it("should not fail if not open", function() {
448
- transport.close();
449
- });
450
- });
451
-
452
- describe("after receiving a message", function() {
453
- beforeEach(function() {
454
- transport.initialize();
455
- transport.connect();
456
- socket.onopen();
457
- });
458
-
459
- it("should emit message event with received object", function() {
460
- var onMessage = jasmine.createSpy("onMessage");
461
- transport.bind("message", onMessage);
462
-
463
- socket.onmessage("ugabuga");
464
-
465
- expect(transport.state).toEqual("open");
466
- expect(onMessage).toHaveBeenCalledWith("ugabuga");
467
- });
468
- });
469
-
470
- describe("after receiving an activity event if the socket supports ping", function() {
471
- var hooks;
472
- var transport;
473
-
474
- beforeEach(function() {
475
- hooks = {
476
- urls: urls,
477
- supportsPing: true,
478
- isInitialized: jasmine.createSpy().and.returnValue(true),
479
- getSocket: jasmine.createSpy().and.returnValue(socket)
480
- };
481
- transport = getTransport(hooks, "foo", {
482
- timeline: timeline
483
- });
484
-
485
- transport.initialize();
486
- transport.connect();
487
- socket.onopen();
488
- });
489
-
490
- it("should emit an 'activity' event", function() {
491
- var onActivity = jasmine.createSpy("onActivity");
492
- transport.bind("activity", onActivity);
493
-
494
- socket.onactivity();
495
- expect(onActivity).toHaveBeenCalled();
496
- });
497
- });
498
-
499
- describe("after receiving an error", function() {
500
- beforeEach(function() {
501
- transport.initialize();
502
- transport.connect();
503
- });
504
-
505
- it("should emit errors", function() {
506
- var onError = jasmine.createSpy("onError");
507
- transport.bind("error", onError);
508
-
509
- socket.onerror({ test: "We're doomed" });
510
-
511
- // should emit the whole error, not stringify it
512
- expect(onError).toHaveBeenCalledWith({
513
- type: "WebSocketError",
514
- error: {
515
- test: "We're doomed"
516
- }
517
- });
518
- expect(onError.calls.count()).toEqual(1);
519
- });
520
-
521
- it("should emit a closed event with correct params", function() {
522
- var onClosed = jasmine.createSpy("onClosed");
523
- transport.bind("closed", onClosed);
524
-
525
- socket.onclose({
526
- code: 1234,
527
- reason: "testing",
528
- wasClean: true,
529
- foo: "bar"
530
- });
531
-
532
- expect(onClosed).toHaveBeenCalledWith({
533
- code: 1234,
534
- reason: "testing",
535
- wasClean: true
536
- });
537
- expect(onClosed.calls.count()).toEqual(1);
538
- expect(transport.state).toEqual("closed");
539
- });
540
-
541
- it("should emit a closed events without params when no details were provided", function() {
542
- var onClosed = jasmine.createSpy("onClosed");
543
- transport.bind("closed", onClosed);
544
-
545
- socket.onclose();
546
-
547
- expect(onClosed).toHaveBeenCalled();
548
- expect(onClosed.calls.count()).toEqual(1);
549
- });
550
-
551
- it("should log an error as a string to timeline", function() {
552
- socket.onerror({ toString: function() { return "error message"; }});
553
- expect(timeline.error).toHaveBeenCalledWith({
554
- cid: 667,
555
- error: "error message"
556
- });
557
- });
558
- });
559
-
560
- describe("on state change", function () {
561
- it("should log the new state to timeline", function() {
562
- transport.initialize();
563
-
564
- expect(timeline.info.calls.count()).toEqual(2);
565
- expect(timeline.info).toHaveBeenCalledWith({
566
- cid: 667,
567
- transport: "test"
568
- });
569
- expect(timeline.info).toHaveBeenCalledWith({
570
- cid: 667,
571
- state: "initialized",
572
- params: undefined,
573
- });
574
-
575
- transport.connect();
576
-
577
- expect(timeline.info.calls.count()).toEqual(3);
578
- expect(timeline.info).toHaveBeenCalledWith({
579
- cid: 667,
580
- state: "connecting",
581
- params: undefined,
582
- });
583
- });
584
- });
585
- });
@@ -1,64 +0,0 @@
1
- var Mocks = require("mocks");
2
- var Factory = require('core/utils/factory').default;
3
- var TransportManager = require('core/transports/transport_manager').default;
4
- var AssistantToTheTransportManager = require('core/transports/assistant_to_the_transport_manager').default;
5
-
6
- describe("TransportManager", function() {
7
- it("should create an assistant for a transport class", function() {
8
- var transportClass = Mocks.getTransportClass(true);
9
- var assistant = Mocks.getAssistantToTheTransportManager();
10
- var manager = new TransportManager({
11
- minPingDelay: 1111,
12
- maxPingDelay: 2222
13
- });
14
-
15
- spyOn(Factory, 'createAssistantToTheTransportManager').and.returnValue(assistant);
16
-
17
- expect(manager.getAssistant(transportClass)).toBe(assistant);
18
- expect(Factory.createAssistantToTheTransportManager).toHaveBeenCalledWith(
19
- manager, transportClass, { minPingDelay: 1111, maxPingDelay: 2222 }
20
- );
21
- });
22
-
23
- describe("with initial two lives", function() {
24
- var manager;
25
-
26
- beforeEach(function() {
27
- manager = new TransportManager({ lives: 2 });
28
- });
29
-
30
- it("should be alive in the beginning", function() {
31
- expect(manager.isAlive()).toBe(true);
32
- });
33
-
34
- it("should be alive after losing one life", function() {
35
- manager.reportDeath();
36
- expect(manager.isAlive()).toBe(true);
37
- });
38
-
39
- it("should be dead after losing both lives", function() {
40
- manager.reportDeath();
41
- manager.reportDeath();
42
- expect(manager.isAlive()).toBe(false);
43
- });
44
- });
45
-
46
- describe("with unlimited number of lives", function() {
47
- var manager;
48
-
49
- beforeEach(function() {
50
- manager = new TransportManager();
51
- });
52
-
53
- it("should be alive in the beginning", function() {
54
- expect(manager.isAlive()).toBe(true);
55
- });
56
-
57
- it("should be alive after losing lots of lives", function() {
58
- for (var i = 0; i < 666; i++) {
59
- manager.reportDeath();
60
- }
61
- expect(manager.isAlive()).toBe(true);
62
- });
63
- });
64
- });