pingerchips-js 1.0.0 → 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 (435) 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/pusher.js +0 -10870
  19. package/dist/node/pusher.js.map +0 -1
  20. package/dist/react-native/pusher.js +0 -9
  21. package/dist/react-native/pusher.js.map +0 -1
  22. package/dist/web/json2.js +0 -486
  23. package/dist/web/json2.min.js +0 -1
  24. package/dist/web/pusher-with-encryption.js +0 -7009
  25. package/dist/web/pusher-with-encryption.js.map +0 -1
  26. package/dist/web/pusher-with-encryption.min.js +0 -9
  27. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  28. package/dist/web/pusher.js +0 -4587
  29. package/dist/web/pusher.js.map +0 -1
  30. package/dist/web/pusher.min.js +0 -9
  31. package/dist/web/pusher.min.js.map +0 -1
  32. package/dist/web/sockjs.js +0 -2435
  33. package/dist/web/sockjs.min.js +0 -89
  34. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  35. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  36. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  37. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  38. package/dist/worker/pusher.worker.js +0 -4200
  39. package/dist/worker/pusher.worker.js.map +0 -1
  40. package/dist/worker/pusher.worker.min.js +0 -9
  41. package/dist/worker/pusher.worker.min.js.map +0 -1
  42. package/index.d.ts +0 -29
  43. package/integration_tests_server/index.js +0 -176
  44. package/integration_tests_server/package-lock.json +0 -1177
  45. package/integration_tests_server/package.json +0 -15
  46. package/node.js +0 -1
  47. package/pusher-with-encryption/index.js +0 -1
  48. package/react-native/index.d.ts +0 -29
  49. package/react-native/index.js +0 -1
  50. package/spec/config/jasmine/helpers/reporter.js +0 -14
  51. package/spec/config/jasmine/integration.json +0 -13
  52. package/spec/config/jasmine/unit.json +0 -13
  53. package/spec/config/jasmine/webpack.integration.js +0 -33
  54. package/spec/config/jasmine/webpack.unit.js +0 -30
  55. package/spec/config/karma/available_browsers.json +0 -4957
  56. package/spec/config/karma/config.ci.js +0 -25
  57. package/spec/config/karma/config.common.js +0 -50
  58. package/spec/config/karma/config.integration.js +0 -26
  59. package/spec/config/karma/config.unit.js +0 -10
  60. package/spec/config/karma/config.worker.js +0 -34
  61. package/spec/config/karma/integration.js +0 -24
  62. package/spec/config/karma/unit.js +0 -20
  63. package/spec/javascripts/helpers/mocks.js +0 -274
  64. package/spec/javascripts/helpers/node/integration.js +0 -33
  65. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  66. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  67. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -12
  68. package/spec/javascripts/helpers/timers/promises.js +0 -9
  69. package/spec/javascripts/helpers/waitsFor.js +0 -37
  70. package/spec/javascripts/helpers/web/integration.js +0 -44
  71. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  72. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  73. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  74. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  75. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  76. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  77. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  78. package/spec/javascripts/integration/index.node.js +0 -12
  79. package/spec/javascripts/integration/index.web.js +0 -63
  80. package/spec/javascripts/integration/index.worker.js +0 -13
  81. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  82. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  83. package/spec/javascripts/polyfills/index.js +0 -105
  84. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  85. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  86. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  87. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  88. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  89. package/spec/javascripts/unit/core/config_spec.js +0 -507
  90. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  91. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  92. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  93. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  94. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  95. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  96. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  97. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  98. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  99. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  100. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  101. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  102. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  103. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  104. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  105. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  106. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  107. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  108. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  109. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  110. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  111. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  112. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  113. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  114. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  115. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  116. package/spec/javascripts/unit/core/user_spec.js +0 -303
  117. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  118. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  119. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  120. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  121. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  122. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  123. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  124. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  125. package/spec/javascripts/unit/index.node.js +0 -11
  126. package/spec/javascripts/unit/index.web.js +0 -12
  127. package/spec/javascripts/unit/index.worker.js +0 -11
  128. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  129. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  130. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  131. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  132. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  133. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  134. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  135. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  136. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  137. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  138. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  139. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  140. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  141. package/src/core/auth/auth_transports.ts +0 -18
  142. package/src/core/auth/channel_authorizer.ts +0 -64
  143. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  144. package/src/core/auth/options.ts +0 -78
  145. package/src/core/auth/user_authenticator.ts +0 -62
  146. package/src/core/base64.ts +0 -49
  147. package/src/core/channels/channel.ts +0 -163
  148. package/src/core/channels/channel_table.ts +0 -7
  149. package/src/core/channels/channels.ts +0 -85
  150. package/src/core/channels/encrypted_channel.ts +0 -149
  151. package/src/core/channels/members.ts +0 -80
  152. package/src/core/channels/metadata.ts +0 -5
  153. package/src/core/channels/presence_channel.ts +0 -113
  154. package/src/core/channels/private_channel.ts +0 -25
  155. package/src/core/config.ts +0 -189
  156. package/src/core/connection/callbacks.ts +0 -21
  157. package/src/core/connection/connection.ts +0 -160
  158. package/src/core/connection/connection_manager.ts +0 -371
  159. package/src/core/connection/connection_manager_options.ts +0 -14
  160. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  161. package/src/core/connection/handshake/index.ts +0 -90
  162. package/src/core/connection/protocol/action.ts +0 -8
  163. package/src/core/connection/protocol/message-types.ts +0 -8
  164. package/src/core/connection/protocol/protocol.ts +0 -154
  165. package/src/core/defaults.ts +0 -66
  166. package/src/core/errors.ts +0 -69
  167. package/src/core/events/callback.ts +0 -6
  168. package/src/core/events/callback_registry.ts +0 -75
  169. package/src/core/events/callback_table.ts +0 -7
  170. package/src/core/events/dispatcher.ts +0 -84
  171. package/src/core/http/ajax.ts +0 -24
  172. package/src/core/http/http_factory.ts +0 -16
  173. package/src/core/http/http_polling_socket.ts +0 -24
  174. package/src/core/http/http_request.ts +0 -81
  175. package/src/core/http/http_socket.ts +0 -220
  176. package/src/core/http/http_streaming_socket.ts +0 -19
  177. package/src/core/http/request_hooks.ts +0 -9
  178. package/src/core/http/socket_hooks.ts +0 -11
  179. package/src/core/http/state.ts +0 -7
  180. package/src/core/http/url_location.ts +0 -6
  181. package/src/core/logger.ts +0 -53
  182. package/src/core/options.ts +0 -59
  183. package/src/core/pusher-licence.js +0 -7
  184. package/src/core/pusher-with-encryption.js +0 -1
  185. package/src/core/pusher-with-encryption.ts +0 -14
  186. package/src/core/pusher.js +0 -2
  187. package/src/core/pusher.ts +0 -249
  188. package/src/core/reachability.ts +0 -7
  189. package/src/core/socket.ts +0 -14
  190. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  191. package/src/core/strategies/delayed_strategy.ts +0 -48
  192. package/src/core/strategies/first_connected_strategy.ts +0 -28
  193. package/src/core/strategies/if_strategy.ts +0 -34
  194. package/src/core/strategies/sequential_strategy.ts +0 -129
  195. package/src/core/strategies/strategy.ts +0 -8
  196. package/src/core/strategies/strategy_builder.ts +0 -67
  197. package/src/core/strategies/strategy_options.ts +0 -18
  198. package/src/core/strategies/strategy_runner.ts +0 -6
  199. package/src/core/strategies/transport_strategy.ts +0 -144
  200. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  201. package/src/core/timeline/level.ts +0 -7
  202. package/src/core/timeline/timeline.ts +0 -90
  203. package/src/core/timeline/timeline_sender.ts +0 -33
  204. package/src/core/timeline/timeline_transport.ts +0 -11
  205. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  206. package/src/core/transports/ping_delay_options.ts +0 -7
  207. package/src/core/transports/transport.ts +0 -54
  208. package/src/core/transports/transport_connection.ts +0 -241
  209. package/src/core/transports/transport_connection_options.ts +0 -8
  210. package/src/core/transports/transport_hooks.ts +0 -16
  211. package/src/core/transports/transport_manager.ts +0 -52
  212. package/src/core/transports/transports_table.ts +0 -12
  213. package/src/core/transports/url_scheme.ts +0 -13
  214. package/src/core/transports/url_schemes.ts +0 -47
  215. package/src/core/user.ts +0 -186
  216. package/src/core/util.ts +0 -34
  217. package/src/core/utils/collections.ts +0 -353
  218. package/src/core/utils/factory.ts +0 -75
  219. package/src/core/utils/flat_promise.ts +0 -10
  220. package/src/core/utils/timers/abstract_timer.ts +0 -39
  221. package/src/core/utils/timers/index.ts +0 -39
  222. package/src/core/utils/timers/scheduling.ts +0 -11
  223. package/src/core/utils/timers/timed_callback.ts +0 -5
  224. package/src/core/utils/url_store.ts +0 -48
  225. package/src/core/watchlist.ts +0 -31
  226. package/src/d.ts/constants/index.d.ts +0 -5
  227. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  228. package/src/d.ts/global/global.d.ts +0 -1
  229. package/src/d.ts/module/module.d.ts +0 -12
  230. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  231. package/src/d.ts/window/events.d.ts +0 -4
  232. package/src/d.ts/window/sockjs.d.ts +0 -3
  233. package/src/d.ts/window/websocket.d.ts +0 -4
  234. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  235. package/src/runtimes/interface.ts +0 -59
  236. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  237. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  238. package/src/runtimes/isomorphic/http/http.ts +0 -32
  239. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  240. package/src/runtimes/isomorphic/runtime.ts +0 -62
  241. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  242. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  243. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  244. package/src/runtimes/node/net_info.ts +0 -10
  245. package/src/runtimes/node/runtime.ts +0 -68
  246. package/src/runtimes/react-native/net_info.ts +0 -42
  247. package/src/runtimes/react-native/runtime.ts +0 -65
  248. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  249. package/src/runtimes/web/browser.ts +0 -24
  250. package/src/runtimes/web/default_strategy.ts +0 -201
  251. package/src/runtimes/web/dom/dependencies.ts +0 -16
  252. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  253. package/src/runtimes/web/dom/json2.js +0 -486
  254. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  255. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  256. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  257. package/src/runtimes/web/dom/script_request.ts +0 -85
  258. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  259. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  260. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  261. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  262. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  263. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  264. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  265. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  266. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  267. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  268. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  269. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  270. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  271. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  272. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  273. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  274. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  275. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  276. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  277. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  278. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  279. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  280. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  281. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  282. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  283. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  284. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  285. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  286. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  287. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  288. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  289. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  290. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  291. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  292. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  293. package/src/runtimes/web/dom/sockjs/version +0 -1
  294. package/src/runtimes/web/http/http.ts +0 -8
  295. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  296. package/src/runtimes/web/net_info.ts +0 -50
  297. package/src/runtimes/web/runtime.ts +0 -174
  298. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  299. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  300. package/src/runtimes/web/transports/transports.ts +0 -65
  301. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  302. package/src/runtimes/worker/net_info.ts +0 -10
  303. package/src/runtimes/worker/runtime.ts +0 -75
  304. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  305. package/tsconfig.json +0 -26
  306. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  307. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  308. package/types/src/core/auth/auth_transports.d.ts +0 -9
  309. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  310. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  311. package/types/src/core/auth/options.d.ts +0 -48
  312. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  313. package/types/src/core/base64.d.ts +0 -1
  314. package/types/src/core/channels/channel.d.ts +0 -23
  315. package/types/src/core/channels/channel_table.d.ts +0 -5
  316. package/types/src/core/channels/channels.d.ts +0 -12
  317. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  318. package/types/src/core/channels/members.d.ts +0 -14
  319. package/types/src/core/channels/metadata.d.ts +0 -4
  320. package/types/src/core/channels/presence_channel.d.ts +0 -13
  321. package/types/src/core/channels/private_channel.d.ts +0 -5
  322. package/types/src/core/config.d.ts +0 -31
  323. package/types/src/core/connection/callbacks.d.ts +0 -18
  324. package/types/src/core/connection/connection.d.ts +0 -16
  325. package/types/src/core/connection/connection_manager.d.ts +0 -50
  326. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  327. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  328. package/types/src/core/connection/handshake/index.d.ts +0 -12
  329. package/types/src/core/connection/protocol/action.d.ts +0 -7
  330. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  331. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  332. package/types/src/core/defaults.d.ts +0 -26
  333. package/types/src/core/errors.d.ts +0 -28
  334. package/types/src/core/events/callback.d.ts +0 -5
  335. package/types/src/core/events/callback_registry.d.ts +0 -11
  336. package/types/src/core/events/callback_table.d.ts +0 -5
  337. package/types/src/core/events/dispatcher.d.ts +0 -14
  338. package/types/src/core/http/ajax.d.ts +0 -16
  339. package/types/src/core/http/http_factory.d.ts +0 -13
  340. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  341. package/types/src/core/http/http_request.d.ts +0 -17
  342. package/types/src/core/http/http_socket.d.ts +0 -32
  343. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  344. package/types/src/core/http/request_hooks.d.ts +0 -6
  345. package/types/src/core/http/socket_hooks.d.ts +0 -8
  346. package/types/src/core/http/state.d.ts +0 -6
  347. package/types/src/core/http/url_location.d.ts +0 -5
  348. package/types/src/core/logger.d.ts +0 -11
  349. package/types/src/core/options.d.ts +0 -34
  350. package/types/src/core/pusher-with-encryption.d.ts +0 -5
  351. package/types/src/core/pusher.d.ts +0 -49
  352. package/types/src/core/reachability.d.ts +0 -5
  353. package/types/src/core/socket.d.ts +0 -12
  354. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  355. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  356. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  357. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  358. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  359. package/types/src/core/strategies/strategy.d.ts +0 -6
  360. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  361. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  362. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  363. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  364. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  365. package/types/src/core/timeline/level.d.ts +0 -6
  366. package/types/src/core/timeline/timeline.d.ts +0 -25
  367. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  368. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  369. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  370. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  371. package/types/src/core/transports/transport.d.ts +0 -8
  372. package/types/src/core/transports/transport_connection.d.ts +0 -35
  373. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  374. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  375. package/types/src/core/transports/transport_manager.d.ts +0 -14
  376. package/types/src/core/transports/transports_table.d.ts +0 -10
  377. package/types/src/core/transports/url_scheme.d.ts +0 -11
  378. package/types/src/core/transports/url_schemes.d.ts +0 -4
  379. package/types/src/core/user.d.ts +0 -21
  380. package/types/src/core/util.d.ts +0 -8
  381. package/types/src/core/utils/collections.d.ts +0 -18
  382. package/types/src/core/utils/factory.d.ts +0 -29
  383. package/types/src/core/utils/flat_promise.d.ts +0 -6
  384. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  385. package/types/src/core/utils/timers/index.d.ts +0 -9
  386. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  387. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  388. package/types/src/core/utils/url_store.d.ts +0 -4
  389. package/types/src/core/watchlist.d.ts +0 -8
  390. package/types/src/runtimes/interface.d.ts +0 -43
  391. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  392. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  393. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  394. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  395. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  396. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  397. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  398. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  399. package/types/src/runtimes/node/net_info.d.ts +0 -6
  400. package/types/src/runtimes/node/runtime.d.ts +0 -3
  401. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  402. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  403. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  404. package/types/src/runtimes/web/browser.d.ts +0 -19
  405. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  406. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  407. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  408. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  409. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  410. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  411. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  412. package/types/src/runtimes/web/http/http.d.ts +0 -2
  413. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  414. package/types/src/runtimes/web/net_info.d.ts +0 -7
  415. package/types/src/runtimes/web/runtime.d.ts +0 -3
  416. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  417. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  419. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  420. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  421. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  422. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  423. package/webpack/config.node.js +0 -26
  424. package/webpack/config.react-native.js +0 -35
  425. package/webpack/config.shared.js +0 -50
  426. package/webpack/config.web.js +0 -36
  427. package/webpack/config.worker.js +0 -42
  428. package/webpack/dev.server.js +0 -17
  429. package/webpack/hosting_config.js +0 -6
  430. package/with-encryption/index.d.ts +0 -29
  431. package/with-encryption/index.js +0 -4
  432. package/worker/index.d.ts +0 -29
  433. package/worker/index.js +0 -1
  434. package/worker/with-encryption/index.d.ts +0 -29
  435. 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
- });