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,104 +0,0 @@
1
- var Mocks = require("mocks");
2
- var BestConnectedEverStrategy = require('core/strategies/best_connected_ever_strategy').default;
3
-
4
- describe("BestConnectedEverStrategy", function() {
5
- beforeEach(function() {
6
- this.substrategies = Mocks.getStrategies([true, true, true]);
7
- this.strategy = new BestConnectedEverStrategy(this.substrategies);
8
-
9
- this.callback = jasmine.createSpy();
10
- });
11
-
12
- describe("on connect", function() {
13
- beforeEach(function() {
14
- this.strategy.connect(0, this.callback);
15
- });
16
-
17
- it("should call connect on all substrategies", function() {
18
- expect(this.substrategies[0].connect).toHaveBeenCalled();
19
- expect(this.substrategies[1].connect).toHaveBeenCalled();
20
- expect(this.substrategies[2].connect).toHaveBeenCalled();
21
- });
22
-
23
- describe("after establishing a connection", function() {
24
- var transport1;
25
- beforeEach(function() {
26
- transport1 = Mocks.getTransport();
27
- transport1.priority = 7;
28
- this.substrategies[0]._callback(null, { transport: transport1 });
29
- });
30
-
31
- it("should call back with first successful transport", function() {
32
- expect(this.callback).toHaveBeenCalledWith(null, {
33
- transport: transport1
34
- });
35
- expect(this.callback.calls.count()).toEqual(1);
36
- });
37
-
38
- it("should force min priorities on all substrategies", function() {
39
- expect(this.substrategies[0]._forceMinPriority).toHaveBeenCalledWith(7);
40
- expect(this.substrategies[1]._forceMinPriority).toHaveBeenCalledWith(7);
41
- expect(this.substrategies[2]._forceMinPriority).toHaveBeenCalledWith(7);
42
- });
43
-
44
- it("should call back again if another substrategy succeeds", function() {
45
- var transport2 = Mocks.getTransport();
46
- transport2.priority = 19;
47
-
48
- this.substrategies[2]._callback(null, { transport: transport2 });
49
-
50
- expect(this.callback).toHaveBeenCalledWith(null, {
51
- transport: transport2
52
- });
53
- expect(this.callback.calls.count()).toEqual(2);
54
- });
55
- });
56
-
57
- describe("on substrategy errors", function() {
58
- it("should pass an error after all substrategies failed", function() {
59
- this.substrategies[1]._callback(true);
60
- expect(this.callback).not.toHaveBeenCalled();
61
- this.substrategies[0]._callback(true);
62
- expect(this.callback).not.toHaveBeenCalled();
63
- this.substrategies[2]._callback(true);
64
- expect(this.callback).toHaveBeenCalledWith(true);
65
- });
66
-
67
- it("should not pass errors after one substrategy succeeded", function() {
68
- var transport = Mocks.getTransport();
69
- this.substrategies[0]._callback(null, { transport: transport });
70
- expect(this.callback.calls.count()).toEqual(1);
71
-
72
- this.substrategies[1]._callback(true);
73
- expect(this.callback.calls.count()).toEqual(1);
74
- this.substrategies[2]._callback(true);
75
- expect(this.callback.calls.count()).toEqual(1);
76
- });
77
- });
78
- });
79
-
80
- describe("on abort", function() {
81
- it("should abort non-failed substrategies", function() {
82
- var runner = this.strategy.connect(0, this.callback);
83
- var transport = Mocks.getTransport();
84
-
85
- this.substrategies[1]._callback(true);
86
- this.substrategies[2]._callback(null, { transport: transport });
87
- runner.abort();
88
-
89
- expect(this.substrategies[0]._abort).toHaveBeenCalled();
90
- expect(this.substrategies[1]._abort).not.toHaveBeenCalled();
91
- expect(this.substrategies[2]._abort).toHaveBeenCalled();
92
- });
93
- });
94
-
95
- describe("on forceMinPriority", function() {
96
- it("should force the priority on all substrategies", function() {
97
- var runner = this.strategy.connect(0, this.callback);
98
- runner.forceMinPriority(991);
99
- expect(this.substrategies[0]._forceMinPriority).toHaveBeenCalledWith(991);
100
- expect(this.substrategies[1]._forceMinPriority).toHaveBeenCalledWith(991);
101
- expect(this.substrategies[2]._forceMinPriority).toHaveBeenCalledWith(991);
102
- });
103
- });
104
- });
@@ -1,95 +0,0 @@
1
- var Mocks = require("mocks");
2
- var DelayedStrategy = require('core/strategies/delayed_strategy').default;
3
-
4
- describe("DelayedStrategy", function() {
5
- beforeEach(function() {
6
- this.substrategy = Mocks.getStrategy(true);
7
- this.strategy = new DelayedStrategy(this.substrategy, { delay: 0 });
8
- this.callback = jasmine.createSpy();
9
-
10
- jasmine.clock().uninstall();
11
- jasmine.clock().install();
12
- });
13
-
14
- afterEach(function() {
15
- jasmine.clock().uninstall();
16
- });
17
-
18
- describe("after calling isSupported", function() {
19
- it("should return true if substrategy is supported", function() {
20
- var substrategy = Mocks.getStrategy(true);
21
- var strategy = new DelayedStrategy(substrategy, {});
22
- expect(strategy.isSupported()).toBe(true);
23
- });
24
-
25
- it("should return false if substrategy is not supported", function() {
26
- var substrategy = Mocks.getStrategy(false);
27
- var strategy = new DelayedStrategy(substrategy, {});
28
- expect(strategy.isSupported()).toBe(false);
29
- });
30
- });
31
-
32
- describe("on connect", function() {
33
- it("should connect to substrategy after a delay", function() {
34
- var strategy = new DelayedStrategy(this.substrategy, {
35
- delay: 100
36
- });
37
-
38
- strategy.connect(0, this.callback);
39
-
40
- expect(this.substrategy.connect).not.toHaveBeenCalled();
41
- jasmine.clock().tick(99);
42
- expect(this.substrategy.connect).not.toHaveBeenCalled();
43
- jasmine.clock().tick(1);
44
- expect(this.substrategy.connect).toHaveBeenCalled();
45
-
46
- var handshake = {};
47
- this.substrategy._callback(null, handshake);
48
-
49
- expect(this.callback).toHaveBeenCalledWith(null, handshake);
50
- });
51
-
52
- it("should pass an error when substrategy fails", function() {
53
- this.strategy.connect(0, this.callback);
54
- jasmine.clock().tick(0);
55
- this.substrategy._callback(true);
56
-
57
- expect(this.callback).toHaveBeenCalledWith(true);
58
- });
59
- });
60
-
61
- describe("on abort", function() {
62
- it("should abort substrategy when connecting", function() {
63
- var runner = this.strategy.connect(0);
64
- jasmine.clock().tick(0);
65
- runner.abort();
66
- expect(this.substrategy._abort).toHaveBeenCalled();
67
- });
68
-
69
- it("should clear the timer and not abort substrategy when waiting", function() {
70
- var run = this.strategy.connect(0);
71
- expect(this.substrategy.connect).not.toHaveBeenCalled();
72
- run.abort();
73
- jasmine.clock().tick(10000);
74
- expect(this.substrategy._abort).not.toHaveBeenCalled();
75
- expect(this.substrategy.connect).not.toHaveBeenCalled();
76
- });
77
- });
78
-
79
- describe("on forceMinPriority", function() {
80
- it("should force the priority while waiting", function() {
81
- var runner = this.strategy.connect(0, this.callback);
82
- runner.forceMinPriority(5);
83
- jasmine.clock().tick(0);
84
- expect(this.substrategy.connect)
85
- .toHaveBeenCalledWith(5, jasmine.any(Function));
86
- });
87
-
88
- it("should force the priority while connecting", function() {
89
- var runner = this.strategy.connect(0, this.callback);
90
- jasmine.clock().tick(0);
91
- runner.forceMinPriority(5);
92
- expect(this.substrategy._forceMinPriority).toHaveBeenCalledWith(5);
93
- });
94
- });
95
- });
@@ -1,68 +0,0 @@
1
- var Mocks = require("mocks");
2
- var FirstConnectedStrategy = require('core/strategies/first_connected_strategy').default;
3
-
4
- describe("FirstConnectedStrategy", function() {
5
- var substrategy;
6
- var callback;
7
- var strategy;
8
-
9
- beforeEach(function() {
10
- substrategy = Mocks.getStrategy(true);
11
- strategy = new FirstConnectedStrategy(substrategy);
12
- state = {};
13
-
14
- callback = jasmine.createSpy();
15
- });
16
-
17
- describe("after calling isSupported", function() {
18
- it("should return true when the substrategy is supported", function() {
19
- var substrategy = Mocks.getStrategy(true);
20
- var strategy = new FirstConnectedStrategy(substrategy);
21
- expect(strategy.isSupported()).toBe(true);
22
- });
23
-
24
- it("should return false when the substrategy is not supported", function() {
25
- var substrategy = Mocks.getStrategy(false);
26
- var strategy = new FirstConnectedStrategy(substrategy);
27
- expect(strategy.isSupported()).toBe(false);
28
- });
29
- });
30
-
31
- describe("on connect", function() {
32
- it("should succeed on first connection and abort the substrategy", function() {
33
- strategy.connect(0, callback);
34
-
35
- expect(substrategy.connect)
36
- .toHaveBeenCalledWith(0, jasmine.any(Function));
37
-
38
- var handshake = {};
39
- substrategy._callback(null, handshake);
40
-
41
- expect(callback).toHaveBeenCalledWith(null, handshake);
42
- expect(substrategy._abort).toHaveBeenCalled();
43
- });
44
-
45
- it("should pass an error when the substrategy fails", function() {
46
- strategy.connect(0, callback);
47
-
48
- substrategy._callback(true);
49
- expect(callback).toHaveBeenCalledWith(true, undefined);
50
- });
51
- });
52
-
53
- describe("on abort", function() {
54
- it("should abort the substrategy", function() {
55
- var runner = strategy.connect(0);
56
- runner.abort();
57
- expect(substrategy._abort).toHaveBeenCalled();
58
- });
59
- });
60
-
61
- describe("on forceMinPriority", function() {
62
- it("should force the priority on the substrategy", function() {
63
- var runner = strategy.connect(0, this.callback);
64
- runner.forceMinPriority(5);
65
- expect(substrategy._forceMinPriority).toHaveBeenCalledWith(5);
66
- });
67
- });
68
- });
@@ -1,165 +0,0 @@
1
- var Mocks = require("mocks");
2
-
3
- var IfStrategy = require('core/strategies/if_strategy').default;
4
-
5
- describe("IfStrategy", function() {
6
- var test, trueBranch, falseBranch;
7
- var callback;
8
-
9
- beforeEach(function() {
10
- trueBranch = Mocks.getStrategy(true);
11
- falseBranch = Mocks.getStrategy(true);
12
- callback = jasmine.createSpy();
13
- });
14
-
15
- describe("when the test is true", function() {
16
- var strategy;
17
-
18
- beforeEach(function() {
19
- test = function() { return true; };
20
- strategy = new IfStrategy(test, trueBranch, falseBranch);
21
- });
22
-
23
- describe("#isSupported", function() {
24
- it("should return true if the 'true' branch is supported", function() {
25
- trueBranch = Mocks.getStrategy(true);
26
- falseBranch = Mocks.getStrategy(false);
27
- var strategy = new IfStrategy(
28
- test, trueBranch, falseBranch
29
- );
30
- expect(strategy.isSupported()).toBe(true);
31
- });
32
-
33
- it("should return false if the 'true' branch is not supported", function() {
34
- trueBranch = Mocks.getStrategy(false);
35
- falseBranch = Mocks.getStrategy(true);
36
- var strategy = new IfStrategy(
37
- test, trueBranch, falseBranch
38
- );
39
- expect(strategy.isSupported()).toBe(false);
40
- });
41
- });
42
-
43
- describe("#connect", function() {
44
- beforeEach(function() {
45
- strategy.connect(0, callback);
46
- });
47
-
48
- it("should connect using the 'true' branch", function() {
49
- expect(trueBranch.connect).toHaveBeenCalled();
50
- expect(falseBranch.connect).not.toHaveBeenCalled();
51
- });
52
-
53
- it("should connect with correct priority using the 'true' branch", function() {
54
- strategy.connect(5, callback);
55
- expect(trueBranch.connect)
56
- .toHaveBeenCalledWith(5, jasmine.any(Function));
57
- });
58
-
59
- it("should call back with a connection after the 'true' branch succeeds", function() {
60
- var handshake = {};
61
- trueBranch._callback(null, handshake);
62
- expect(callback).toHaveBeenCalledWith(null, handshake);
63
- });
64
-
65
- it("should call back with an error when the 'true' branch fails", function() {
66
- trueBranch._callback("boom");
67
- expect(callback).toHaveBeenCalledWith("boom");
68
- });
69
- });
70
-
71
- describe("with a runner returned from #connect", function() {
72
- var runner;
73
-
74
- beforeEach(function() {
75
- runner = strategy.connect(0, callback);
76
- });
77
-
78
- it("should abort the attempt from the 'true' branch", function() {
79
- runner.abort();
80
- expect(trueBranch._abort).toHaveBeenCalled();
81
- });
82
-
83
- it("should force priority on the attempt from the 'true' branch", function() {
84
- runner.forceMinPriority(42);
85
- expect(trueBranch._forceMinPriority).toHaveBeenCalledWith(42);
86
- });
87
- });
88
- });
89
-
90
- describe("when the test is false", function() {
91
- var strategy;
92
-
93
- beforeEach(function() {
94
- test = function() { return false; };
95
- strategy = new IfStrategy(test, trueBranch, falseBranch);
96
- });
97
-
98
- describe("after calling isSupported", function() {
99
- it("should return true if the 'false' branch is supported", function() {
100
- trueBranch = Mocks.getStrategy(false);
101
- falseBranch = Mocks.getStrategy(true);
102
- var strategy = new IfStrategy(
103
- test, trueBranch, falseBranch
104
- );
105
- expect(strategy.isSupported()).toBe(true);
106
- });
107
-
108
- it("should return false if the 'false' branch is not supported", function() {
109
- trueBranch = Mocks.getStrategy(true);
110
- falseBranch = Mocks.getStrategy(false);
111
- var strategy = new IfStrategy(
112
- test, trueBranch, falseBranch
113
- );
114
- expect(strategy.isSupported()).toBe(false);
115
- });
116
- });
117
-
118
- describe("#connect", function() {
119
- it("should connect using the 'false' branch", function() {
120
- strategy.connect(0, callback);
121
- expect(falseBranch.connect).toHaveBeenCalled();
122
- expect(trueBranch.connect).not.toHaveBeenCalled();
123
- });
124
-
125
- it("should connect with correct priority using the 'false' branch", function() {
126
- strategy.connect(111, callback);
127
- expect(falseBranch.connect)
128
- .toHaveBeenCalledWith(111, jasmine.any(Function));
129
- });
130
-
131
- it("should call back with a connection after the 'false' branch succeeds", function() {
132
- strategy.connect(0, callback);
133
-
134
- var handshake = {};
135
- falseBranch._callback(null, handshake);
136
- expect(callback).toHaveBeenCalledWith(null, handshake);
137
- });
138
-
139
- it("should call back with an error when the 'false' branch fails", function() {
140
- strategy.connect(0, callback);
141
-
142
- falseBranch._callback("boom");
143
- expect(callback).toHaveBeenCalledWith("boom");
144
- });
145
- });
146
-
147
- describe("with a runner returned from #connect", function() {
148
- var runner;
149
-
150
- beforeEach(function() {
151
- runner = strategy.connect(0, callback);
152
- });
153
-
154
- it("should abort the attempt from the 'false' branch", function() {
155
- runner.abort();
156
- expect(falseBranch._abort).toHaveBeenCalled();
157
- });
158
-
159
- it("should force priority on the attempt from the 'false' branch", function() {
160
- runner.forceMinPriority(42);
161
- expect(falseBranch._forceMinPriority).toHaveBeenCalledWith(42);
162
- });
163
- });
164
- });
165
- });
@@ -1,213 +0,0 @@
1
- var Mocks = require("mocks");
2
- var SequentialStrategy = require('core/strategies/sequential_strategy').default;
3
-
4
- describe("SequentialStrategy", function() {
5
- beforeEach(function() {
6
- this.callback = jasmine.createSpy();
7
- this.substrategies = Mocks.getStrategies([true, true]);
8
- this.strategy = new SequentialStrategy(this.substrategies, {});
9
-
10
- jasmine.clock().uninstall();
11
- jasmine.clock().install();
12
- });
13
-
14
- afterEach(function() {
15
- jasmine.clock().uninstall();
16
- });
17
-
18
- describe("after calling isSupported", function() {
19
- it("should return true when one of substrategies is supported", function() {
20
- var substrategies = Mocks.getStrategies([false, true]);
21
- var strategy = new SequentialStrategy(substrategies, {});
22
- expect(strategy.isSupported()).toBe(true);
23
- });
24
-
25
- it("should return false when none of substrategies are supported", function() {
26
- var substrategies = Mocks.getStrategies([false, false]);
27
- var strategy = new SequentialStrategy(substrategies, {});
28
- expect(strategy.isSupported()).toBe(false);
29
- });
30
- });
31
-
32
- describe("on connect", function() {
33
- it("should finish on first successful substrategy", function() {
34
- this.strategy.connect(0, this.callback);
35
-
36
- expect(this.substrategies[0].connect).toHaveBeenCalled();
37
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
38
-
39
- var handshake = {};
40
- this.substrategies[0]._callback(null, handshake);
41
-
42
- expect(this.callback).toHaveBeenCalledWith(null, handshake);
43
- expect(this.substrategies[0]._abort).not.toHaveBeenCalled();
44
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
45
- });
46
-
47
- it("should fail after trying all supported substrategies", function() {
48
- this.strategy.connect(0, this.callback);
49
-
50
- expect(this.substrategies[0].connect).toHaveBeenCalled();
51
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
52
-
53
- this.substrategies[0]._callback(true);
54
- expect(this.substrategies[1].connect).toHaveBeenCalled();
55
-
56
- this.substrategies[1]._callback(true);
57
- expect(this.substrategies[1]._abort).not.toHaveBeenCalled();
58
- expect(this.callback).toHaveBeenCalledWith(true);
59
- expect(this.callback.calls.count()).toEqual(1);
60
- });
61
-
62
- it("should support looping", function() {
63
- var strategy = new SequentialStrategy(this.substrategies, {
64
- loop: true
65
- });
66
- var runner = strategy.connect(0, this.callback);
67
-
68
- expect(this.substrategies[0].connect.calls.count()).toEqual(1);
69
- expect(this.substrategies[1].connect.calls.count()).toEqual(0);
70
-
71
- this.substrategies[0]._callback(true);
72
-
73
- expect(this.substrategies[0].connect.calls.count()).toEqual(1);
74
- expect(this.substrategies[1].connect.calls.count()).toEqual(1);
75
-
76
- this.substrategies[1]._callback(true);
77
-
78
- expect(this.substrategies[0].connect.calls.count()).toEqual(2);
79
- expect(this.substrategies[1].connect.calls.count()).toEqual(1);
80
-
81
- runner.abort();
82
- expect(this.substrategies[0]._abort).toHaveBeenCalled();
83
- });
84
- });
85
-
86
- describe("on abort", function() {
87
- it("should send abort to first tried substrategy", function() {
88
- var runner = this.strategy.connect(0, this.callback);
89
-
90
- expect(this.substrategies[0].connect).toHaveBeenCalled();
91
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
92
-
93
- runner.abort();
94
-
95
- expect(this.substrategies[0]._abort).toHaveBeenCalled();
96
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
97
- });
98
-
99
- it("should send abort to second tried substrategy", function() {
100
- var runner = this.strategy.connect(0, this.callback);
101
-
102
- this.substrategies[0]._callback(true);
103
- expect(this.substrategies[1].connect).toHaveBeenCalled();
104
-
105
- runner.abort();
106
- expect(this.substrategies[1]._abort).toHaveBeenCalled();
107
- });
108
-
109
- it("should stop retrying with timeouts", function() {
110
- var strategy = new SequentialStrategy(this.substrategies, {
111
- timeout: 100
112
- });
113
- var runner = strategy.connect(0, this.callback);
114
-
115
- expect(this.substrategies[0].connect).toHaveBeenCalled();
116
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
117
-
118
- runner.abort();
119
- jasmine.clock().tick(100);
120
- expect(this.substrategies[1].connect).not.toHaveBeenCalled();
121
- });
122
- });
123
-
124
- describe("on error", function() {
125
- it("should wait for the timeout before calling back", function() {
126
- var substrategy = Mocks.getStrategy(true);
127
- var strategy = new SequentialStrategy([substrategy], {
128
- timeout: 100
129
- });
130
-
131
- strategy.connect(0, this.callback);
132
- substrategy._callback(true);
133
-
134
- jasmine.clock().tick(99);
135
- expect(this.callback).not.toHaveBeenCalled();
136
- jasmine.clock().tick(1);
137
- expect(this.callback).toHaveBeenCalled();
138
- });
139
-
140
- it("should not wait for the timeout before calling back if failFast is on", function() {
141
- var substrategy = Mocks.getStrategy(true);
142
- var strategy = new SequentialStrategy([substrategy], {
143
- timeout: 100,
144
- failFast: true
145
- });
146
-
147
- strategy.connect(0, this.callback);
148
- substrategy._callback(true);
149
- expect(this.callback).toHaveBeenCalled();
150
- });
151
- });
152
-
153
- describe("on timeout", function() {
154
- it("should try substrategies with exponential timeouts", function() {
155
- var substrategies = Mocks.getStrategies(
156
- [true, true, true, true, true]
157
- );
158
- var strategy = new SequentialStrategy(substrategies, {
159
- timeout: 100,
160
- timeoutLimit: 400
161
- });
162
-
163
- strategy.connect(0, this.callback);
164
-
165
- expect(substrategies[0].connect).toHaveBeenCalled();
166
- expect(substrategies[1].connect).not.toHaveBeenCalled();
167
-
168
- jasmine.clock().tick(99);
169
- expect(substrategies[1].connect).not.toHaveBeenCalled();
170
-
171
- jasmine.clock().tick(1);
172
- expect(substrategies[1].connect).toHaveBeenCalled();
173
- expect(substrategies[2].connect).not.toHaveBeenCalled();
174
-
175
- jasmine.clock().tick(199);
176
- expect(substrategies[2].connect).not.toHaveBeenCalled();
177
-
178
- jasmine.clock().tick(1);
179
- expect(substrategies[2].connect).toHaveBeenCalled();
180
- expect(substrategies[3].connect).not.toHaveBeenCalled();
181
-
182
- jasmine.clock().tick(399);
183
- expect(substrategies[3].connect).not.toHaveBeenCalled();
184
-
185
- jasmine.clock().tick(1);
186
- expect(substrategies[3].connect).toHaveBeenCalled();
187
- expect(substrategies[4].connect).not.toHaveBeenCalled();
188
-
189
- jasmine.clock().tick(399);
190
- expect(substrategies[4].connect).not.toHaveBeenCalled();
191
-
192
- jasmine.clock().tick(1);
193
- expect(substrategies[4].connect).toHaveBeenCalled();
194
- });
195
- });
196
-
197
- describe("on forceMinPriority", function() {
198
- it("should force the priority on the running substrategy", function() {
199
- var runner = this.strategy.connect(0, this.callback);
200
- runner.forceMinPriority(5);
201
- expect(this.substrategies[0]._forceMinPriority).toHaveBeenCalledWith(5);
202
- });
203
-
204
- it("should keep connecting with the new priority", function() {
205
- var runner = this.strategy.connect(0, this.callback);
206
- runner.forceMinPriority(5);
207
-
208
- this.substrategies[0]._callback(true);
209
- expect(this.substrategies[1].connect)
210
- .toHaveBeenCalledWith(5, jasmine.any(Function));
211
- });
212
- });
213
- });