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,715 +0,0 @@
1
- const Pusher = require('pusher_integration');
2
-
3
- const Integration = require('integration');
4
- const Collections = require('core/utils/collections');
5
- const Runtime = require('runtime').default;
6
- const TRANSPORTS = Runtime.Transports;
7
- const waitsFor = require('../../../helpers/waitsFor');
8
-
9
- function canRunTwoConnections(transport) {
10
- if (transport !== "sockjs") {
11
- return true;
12
- }
13
- return !/(MSIE [67])|(Version\/(4|5\.0).*Safari)/.test(navigator.userAgent);
14
- }
15
-
16
- function subscribe(pusher, channelName, callback) {
17
- var channel = pusher.subscribe(channelName);
18
- channel.bind("pusher:subscription_succeeded", function(param) {
19
- callback(channel, param);
20
- });
21
- return channel;
22
- }
23
-
24
- function delay(timeMs) {
25
- return new Promise(resolve => setTimeout(resolve, timeMs));
26
- }
27
-
28
- function build(testConfig) {
29
- var forceTLS = testConfig.forceTLS;
30
- var transport = testConfig.transport;
31
-
32
- if (!TRANSPORTS[transport].isSupported({ useTLS: forceTLS })) {
33
- return;
34
- }
35
-
36
- describe("with " + (transport ? transport + ", " : "") + "forceTLS=" + forceTLS, function() {
37
- var pusher1, pusher2;
38
- var jasmineDefaultTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
39
-
40
- beforeAll(() => {
41
- jasmine.DEFAULT_TIMEOUT_INTERVAL = 41000;
42
- });
43
-
44
- afterAll(() => {
45
- jasmine.DEFAULT_TIMEOUT_INTERVAL = jasmineDefaultTimeout;
46
- });
47
-
48
- beforeEach(function() {
49
- Collections.objectApply(TRANSPORTS, function(t, name) {
50
- spyOn(t, "isSupported").and.returnValue(false);
51
- });
52
- TRANSPORTS[transport].isSupported.and.returnValue(true);
53
- });
54
-
55
- describe("setup", function() {
56
- it("should open connections", async function() {
57
- pusher1 = new Pusher("c49a449b916bb4246729", {
58
- forceTLS: forceTLS,
59
- cluster: "mt1"
60
- });
61
- if (canRunTwoConnections(transport)) {
62
- pusher2 = new Pusher("c49a449b916bb4246729", {
63
- forceTLS: forceTLS,
64
- cluster: "mt1"
65
- });
66
- await waitsFor(function() {
67
- return pusher2.connection.state === "connected";
68
- }, "second connection to be established", 20000);
69
- }
70
- await waitsFor(function() {
71
- return pusher1.connection.state === "connected";
72
- }, "first connection to be established", 20000);
73
- });
74
-
75
- });
76
-
77
- describe("with a public channel", function() {
78
- buildPublicChannelTests(
79
- function() { return pusher1; }
80
- );
81
- });
82
-
83
- describe("with a private channel", function() {
84
- var channelName = Integration.getRandomName("private-integration");
85
- var channel1, channel2;
86
-
87
- buildSubscriptionStateTests(
88
- function() { return pusher1; },
89
- "private-"
90
- );
91
-
92
- if (canRunTwoConnections(transport)) {
93
- buildClientEventsTests(
94
- function() { return pusher1; },
95
- function() { return pusher2; },
96
- "private-"
97
- );
98
- }
99
- });
100
-
101
- describe("with a presence channel", function() {
102
- buildSubscriptionStateTests(
103
- function() { return pusher1; },
104
- "presence-"
105
- );
106
-
107
- if (canRunTwoConnections(transport)) {
108
- buildClientEventsTests(
109
- function() { return pusher1; },
110
- function() { return pusher2; },
111
- "presence-"
112
- );
113
- buildPresenceChannelTests(
114
- function() { return pusher1; },
115
- function() { return pusher2; }
116
- );
117
- }
118
- });
119
-
120
- describe("teardown", function() {
121
- if (canRunTwoConnections(transport)) {
122
- it("should disconnect second connection", function() {
123
- pusher2.disconnect();
124
- });
125
- }
126
-
127
- it("should disconnect first connection", function() {
128
- pusher1.disconnect();
129
- });
130
- });
131
- });
132
- }
133
- function buildPresenceChannelTests(getPusher1, getPusher2) {
134
- it("should get connection's member data", async function() {
135
- var pusher = getPusher1();
136
- var channelName = Integration.getRandomName("presence-integration_me");
137
-
138
- var members = null;
139
- subscribe(pusher, channelName, function(channel, ms) {
140
- members = ms;
141
- });
142
-
143
- await waitsFor(function() {
144
- return members !== null;
145
- }, "channel to subscribe", 10000);
146
-
147
- expect(members.me).toEqual({
148
- id: pusher.connection.socket_id,
149
- info: {
150
- name: "Integration " + pusher.connection.socket_id,
151
- email: "integration-" + pusher.connection.socket_id + "@example.com"
152
- }
153
- });
154
- });
155
-
156
- it("should receive a member added event", async function() {
157
- var pusher1 = getPusher1();
158
- var pusher2 = getPusher2();
159
- var channelName = Integration.getRandomName("presence-integration_member_added");
160
-
161
- var member = null;
162
- subscribe(pusher1, channelName, function(channel) {
163
- channel.bind("pusher:member_added", function(m) {
164
- member = m;
165
- });
166
-
167
- subscribe(pusher2, channelName, function() {});
168
- });
169
-
170
- await waitsFor(function() {
171
- return member !== null;
172
- }, "the member added event", 10000);
173
-
174
- expect(member.id).toEqual(pusher2.connection.socket_id);
175
- expect(member).toEqual({
176
- id: pusher2.connection.socket_id,
177
- info: {
178
- name: "Integration " + pusher2.connection.socket_id,
179
- email: "integration-" + pusher2.connection.socket_id + "@example.com"
180
- }
181
- });
182
-
183
- pusher1.unsubscribe(channelName);
184
- pusher2.unsubscribe(channelName);
185
- });
186
-
187
- it("should receive a member removed event", async function() {
188
- var pusher1 = getPusher1();
189
- var pusher2 = getPusher2();
190
- var channelName = Integration.getRandomName("presence-integration_member_removed");
191
-
192
- var member = null;
193
- subscribe(pusher2, channelName, function(channel) {
194
- channel.bind("pusher:member_added", function(_) {
195
- channel.bind("pusher:member_removed", function(m) {
196
- member = m;
197
- });
198
- pusher1.unsubscribe(channelName);
199
- });
200
-
201
- subscribe(pusher1, channelName, function() {});
202
- });
203
-
204
- await waitsFor(function() {
205
- return member !== null;
206
- }, "the member removed event", 10000);
207
-
208
- expect(member.id).toEqual(pusher1.connection.socket_id);
209
- expect(member).toEqual({
210
- id: pusher1.connection.socket_id,
211
- info: {
212
- name: "Integration " + pusher1.connection.socket_id,
213
- email: "integration-" + pusher1.connection.socket_id + "@example.com"
214
- }
215
- });
216
-
217
- pusher2.unsubscribe(channelName);
218
- });
219
-
220
- it("should maintain correct members count", async function() {
221
- var pusher1 = getPusher1();
222
- var pusher2 = getPusher2();
223
- var channelName = Integration.getRandomName("presence-integration_member_count");
224
-
225
- var channel1, channel2;
226
-
227
- var onSubscribed1 = jasmine.createSpy("onSubscribed1");
228
- var onSubscribed2 = jasmine.createSpy("onSubscribed2");
229
- var onMemberAdded = jasmine.createSpy("onMemberAdded");
230
- var onMemberRemoved = jasmine.createSpy("onMemberRemoved");
231
-
232
- channel1 = subscribe(pusher1, channelName, onSubscribed1);
233
- expect(channel1.members.count).toEqual(0);
234
-
235
- await waitsFor(function() {
236
- return onSubscribed1.calls.count() > 0;
237
- }, "first connection to subscribe", 10000);
238
-
239
- expect(channel1.members.count).toEqual(1);
240
- channel1.bind("pusher:member_added", onMemberAdded);
241
- channel2 = subscribe(pusher2, channelName, onSubscribed2);
242
-
243
- await waitsFor(function() {
244
- return onSubscribed2.calls.count() > 0;
245
- }, "second connection to subscribe", 10000);
246
-
247
- expect(channel2.members.count).toEqual(2);
248
-
249
- await waitsFor(function() {
250
- return onMemberAdded.calls.count() > 0;
251
- }, "member added event", 10000);
252
-
253
- expect(channel1.members.count).toEqual(2);
254
- channel2.bind("pusher:member_removed", onMemberRemoved);
255
- pusher1.unsubscribe(channelName);
256
-
257
- await waitsFor(function() {
258
- return onMemberRemoved.calls.count() > 0;
259
- }, "member removed event", 10000);
260
-
261
- expect(channel2.members.count).toEqual(1);
262
- });
263
-
264
- it("should maintain correct members data", async function() {
265
- var pusher1 = getPusher1();
266
- var pusher2 = getPusher2();
267
- var channelName = Integration.getRandomName("presence-integration_member_count");
268
-
269
- var channel1, channel2;
270
-
271
- var onSubscribed1 = jasmine.createSpy("onSubscribed1");
272
- var onSubscribed2 = jasmine.createSpy("onSubscribed2");
273
- var onMemberAdded = jasmine.createSpy("onMemberAdded");
274
- var onMemberRemoved = jasmine.createSpy("onMemberRemoved");
275
-
276
- var member1 = {
277
- id: pusher1.connection.socket_id,
278
- info: {
279
- name: "Integration " + pusher1.connection.socket_id,
280
- email: "integration-" + pusher1.connection.socket_id + "@example.com"
281
- }
282
- };
283
- var member2 = {
284
- id: pusher2.connection.socket_id,
285
- info: {
286
- name: "Integration " + pusher2.connection.socket_id,
287
- email: "integration-" + pusher2.connection.socket_id + "@example.com"
288
- }
289
- };
290
-
291
- channel1 = subscribe(pusher1, channelName, onSubscribed1);
292
-
293
- await waitsFor(function() {
294
- return onSubscribed1.calls.count() > 0;
295
- }, "first connection to subscribe", 10000);
296
-
297
- expect(channel1.members.get(pusher1.connection.socket_id))
298
- .toEqual(member1);
299
- expect(channel1.members.get(pusher2.connection.socket_id))
300
- .toBe(null);
301
-
302
- expect(channel1.members.me).toEqual(member1);
303
-
304
- channel1.bind("pusher:member_added", onMemberAdded);
305
- channel2 = subscribe(pusher2, channelName, onSubscribed2);
306
-
307
- await waitsFor(function() {
308
- return onSubscribed2.calls.count() > 0;
309
- }, "second connection to subscribe", 10000);
310
-
311
- expect(channel2.members.get(pusher1.connection.socket_id))
312
- .toEqual(member1);
313
- expect(channel2.members.get(pusher2.connection.socket_id))
314
- .toEqual(member2);
315
-
316
- expect(channel2.members.me).toEqual(member2);
317
-
318
- await waitsFor(function() {
319
- return onMemberAdded.calls.count() > 0;
320
- }, "member added event", 10000);
321
-
322
- expect(channel1.members.get(pusher1.connection.socket_id))
323
- .toEqual(member1);
324
- expect(channel1.members.get(pusher2.connection.socket_id))
325
- .toEqual(member2);
326
-
327
- channel2.bind("pusher:member_removed", onMemberRemoved);
328
- pusher1.unsubscribe(channelName);
329
-
330
- await waitsFor(function() {
331
- return onMemberRemoved.calls.count() > 0;
332
- }, "member removed event", 10000);
333
-
334
- expect(channel2.members.get(pusher1.connection.socket_id))
335
- .toBe(null);
336
- expect(channel2.members.get(pusher2.connection.socket_id))
337
- .toEqual(member2);
338
- });
339
- }
340
- function buildClientEventsTests(getPusher1, getPusher2, prefix) {
341
- it("should receive a client event sent by another connection", async function() {
342
- var pusher1 = getPusher1();
343
- var pusher2 = getPusher2();
344
-
345
- var channelName = Integration.getRandomName((prefix || "") + "integration_client_events");
346
-
347
- var channel1, channel2;
348
- var onSubscribed1 = jasmine.createSpy("onSubscribed1");
349
- var onSubscribed2 = jasmine.createSpy("onSubscribed2");
350
-
351
- var eventName = "client-test";
352
- var data = { foo: "bar" };
353
- var onEvent1 = jasmine.createSpy("onEvent1");
354
- var onEvent2 = jasmine.createSpy("onEvent2");
355
-
356
-
357
- channel1 = subscribe(pusher1, channelName, onSubscribed1);
358
- channel2 = subscribe(pusher2, channelName, onSubscribed2);
359
-
360
- await waitsFor(function() {
361
- return onSubscribed1.calls.count() > 0 && onSubscribed2.calls.count() > 0;
362
- }, "both connections to subscribe", 10000);
363
-
364
- channel1.bind(eventName, onEvent1);
365
- channel2.bind(eventName, onEvent2);
366
- pusher1.send_event(eventName, data, channelName);
367
-
368
- await waitsFor(function() {
369
- return onEvent2.calls.count();
370
- }, "second connection to receive a message", 10000);
371
-
372
- pusher1.unsubscribe(channelName);
373
- pusher2.unsubscribe(channelName);
374
- });
375
-
376
- it("should not receive a client event sent by itself", async function() {
377
- var pusher = getPusher1();
378
-
379
- var channelName = Integration.getRandomName((prefix || "") + "integration_client_events");
380
- var onSubscribed = jasmine.createSpy("onSubscribed");
381
-
382
- var eventName = "client-test";
383
- var onEvent = jasmine.createSpy("onEvent");
384
- var timer = null;
385
-
386
- var channel = subscribe(pusher, channelName, onSubscribed);
387
- await waitsFor(function() {
388
- return onSubscribed.calls.count() > 0;
389
- }, "connection to subscribe", 10000);
390
-
391
- channel.bind(eventName, onEvent);
392
- pusher.send_event(eventName, {}, channelName);
393
- await delay(5000);
394
-
395
- expect(onEvent).not.toHaveBeenCalled();
396
- pusher.unsubscribe(channelName);
397
- });
398
- }
399
- function buildPublicChannelTests(getPusher, prefix) {
400
- it("should subscribe and receive a message sent via REST API", async function() {
401
- var pusher = getPusher();
402
- var channelName = Integration.getRandomName((prefix || "") + "integration");
403
-
404
- var onSubscribed = jasmine.createSpy("onSubscribed");
405
- var channel = subscribe(pusher, channelName, onSubscribed);
406
-
407
- var eventName = "integration_event";
408
- var data = { x: 1, y: "z" };
409
- var received = null;
410
-
411
- await waitsFor(function() {
412
- return onSubscribed.calls.count();
413
- }, "subscription to succeed", 10000);
414
-
415
- channel.bind(eventName, function(message) {
416
- received = message;
417
- });
418
- Integration.sendAPIMessage({
419
- url: Integration.API_URL + "/v2/send",
420
- channel: channelName,
421
- event: eventName,
422
- data: data
423
- });
424
-
425
- await waitsFor(function() {
426
- return received !== null;
427
- }, "message to get delivered", 10000);
428
-
429
- expect(received).toEqual(data);
430
- pusher.unsubscribe(channelName);
431
- });
432
-
433
- it("should not receive messages after unsubscribing", async function() {
434
- var pusher = getPusher();
435
- var channelName = Integration.getRandomName((prefix || "") + "integration");
436
-
437
- var onSubscribed = jasmine.createSpy("onSubscribed");
438
- var channel = subscribe(pusher, channelName, onSubscribed);
439
-
440
- var eventName = "after_unsubscribing";
441
- var received = null;
442
- var timer = null;
443
-
444
- await waitsFor(function() {
445
- return onSubscribed.calls.count();
446
- }, "subscription to succeed", 10000);
447
-
448
- channel.bind(eventName, function(message) {
449
- received = message;
450
- });
451
- pusher.unsubscribe(channelName);
452
- Integration.sendAPIMessage({
453
- url: Integration.API_URL + "/v2/send",
454
- channel: channelName,
455
- event: eventName,
456
- data: {}
457
- });
458
- await delay(5000);
459
- expect(received).toBe(null);
460
- });
461
-
462
- it("should handle unsubscribing as an idempotent operation", async function() {
463
- var pusher = getPusher();
464
- var channelName = Integration.getRandomName((prefix || "") + "integration");
465
-
466
- var onSubscribed = jasmine.createSpy("onSubscribed");
467
- subscribe(pusher, channelName, onSubscribed);
468
-
469
- await waitsFor(function() {
470
- return onSubscribed.calls.count();
471
- }, "subscription to succeed", 10000);
472
-
473
- pusher.unsubscribe(channelName);
474
- pusher.unsubscribe(channelName);
475
- pusher.unsubscribe(channelName);
476
- });
477
-
478
- it("should handle cancelling pending subscription", async function() {
479
- var pusher = getPusher();
480
- var channelName = Integration.getRandomName((prefix || "") + "integration");
481
-
482
- var eventName = "after_unsubscribing";
483
- var received = null;
484
- var timer = null;
485
-
486
- var channel = pusher.subscribe(channelName);
487
- channel.bind(eventName, function(message) {
488
- received = message;
489
- });
490
-
491
- pusher.unsubscribe(channelName);
492
- await waitsFor(function() {
493
- return !channel.subscriptionPending;
494
- }, "subscription to succeed", 10000);
495
-
496
- Integration.sendAPIMessage({
497
- url: Integration.API_URL + "/v2/send",
498
- channel: channelName,
499
- event: eventName,
500
- data: {}
501
- });
502
- await delay(5000);
503
-
504
- expect(channel.subscribed).toEqual(false);
505
- expect(received).toBe(null);
506
- });
507
-
508
- it("should handle reinstating cancelled pending subscription", async function() {
509
- var pusher = getPusher();
510
- var channelName = Integration.getRandomName((prefix || "") + "integration");
511
-
512
- var eventName = "after_subscribing";
513
- var received = null;
514
- var timer = null;
515
-
516
- var channel = pusher.subscribe(channelName);
517
- channel.bind(eventName, function(message) {
518
- received = message;
519
- });
520
-
521
- pusher.unsubscribe(channelName);
522
- pusher.subscribe(channelName);
523
- await waitsFor(function() {
524
- return !channel.subscriptionPending;
525
- }, "subscription to succeed", 10000);
526
-
527
- Integration.sendAPIMessage({
528
- url: Integration.API_URL + "/v2/send",
529
- channel: channelName,
530
- event: eventName,
531
- data: {}
532
- });
533
- await delay(10000);
534
-
535
- expect(channel.subscribed).toEqual(true);
536
- expect(received).not.toBe(null);
537
- });
538
- }
539
-
540
- function buildSubscriptionStateTests(getPusher, prefix) {
541
- it("sub-sub = sub", async function() {
542
- var pusher = getPusher();
543
- var channelName = Integration.getRandomName((prefix || "") + "integration");
544
-
545
- pusher.subscribe(channelName)
546
- expect(pusher.channel(channelName).subscribed).toEqual(false);
547
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
548
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
549
- pusher.subscribe(channelName)
550
- expect(pusher.channel(channelName).subscribed).toEqual(false);
551
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
552
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
553
-
554
- await waitsFor(function() {
555
- return pusher.channel(channelName).subscribed;
556
- }, "subscription to finish", 10000);
557
-
558
- expect(pusher.channel(channelName).subscribed).toEqual(true);
559
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
560
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
561
- });
562
-
563
- it("sub-wait-sub = sub", async function() {
564
- var pusher = getPusher();
565
- var channelName = Integration.getRandomName((prefix || "") + "integration");
566
-
567
- pusher.subscribe(channelName)
568
- expect(pusher.channel(channelName).subscribed).toEqual(false);
569
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
570
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
571
-
572
- await waitsFor(function() {
573
- return pusher.channel(channelName).subscribed;
574
- }, "subscription to finish", 10000);
575
-
576
- expect(pusher.channel(channelName).subscribed).toEqual(true);
577
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
578
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
579
-
580
- pusher.subscribe(channelName)
581
- expect(pusher.channel(channelName).subscribed).toEqual(true);
582
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
583
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
584
- });
585
-
586
- it("sub-unsub = NOP", async function() {
587
- var pusher = getPusher();
588
- var channelName = Integration.getRandomName((prefix || "") + "integration");
589
-
590
- pusher.subscribe(channelName)
591
- expect(pusher.channel(channelName).subscribed).toEqual(false);
592
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
593
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
594
-
595
- pusher.unsubscribe(channelName)
596
- expect(pusher.channel(channelName).subscribed).toEqual(false);
597
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
598
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(true);
599
-
600
- // there is no easy way to know when an unsubscribe request has been
601
- // actioned by the server, so we just wait a while
602
- await delay(5000);
603
-
604
- expect(pusher.channel(channelName)).toBe(undefined);
605
- });
606
-
607
- it("sub-wait-unsub = NOP", async function() {
608
- var pusher = getPusher();
609
- var channelName = Integration.getRandomName((prefix || "") + "integration");
610
-
611
- pusher.subscribe(channelName)
612
- expect(pusher.channel(channelName).subscribed).toEqual(false);
613
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
614
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
615
-
616
- await waitsFor(function() {
617
- return pusher.channel(channelName).subscribed;
618
- }, "subscription to finish", 10000);
619
-
620
- expect(pusher.channel(channelName).subscribed).toEqual(true);
621
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
622
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
623
-
624
- pusher.unsubscribe(channelName)
625
- expect(pusher.channel(channelName)).toBe(undefined);
626
- });
627
-
628
- it("sub-unsub-sub = sub", async function() {
629
- var pusher = getPusher();
630
- var channelName = Integration.getRandomName((prefix || "") + "integration");
631
-
632
- pusher.subscribe(channelName)
633
- expect(pusher.channel(channelName).subscribed).toEqual(false);
634
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
635
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
636
-
637
- pusher.unsubscribe(channelName)
638
- expect(pusher.channel(channelName).subscribed).toEqual(false);
639
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
640
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(true);
641
-
642
- pusher.subscribe(channelName)
643
- expect(pusher.channel(channelName).subscribed).toEqual(false);
644
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
645
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
646
-
647
- await waitsFor(function() {
648
- return pusher.channel(channelName).subscribed;
649
- }, "subscription to finish", 10000);
650
-
651
- expect(pusher.channel(channelName).subscribed).toEqual(true);
652
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
653
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
654
- });
655
-
656
- it("sub-unsub-wait-sub = sub", async function() {
657
- var pusher = getPusher();
658
- var channelName = Integration.getRandomName((prefix || "") + "integration");
659
-
660
- pusher.subscribe(channelName)
661
- expect(pusher.channel(channelName).subscribed).toEqual(false);
662
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
663
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
664
-
665
- pusher.unsubscribe(channelName)
666
- expect(pusher.channel(channelName).subscribed).toEqual(false);
667
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
668
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(true);
669
-
670
- // there is no easy way to know when an unsubscribe request has been
671
- // actioned by the server, so we just wait a while
672
- await delay(5000);
673
- expect(pusher.channel(channelName)).toBe(undefined);
674
-
675
- pusher.subscribe(channelName)
676
- expect(pusher.channel(channelName).subscribed).toEqual(false);
677
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
678
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
679
-
680
- await waitsFor(function() {
681
- return pusher.channel(channelName).subscribed;
682
- }, "subscription to finish", 10000);
683
-
684
- expect(pusher.channel(channelName).subscribed).toEqual(true);
685
- expect(pusher.channel(channelName).subscriptionPending).toEqual(false);
686
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
687
- });
688
-
689
- it("sub-unsub-unsub = NOP", async function() {
690
- var pusher = getPusher();
691
- var channelName = Integration.getRandomName((prefix || "") + "integration");
692
-
693
- pusher.subscribe(channelName)
694
- expect(pusher.channel(channelName).subscribed).toEqual(false);
695
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
696
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(false);
697
-
698
- pusher.unsubscribe(channelName)
699
- expect(pusher.channel(channelName).subscribed).toEqual(false);
700
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
701
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(true);
702
-
703
- pusher.unsubscribe(channelName)
704
- expect(pusher.channel(channelName).subscribed).toEqual(false);
705
- expect(pusher.channel(channelName).subscriptionPending).toEqual(true);
706
- expect(pusher.channel(channelName).subscriptionCancelled).toEqual(true);
707
-
708
- // there is no easy way to know when an unsubscribe request has been
709
- // actioned by the server, so we just wait a while
710
- await delay(5000);
711
-
712
- expect(pusher.channel(channelName)).toBe(undefined);
713
- });
714
- }
715
- module.exports = {build}