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,613 +0,0 @@
1
- var TestEnv = require("testenv");
2
- var Util = require("core/util").default;
3
- var Collections = require("core/utils/collections");
4
- var Logger = require("core/logger").default;
5
- var Defaults = require("core/defaults").default;
6
- var DefaultConfig = require("core/config");
7
- var TimelineSender = require("core/timeline/timeline_sender").default;
8
- var Pusher = require("core/pusher").default;
9
- var Mocks = require("../../helpers/mocks");
10
- var Factory = require("core/utils/factory").default;
11
- var Runtime = require("runtime").default;
12
- const transports = Runtime.Transports;
13
- const Network = require("net_info").Network;
14
- const waitsFor = require("../../helpers/waitsFor");
15
- var NetInfo = require("net_info").NetInfo;
16
-
17
- describe("Pusher", function() {
18
- var _isReady, _instances, _logToConsole;
19
-
20
- switch (TestEnv) {
21
- case "worker":
22
- case "node":
23
- var timelineTransport = "xhr";
24
- break;
25
- case "web":
26
- var timelineTransport = "jsonp";
27
- break;
28
- default:
29
- throw "Please specify the test environment as an external.";
30
- }
31
-
32
- beforeEach(function() {
33
- _instances = Pusher.instances;
34
- _isReady = Pusher.isReady;
35
- _logToConsole = Pusher.logToConsole;
36
- Pusher.isReady = false;
37
- Pusher.instances = [];
38
-
39
- spyOn(Runtime, "getDefaultStrategy").and.callFake(function() {
40
- return Mocks.getStrategy(true);
41
- });
42
-
43
- spyOn(Factory, "createConnectionManager").and.callFake(function(
44
- key,
45
- options,
46
- config
47
- ) {
48
- var manager = Mocks.getConnectionManager();
49
- manager.key = key;
50
- manager.options = options;
51
- manager.config = config;
52
- return manager;
53
- });
54
- spyOn(Factory, "createChannel").and.callFake(function(name, _) {
55
- return Mocks.getChannel(name);
56
- });
57
-
58
- if (TestEnv === "web") {
59
- spyOn(Runtime, "getDocument").and.returnValue({
60
- location: {
61
- protocol: "http:"
62
- }
63
- });
64
- }
65
- });
66
-
67
- afterEach(function() {
68
- Pusher.instances = _instances;
69
- Pusher.isReady = _isReady;
70
- Pusher.logToConsole = _logToConsole;
71
- });
72
-
73
- describe("app key validation", function() {
74
- it("should throw on a null key", function() {
75
- expect(function() {
76
- new Pusher(null);
77
- }).toThrow("You must pass your app key when you instantiate Pusher.");
78
- });
79
-
80
- it("should throw on an undefined key", function() {
81
- expect(function() {
82
- new Pusher();
83
- }).toThrow("You must pass your app key when you instantiate Pusher.");
84
- });
85
-
86
- it("should allow a hex key", function() {
87
- spyOn(Logger, "warn");
88
- var pusher = new Pusher("1234567890abcdef", { cluster: "mt1" });
89
- expect(Logger.warn).not.toHaveBeenCalled();
90
- });
91
- });
92
-
93
- describe("options validation", function() {
94
- it("should throw if options are not supplied", function() {
95
- expect(function() {
96
- var pusher = new Pusher("1234567890abcdef");
97
- }).toThrow("You must pass an options object");
98
- });
99
-
100
- it("should throw if no cluster is supplied", function() {
101
- expect(function() {
102
- var pusher = new Pusher("1234567890abcdef", {});
103
- }).toThrow("Options object must provide a cluster");
104
- });
105
- });
106
-
107
- describe("after construction", function() {
108
- var pusher;
109
-
110
- beforeEach(function() {
111
- pusher = new Pusher("foo", {cluster: "mt1"});
112
- });
113
-
114
- it("should create a timeline with the correct key", function() {
115
- expect(pusher.timeline.key).toEqual("foo");
116
- });
117
-
118
- it("should create a timeline with a session id", function() {
119
- expect(pusher.timeline.session).toEqual(pusher.sessionID);
120
- });
121
-
122
- it("should pass the cluster name to the timeline", function() {
123
- var pusher = new Pusher("foo", {cluster: "mt1"});
124
- expect(pusher.timeline.options.cluster).toBe("mt1");
125
-
126
- pusher = new Pusher("foo", { cluster: "spec" });
127
- expect(pusher.timeline.options.cluster).toEqual("spec");
128
- });
129
-
130
- it("should pass a feature list to the timeline", function() {
131
- spyOn(Pusher, "getClientFeatures").and.returnValue(["foo", "bar"]);
132
- var pusher = new Pusher("foo", {cluster: "mt1"});
133
- expect(pusher.timeline.options.features).toEqual(["foo", "bar"]);
134
- });
135
-
136
- it("should pass the version number to the timeline", function() {
137
- expect(pusher.timeline.options.version).toEqual(Defaults.VERSION);
138
- });
139
-
140
- it("should pass per-connection timeline params", function() {
141
- pusher = new Pusher("foo", { cluster: "mt1", timelineParams: { horse: true } });
142
- expect(pusher.timeline.options.params).toEqual({ horse: true });
143
- });
144
-
145
- it("should find subscribed channels", function() {
146
- var channel = pusher.subscribe("chan");
147
- expect(pusher.channel("chan")).toBe(channel);
148
- });
149
-
150
- it("should not find unsubscribed channels", function() {
151
- expect(pusher.channel("chan")).toBe(undefined);
152
- pusher.subscribe("chan");
153
- pusher.unsubscribe("chan");
154
- expect(pusher.channel("chan")).toBe(undefined);
155
- });
156
-
157
- describe("TLS", function() {
158
- it("should be off by default", function() {
159
- expect(pusher.shouldUseTLS()).toBe(true);
160
- });
161
-
162
- it("should be off when forceTLS parameter is passed", function() {
163
- var pusher = new Pusher("foo", { cluster: "mt1", forceTLS: false });
164
- expect(pusher.shouldUseTLS()).toBe(false);
165
- });
166
-
167
- if (TestEnv === "web") {
168
- it("should be on when using https", function() {
169
- Runtime.getDocument.and.returnValue({
170
- location: {
171
- protocol: "https:"
172
- }
173
- });
174
- var pusher = new Pusher("foo", { cluster: "mt1", forceTLS: false });
175
- expect(pusher.shouldUseTLS()).toBe(true);
176
- });
177
- }
178
- });
179
-
180
- describe("with getStrategy function", function() {
181
- it("should construct a strategy instance", function() {
182
- var strategy = pusher.connection.options.getStrategy();
183
- expect(strategy.isSupported).toEqual(jasmine.any(Function));
184
- expect(strategy.connect).toEqual(jasmine.any(Function));
185
- });
186
-
187
- it("should pass config and options to the strategy builder", function() {
188
- var config = DefaultConfig.getConfig({});
189
- var options = { useTLS: true };
190
-
191
- var getStrategy = pusher.connection.options.getStrategy;
192
- getStrategy(options);
193
- expect(Runtime.getDefaultStrategy).toHaveBeenCalledWith(
194
- pusher.config,
195
- options,
196
- jasmine.any(Function)
197
- );
198
- });
199
- });
200
-
201
- describe("connection manager", function() {
202
- it("should have the right key", function() {
203
- var pusher = new Pusher("beef", {cluster: "mt1"});
204
- expect(pusher.connection.key).toEqual("beef");
205
- });
206
-
207
- it("should have default timeouts", function() {
208
- var pusher = new Pusher("foo", {cluster: "mt1"});
209
- var options = pusher.connection.options;
210
-
211
- expect(options.activityTimeout).toEqual(Defaults.activityTimeout);
212
- expect(options.pongTimeout).toEqual(Defaults.pongTimeout);
213
- expect(options.unavailableTimeout).toEqual(Defaults.unavailableTimeout);
214
- });
215
-
216
- it("should use user-specified timeouts", function() {
217
- var pusher = new Pusher("foo", {
218
- cluster: "mt1",
219
- activityTimeout: 123,
220
- pongTimeout: 456,
221
- unavailableTimeout: 789
222
- });
223
- var options = pusher.connection.options;
224
-
225
- expect(options.activityTimeout).toEqual(123);
226
- expect(options.pongTimeout).toEqual(456);
227
- expect(options.unavailableTimeout).toEqual(789);
228
- });
229
- });
230
- });
231
-
232
- describe(".ready", function() {
233
- it("should start connection attempts for instances", function() {
234
- var pusher = new Pusher("01234567890abcdef", {cluster: "mt1"});
235
- spyOn(pusher, "connect");
236
-
237
- expect(pusher.connect).not.toHaveBeenCalled();
238
- Pusher.ready();
239
- expect(pusher.connect).toHaveBeenCalled();
240
- });
241
- });
242
-
243
- describe("#connect", function() {
244
- it("should call connect on connection manager", function() {
245
- var pusher = new Pusher("foo", {cluster: "mt1"});
246
- pusher.connect();
247
- expect(pusher.connection.connect).toHaveBeenCalledWith();
248
- });
249
- });
250
-
251
- describe("after connecting", function() {
252
- var pusher;
253
-
254
- beforeEach(function() {
255
- pusher = new Pusher("foo", {cluster: "mt1"});
256
- pusher.connect();
257
- pusher.connection.state = "connected";
258
- pusher.connection.emit("connected");
259
- });
260
-
261
- it("should subscribe to all channels", function() {
262
- pusher = new Pusher("foo", {cluster: "mt1"});
263
- var subscribedChannels = {
264
- channel1: pusher.subscribe("channel1"),
265
- channel2: pusher.subscribe("channel2")
266
- };
267
-
268
- expect(subscribedChannels.channel1.subscribe).not.toHaveBeenCalled();
269
- expect(subscribedChannels.channel2.subscribe).not.toHaveBeenCalled();
270
-
271
- pusher.connect();
272
- pusher.connection.state = "connected";
273
- pusher.connection.emit("connected");
274
-
275
- expect(subscribedChannels.channel1.subscribe).toHaveBeenCalled();
276
- expect(subscribedChannels.channel2.subscribe).toHaveBeenCalled();
277
- });
278
-
279
- it("should send events via the connection manager", function() {
280
- pusher.send_event("event", { key: "value" }, "channel");
281
- expect(pusher.connection.send_event).toHaveBeenCalledWith(
282
- "event",
283
- { key: "value" },
284
- "channel"
285
- );
286
- });
287
-
288
- describe("#subscribe", function() {
289
- it("should return the same channel object for subsequent calls", function() {
290
- var channel = pusher.subscribe("xxx");
291
- expect(channel.name).toEqual("xxx");
292
- expect(pusher.subscribe("xxx")).toBe(channel);
293
- });
294
-
295
- it("should subscribe the channel", function() {
296
- var channel = pusher.subscribe("xxx");
297
- expect(channel.subscribe).toHaveBeenCalled();
298
- });
299
-
300
- it("should reinstate cancelled pending subscription", function() {
301
- var channel = pusher.subscribe("xxx");
302
- channel.subscriptionPending = true;
303
- channel.subscriptionCancelled = true;
304
- pusher.subscribe("xxx");
305
-
306
- expect(channel.reinstateSubscription).toHaveBeenCalled();
307
- });
308
- });
309
-
310
- describe("#unsubscribe", function() {
311
- it("should unsubscribe the channel if subscription is not pending", function() {
312
- var channel = pusher.subscribe("yyy");
313
- channel.subscribed = true;
314
- expect(channel.unsubscribe).not.toHaveBeenCalled();
315
-
316
- pusher.unsubscribe("yyy");
317
- expect(channel.unsubscribe).toHaveBeenCalled();
318
- });
319
-
320
- it("should not unsubscribe the channel if the channel is not subscribed", function() {
321
- var channel = pusher.subscribe("yyy");
322
- channel.subscribed = false;
323
- expect(channel.unsubscribe).not.toHaveBeenCalled();
324
-
325
- pusher.unsubscribe("yyy");
326
- expect(channel.unsubscribe).not.toHaveBeenCalled();
327
- });
328
-
329
- it("should remove the channel from .channels if subscription is not pending", function() {
330
- var channel = pusher.subscribe("yyy");
331
- expect(pusher.channel("yyy")).toBe(channel);
332
-
333
- pusher.unsubscribe("yyy");
334
- expect(pusher.channel("yyy")).toBe(undefined);
335
- });
336
-
337
- it("should delay unsubscription if the subscription is pending", function() {
338
- var channel = pusher.subscribe("yyy");
339
- channel.subscriptionPending = true;
340
-
341
- pusher.unsubscribe("yyy");
342
- expect(pusher.channel("yyy")).toBe(channel);
343
- expect(channel.unsubscribe).not.toHaveBeenCalled();
344
- expect(channel.cancelSubscription).toHaveBeenCalled();
345
- });
346
- });
347
- });
348
-
349
- describe("on message", function() {
350
- var pusher;
351
-
352
- beforeEach(function() {
353
- pusher = new Pusher("foo", {cluster: "mt1"});
354
- });
355
-
356
- it("should pass events to their channels", function() {
357
- var channel = pusher.subscribe("chan");
358
-
359
- pusher.connection.emit("message", {
360
- channel: "chan",
361
- event: "event",
362
- data: { key: "value" }
363
- });
364
- expect(channel.handleEvent).toHaveBeenCalledWith({
365
- channel: "chan",
366
- event: "event",
367
- data: { key: "value" }
368
- });
369
- });
370
-
371
- it("should not publish events to other channels", function() {
372
- var channel = pusher.subscribe("chan");
373
- var onEvent = jasmine.createSpy("onEvent");
374
- channel.bind("event", onEvent);
375
-
376
- pusher.connection.emit("message", {
377
- channel: "different",
378
- event: "event",
379
- data: {}
380
- });
381
- expect(onEvent).not.toHaveBeenCalled();
382
- });
383
-
384
- it("should publish per-channel events globally (deprecated)", function() {
385
- var onEvent = jasmine.createSpy("onEvent");
386
- pusher.bind("event", onEvent);
387
-
388
- pusher.connection.emit("message", {
389
- channel: "chan",
390
- event: "event",
391
- data: { key: "value" }
392
- });
393
- expect(onEvent).toHaveBeenCalledWith({ key: "value" });
394
- });
395
-
396
- it("should publish global events (deprecated)", function() {
397
- var onEvent = jasmine.createSpy("onEvent");
398
- var onAllEvents = jasmine.createSpy("onAllEvents");
399
- pusher.bind("global", onEvent);
400
- pusher.bind_global(onAllEvents);
401
-
402
- pusher.connection.emit("message", {
403
- event: "global",
404
- data: "data"
405
- });
406
- expect(onEvent).toHaveBeenCalledWith("data");
407
- expect(onAllEvents).toHaveBeenCalledWith("global", "data");
408
- });
409
-
410
- it("should not publish internal events", function() {
411
- var onEvent = jasmine.createSpy("onEvent");
412
- pusher.bind("pusher_internal:test", onEvent);
413
-
414
- pusher.connection.emit("message", {
415
- event: "pusher_internal:test",
416
- data: "data"
417
- });
418
- expect(onEvent).not.toHaveBeenCalled();
419
- });
420
- });
421
-
422
- describe("#unbind", function() {
423
- var pusher;
424
-
425
- beforeEach(function() {
426
- pusher = new Pusher("foo", {cluster: "mt1"});
427
- });
428
-
429
- it("should allow a globally bound callback to be removed", function() {
430
- var onEvent = jasmine.createSpy("onEvent");
431
- pusher.bind("event", onEvent);
432
- pusher.unbind("event", onEvent);
433
-
434
- pusher.connection.emit("message", {
435
- channel: "chan",
436
- event: "event",
437
- data: { key: "value" }
438
- });
439
- expect(onEvent).not.toHaveBeenCalled();
440
- });
441
- });
442
-
443
-
444
- describe("#disconnect", function() {
445
- it("should call disconnect on connection manager", function() {
446
- var pusher = new Pusher("foo", {cluster: "mt1"});
447
-
448
- pusher.disconnect();
449
- expect(pusher.connection.disconnect).toHaveBeenCalledWith();
450
- });
451
- });
452
-
453
- describe("after disconnecting", function() {
454
- it("should disconnect channels", function() {
455
- var pusher = new Pusher("foo", {cluster: "mt1"});
456
- var channel1 = pusher.subscribe("channel1");
457
- var channel2 = pusher.subscribe("channel2");
458
-
459
- pusher.connection.state = "disconnected";
460
- pusher.connection.emit("disconnected");
461
-
462
- expect(channel1.disconnect).toHaveBeenCalledWith();
463
- expect(channel2.disconnect).toHaveBeenCalledWith();
464
- });
465
- });
466
-
467
- describe("on error", function() {
468
- it("should log a warning to console", function() {
469
- var pusher = new Pusher("foo", {cluster: "mt1"});
470
-
471
- spyOn(Logger, "warn");
472
- pusher.connection.emit("error", "something");
473
- expect(Logger.warn).toHaveBeenCalledWith("something");
474
- });
475
- });
476
-
477
- describe("metrics", function() {
478
- var timelineSender;
479
-
480
- beforeEach(function() {
481
- jasmine.clock().uninstall();
482
- jasmine.clock().install();
483
-
484
- timelineSender = Mocks.getTimelineSender();
485
- spyOn(Factory, "createTimelineSender").and.returnValue(timelineSender);
486
- });
487
-
488
- afterEach(function() {
489
- jasmine.clock().uninstall();
490
- });
491
-
492
- it("should be sent to stats.pusher.com", function() {
493
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
494
- expect(Factory.createTimelineSender.calls.count()).toEqual(1);
495
- expect(Factory.createTimelineSender).toHaveBeenCalledWith(
496
- pusher.timeline,
497
- { host: "stats.pusher.com", path: "/timeline/v2/" + timelineTransport }
498
- );
499
- });
500
-
501
- it("should be sent to a hostname specified in constructor options", function() {
502
- var pusher = new Pusher("foo", {
503
- cluster: "mt1",
504
- statsHost: "example.com",
505
- enableStats: true
506
- });
507
- expect(Factory.createTimelineSender).toHaveBeenCalledWith(
508
- pusher.timeline,
509
- { host: "example.com", path: "/timeline/v2/" + timelineTransport }
510
- );
511
- });
512
-
513
- it("should not be sent by default", function() {
514
- var pusher = new Pusher("foo", {cluster: "mt1"});
515
- pusher.connect();
516
- pusher.connection.options.timeline.info({});
517
- jasmine.clock().tick(1000000);
518
- expect(timelineSender.send.calls.count()).toEqual(0);
519
- });
520
-
521
- it("should be sent if disableStats set to false", function() {
522
- var pusher = new Pusher("foo", { cluster: "mt1", disableStats: false });
523
- pusher.connect();
524
- pusher.connection.options.timeline.info({});
525
- expect(Factory.createTimelineSender.calls.count()).toEqual(1);
526
- expect(Factory.createTimelineSender).toHaveBeenCalledWith(
527
- pusher.timeline,
528
- { host: "stats.pusher.com", path: "/timeline/v2/" + timelineTransport }
529
- );
530
- });
531
-
532
- it("should honour enableStats setting if enableStats and disableStats set", function() {
533
- var pusher = new Pusher("foo", { cluster: "mt1", disableStats: true, enableStats: true });
534
- pusher.connect();
535
- pusher.connection.options.timeline.info({});
536
- expect(Factory.createTimelineSender.calls.count()).toEqual(1);
537
- expect(Factory.createTimelineSender).toHaveBeenCalledWith(
538
- pusher.timeline,
539
- { host: "stats.pusher.com", path: "/timeline/v2/" + timelineTransport }
540
- );
541
- });
542
-
543
- it("should not be sent before calling connect", function() {
544
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
545
- pusher.connection.options.timeline.info({});
546
- jasmine.clock().tick(1000000);
547
- expect(timelineSender.send.calls.count()).toEqual(0);
548
- });
549
-
550
- it("should be sent every 60 seconds after calling connect", function() {
551
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
552
- pusher.connect();
553
- expect(Factory.createTimelineSender.calls.count()).toEqual(1);
554
-
555
- pusher.connection.options.timeline.info({});
556
-
557
- jasmine.clock().tick(59999);
558
- expect(timelineSender.send.calls.count()).toEqual(0);
559
- jasmine.clock().tick(1);
560
- expect(timelineSender.send.calls.count()).toEqual(1);
561
- jasmine.clock().tick(60000);
562
- expect(timelineSender.send.calls.count()).toEqual(2);
563
- });
564
-
565
- it("should be sent after connecting", function() {
566
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
567
- pusher.connect();
568
- pusher.connection.options.timeline.info({});
569
-
570
- pusher.connection.state = "connected";
571
- pusher.connection.emit("connected");
572
-
573
- expect(timelineSender.send.calls.count()).toEqual(1);
574
- });
575
-
576
- it("should not be sent after disconnecting", function() {
577
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
578
- pusher.connect();
579
- pusher.disconnect();
580
-
581
- pusher.connection.options.timeline.info({});
582
-
583
- jasmine.clock().tick(1000000);
584
- expect(timelineSender.send.calls.count()).toEqual(0);
585
- });
586
-
587
- it("should be sent without TLS if connection is not using TLS", function() {
588
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
589
- pusher.connection.isUsingTLS.and.returnValue(false);
590
-
591
- pusher.connect();
592
- pusher.connection.options.timeline.info({});
593
-
594
- pusher.connection.state = "connected";
595
- pusher.connection.emit("connected");
596
-
597
- expect(timelineSender.send).toHaveBeenCalledWith(false);
598
- });
599
-
600
- it("should be sent with TLS if connection is over TLS", function() {
601
- var pusher = new Pusher("foo", { cluster: "mt1", enableStats: true });
602
- pusher.connection.isUsingTLS.and.returnValue(true);
603
-
604
- pusher.connect();
605
- pusher.connection.options.timeline.info({});
606
-
607
- pusher.connection.state = "connected";
608
- pusher.connection.emit("connected");
609
-
610
- expect(timelineSender.send).toHaveBeenCalledWith(true);
611
- });
612
- });
613
- });
@@ -1,18 +0,0 @@
1
- var Pusher = require('core/pusher').default;
2
- var PusherWithEncryption = require('core/pusher-with-encryption').default;
3
-
4
- describe('PusherWithEncryption', function() {
5
- it('should pass logToConsole config to parent class', function() {
6
- PusherWithEncryption.logToConsole = true;
7
- let pusher = new PusherWithEncryption('key', {cluster: "mt1"});
8
- expect(Pusher.logToConsole).toEqual(true);
9
- });
10
- it('should pass log function to parent class', function() {
11
- let _prevLog = PusherWithEncryption.log
12
- let logFn = jasmine.createSpy('logFn');
13
- PusherWithEncryption.log = logFn
14
- let pusher = new PusherWithEncryption('key', {cluster: "mt1"});
15
- expect(logFn).toHaveBeenCalled();
16
- PusherWithEncryption.log = _prevLog
17
- });
18
- });