pingerchips-js 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/README.md +53 -655
  2. package/index.js +169 -0
  3. package/package.json +20 -59
  4. package/.editorconfig +0 -14
  5. package/.github/ISSUE_TEMPLATE.md +0 -11
  6. package/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  7. package/.github/dependabot.yml +0 -14
  8. package/.github/stale.yml +0 -26
  9. package/.github/workflows/release.yml +0 -112
  10. package/.github/workflows/release_pr.yml +0 -43
  11. package/.github/workflows/run-tests.yml +0 -62
  12. package/.gitmodules +0 -3
  13. package/.prettierrc +0 -2
  14. package/CHANGELOG.md +0 -924
  15. package/LICENCE +0 -19
  16. package/Makefile +0 -78
  17. package/bower.json +0 -28
  18. package/dist/node/pusher.js +0 -10870
  19. package/dist/node/pusher.js.map +0 -1
  20. package/dist/react-native/pusher.js +0 -9
  21. package/dist/react-native/pusher.js.map +0 -1
  22. package/dist/web/json2.js +0 -486
  23. package/dist/web/json2.min.js +0 -1
  24. package/dist/web/pusher-with-encryption.js +0 -7009
  25. package/dist/web/pusher-with-encryption.js.map +0 -1
  26. package/dist/web/pusher-with-encryption.min.js +0 -9
  27. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  28. package/dist/web/pusher.js +0 -4587
  29. package/dist/web/pusher.js.map +0 -1
  30. package/dist/web/pusher.min.js +0 -9
  31. package/dist/web/pusher.min.js.map +0 -1
  32. package/dist/web/sockjs.js +0 -2435
  33. package/dist/web/sockjs.min.js +0 -89
  34. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  35. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  36. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  37. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  38. package/dist/worker/pusher.worker.js +0 -4200
  39. package/dist/worker/pusher.worker.js.map +0 -1
  40. package/dist/worker/pusher.worker.min.js +0 -9
  41. package/dist/worker/pusher.worker.min.js.map +0 -1
  42. package/index.d.ts +0 -29
  43. package/integration_tests_server/index.js +0 -176
  44. package/integration_tests_server/package-lock.json +0 -1177
  45. package/integration_tests_server/package.json +0 -15
  46. package/node.js +0 -1
  47. package/pusher-with-encryption/index.js +0 -1
  48. package/react-native/index.d.ts +0 -29
  49. package/react-native/index.js +0 -1
  50. package/spec/config/jasmine/helpers/reporter.js +0 -14
  51. package/spec/config/jasmine/integration.json +0 -13
  52. package/spec/config/jasmine/unit.json +0 -13
  53. package/spec/config/jasmine/webpack.integration.js +0 -33
  54. package/spec/config/jasmine/webpack.unit.js +0 -30
  55. package/spec/config/karma/available_browsers.json +0 -4957
  56. package/spec/config/karma/config.ci.js +0 -25
  57. package/spec/config/karma/config.common.js +0 -50
  58. package/spec/config/karma/config.integration.js +0 -26
  59. package/spec/config/karma/config.unit.js +0 -10
  60. package/spec/config/karma/config.worker.js +0 -34
  61. package/spec/config/karma/integration.js +0 -24
  62. package/spec/config/karma/unit.js +0 -20
  63. package/spec/javascripts/helpers/mocks.js +0 -274
  64. package/spec/javascripts/helpers/node/integration.js +0 -33
  65. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  66. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  67. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -12
  68. package/spec/javascripts/helpers/timers/promises.js +0 -9
  69. package/spec/javascripts/helpers/waitsFor.js +0 -37
  70. package/spec/javascripts/helpers/web/integration.js +0 -44
  71. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  72. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  73. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  74. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  75. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  76. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  77. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  78. package/spec/javascripts/integration/index.node.js +0 -12
  79. package/spec/javascripts/integration/index.web.js +0 -63
  80. package/spec/javascripts/integration/index.worker.js +0 -13
  81. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  82. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  83. package/spec/javascripts/polyfills/index.js +0 -105
  84. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  85. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  86. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  87. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  88. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  89. package/spec/javascripts/unit/core/config_spec.js +0 -507
  90. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  91. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  92. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  93. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  94. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  95. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  96. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  97. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  98. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  99. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  100. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  101. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  102. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  103. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  104. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  105. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  106. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  107. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  108. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  109. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  110. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  111. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  112. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  113. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  114. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  115. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  116. package/spec/javascripts/unit/core/user_spec.js +0 -303
  117. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  118. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  119. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  120. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  121. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  122. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  123. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  124. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  125. package/spec/javascripts/unit/index.node.js +0 -11
  126. package/spec/javascripts/unit/index.web.js +0 -12
  127. package/spec/javascripts/unit/index.worker.js +0 -11
  128. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  129. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  130. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  131. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  132. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  133. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  134. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  135. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  136. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  137. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  138. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  139. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  140. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  141. package/src/core/auth/auth_transports.ts +0 -18
  142. package/src/core/auth/channel_authorizer.ts +0 -64
  143. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  144. package/src/core/auth/options.ts +0 -78
  145. package/src/core/auth/user_authenticator.ts +0 -62
  146. package/src/core/base64.ts +0 -49
  147. package/src/core/channels/channel.ts +0 -163
  148. package/src/core/channels/channel_table.ts +0 -7
  149. package/src/core/channels/channels.ts +0 -85
  150. package/src/core/channels/encrypted_channel.ts +0 -149
  151. package/src/core/channels/members.ts +0 -80
  152. package/src/core/channels/metadata.ts +0 -5
  153. package/src/core/channels/presence_channel.ts +0 -113
  154. package/src/core/channels/private_channel.ts +0 -25
  155. package/src/core/config.ts +0 -189
  156. package/src/core/connection/callbacks.ts +0 -21
  157. package/src/core/connection/connection.ts +0 -160
  158. package/src/core/connection/connection_manager.ts +0 -371
  159. package/src/core/connection/connection_manager_options.ts +0 -14
  160. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  161. package/src/core/connection/handshake/index.ts +0 -90
  162. package/src/core/connection/protocol/action.ts +0 -8
  163. package/src/core/connection/protocol/message-types.ts +0 -8
  164. package/src/core/connection/protocol/protocol.ts +0 -154
  165. package/src/core/defaults.ts +0 -66
  166. package/src/core/errors.ts +0 -69
  167. package/src/core/events/callback.ts +0 -6
  168. package/src/core/events/callback_registry.ts +0 -75
  169. package/src/core/events/callback_table.ts +0 -7
  170. package/src/core/events/dispatcher.ts +0 -84
  171. package/src/core/http/ajax.ts +0 -24
  172. package/src/core/http/http_factory.ts +0 -16
  173. package/src/core/http/http_polling_socket.ts +0 -24
  174. package/src/core/http/http_request.ts +0 -81
  175. package/src/core/http/http_socket.ts +0 -220
  176. package/src/core/http/http_streaming_socket.ts +0 -19
  177. package/src/core/http/request_hooks.ts +0 -9
  178. package/src/core/http/socket_hooks.ts +0 -11
  179. package/src/core/http/state.ts +0 -7
  180. package/src/core/http/url_location.ts +0 -6
  181. package/src/core/logger.ts +0 -53
  182. package/src/core/options.ts +0 -59
  183. package/src/core/pusher-licence.js +0 -7
  184. package/src/core/pusher-with-encryption.js +0 -1
  185. package/src/core/pusher-with-encryption.ts +0 -14
  186. package/src/core/pusher.js +0 -2
  187. package/src/core/pusher.ts +0 -249
  188. package/src/core/reachability.ts +0 -7
  189. package/src/core/socket.ts +0 -14
  190. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  191. package/src/core/strategies/delayed_strategy.ts +0 -48
  192. package/src/core/strategies/first_connected_strategy.ts +0 -28
  193. package/src/core/strategies/if_strategy.ts +0 -34
  194. package/src/core/strategies/sequential_strategy.ts +0 -129
  195. package/src/core/strategies/strategy.ts +0 -8
  196. package/src/core/strategies/strategy_builder.ts +0 -67
  197. package/src/core/strategies/strategy_options.ts +0 -18
  198. package/src/core/strategies/strategy_runner.ts +0 -6
  199. package/src/core/strategies/transport_strategy.ts +0 -144
  200. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  201. package/src/core/timeline/level.ts +0 -7
  202. package/src/core/timeline/timeline.ts +0 -90
  203. package/src/core/timeline/timeline_sender.ts +0 -33
  204. package/src/core/timeline/timeline_transport.ts +0 -11
  205. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  206. package/src/core/transports/ping_delay_options.ts +0 -7
  207. package/src/core/transports/transport.ts +0 -54
  208. package/src/core/transports/transport_connection.ts +0 -241
  209. package/src/core/transports/transport_connection_options.ts +0 -8
  210. package/src/core/transports/transport_hooks.ts +0 -16
  211. package/src/core/transports/transport_manager.ts +0 -52
  212. package/src/core/transports/transports_table.ts +0 -12
  213. package/src/core/transports/url_scheme.ts +0 -13
  214. package/src/core/transports/url_schemes.ts +0 -47
  215. package/src/core/user.ts +0 -186
  216. package/src/core/util.ts +0 -34
  217. package/src/core/utils/collections.ts +0 -353
  218. package/src/core/utils/factory.ts +0 -75
  219. package/src/core/utils/flat_promise.ts +0 -10
  220. package/src/core/utils/timers/abstract_timer.ts +0 -39
  221. package/src/core/utils/timers/index.ts +0 -39
  222. package/src/core/utils/timers/scheduling.ts +0 -11
  223. package/src/core/utils/timers/timed_callback.ts +0 -5
  224. package/src/core/utils/url_store.ts +0 -48
  225. package/src/core/watchlist.ts +0 -31
  226. package/src/d.ts/constants/index.d.ts +0 -5
  227. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  228. package/src/d.ts/global/global.d.ts +0 -1
  229. package/src/d.ts/module/module.d.ts +0 -12
  230. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  231. package/src/d.ts/window/events.d.ts +0 -4
  232. package/src/d.ts/window/sockjs.d.ts +0 -3
  233. package/src/d.ts/window/websocket.d.ts +0 -4
  234. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  235. package/src/runtimes/interface.ts +0 -59
  236. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  237. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  238. package/src/runtimes/isomorphic/http/http.ts +0 -32
  239. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  240. package/src/runtimes/isomorphic/runtime.ts +0 -62
  241. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  242. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  243. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  244. package/src/runtimes/node/net_info.ts +0 -10
  245. package/src/runtimes/node/runtime.ts +0 -68
  246. package/src/runtimes/react-native/net_info.ts +0 -42
  247. package/src/runtimes/react-native/runtime.ts +0 -65
  248. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  249. package/src/runtimes/web/browser.ts +0 -24
  250. package/src/runtimes/web/default_strategy.ts +0 -201
  251. package/src/runtimes/web/dom/dependencies.ts +0 -16
  252. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  253. package/src/runtimes/web/dom/json2.js +0 -486
  254. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  255. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  256. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  257. package/src/runtimes/web/dom/script_request.ts +0 -85
  258. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  259. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  260. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  261. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  262. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  263. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  264. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  265. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  266. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  267. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  268. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  269. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  270. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  271. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  272. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  273. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  274. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  275. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  276. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  277. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  278. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  279. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  280. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  281. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  282. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  283. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  284. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  285. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  286. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  287. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  288. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  289. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  290. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  291. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  292. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  293. package/src/runtimes/web/dom/sockjs/version +0 -1
  294. package/src/runtimes/web/http/http.ts +0 -8
  295. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  296. package/src/runtimes/web/net_info.ts +0 -50
  297. package/src/runtimes/web/runtime.ts +0 -174
  298. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  299. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  300. package/src/runtimes/web/transports/transports.ts +0 -65
  301. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  302. package/src/runtimes/worker/net_info.ts +0 -10
  303. package/src/runtimes/worker/runtime.ts +0 -75
  304. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  305. package/tsconfig.json +0 -26
  306. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  307. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  308. package/types/src/core/auth/auth_transports.d.ts +0 -9
  309. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  310. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  311. package/types/src/core/auth/options.d.ts +0 -48
  312. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  313. package/types/src/core/base64.d.ts +0 -1
  314. package/types/src/core/channels/channel.d.ts +0 -23
  315. package/types/src/core/channels/channel_table.d.ts +0 -5
  316. package/types/src/core/channels/channels.d.ts +0 -12
  317. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  318. package/types/src/core/channels/members.d.ts +0 -14
  319. package/types/src/core/channels/metadata.d.ts +0 -4
  320. package/types/src/core/channels/presence_channel.d.ts +0 -13
  321. package/types/src/core/channels/private_channel.d.ts +0 -5
  322. package/types/src/core/config.d.ts +0 -31
  323. package/types/src/core/connection/callbacks.d.ts +0 -18
  324. package/types/src/core/connection/connection.d.ts +0 -16
  325. package/types/src/core/connection/connection_manager.d.ts +0 -50
  326. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  327. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  328. package/types/src/core/connection/handshake/index.d.ts +0 -12
  329. package/types/src/core/connection/protocol/action.d.ts +0 -7
  330. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  331. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  332. package/types/src/core/defaults.d.ts +0 -26
  333. package/types/src/core/errors.d.ts +0 -28
  334. package/types/src/core/events/callback.d.ts +0 -5
  335. package/types/src/core/events/callback_registry.d.ts +0 -11
  336. package/types/src/core/events/callback_table.d.ts +0 -5
  337. package/types/src/core/events/dispatcher.d.ts +0 -14
  338. package/types/src/core/http/ajax.d.ts +0 -16
  339. package/types/src/core/http/http_factory.d.ts +0 -13
  340. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  341. package/types/src/core/http/http_request.d.ts +0 -17
  342. package/types/src/core/http/http_socket.d.ts +0 -32
  343. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  344. package/types/src/core/http/request_hooks.d.ts +0 -6
  345. package/types/src/core/http/socket_hooks.d.ts +0 -8
  346. package/types/src/core/http/state.d.ts +0 -6
  347. package/types/src/core/http/url_location.d.ts +0 -5
  348. package/types/src/core/logger.d.ts +0 -11
  349. package/types/src/core/options.d.ts +0 -34
  350. package/types/src/core/pusher-with-encryption.d.ts +0 -5
  351. package/types/src/core/pusher.d.ts +0 -49
  352. package/types/src/core/reachability.d.ts +0 -5
  353. package/types/src/core/socket.d.ts +0 -12
  354. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  355. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  356. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  357. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  358. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  359. package/types/src/core/strategies/strategy.d.ts +0 -6
  360. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  361. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  362. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  363. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  364. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  365. package/types/src/core/timeline/level.d.ts +0 -6
  366. package/types/src/core/timeline/timeline.d.ts +0 -25
  367. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  368. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  369. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  370. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  371. package/types/src/core/transports/transport.d.ts +0 -8
  372. package/types/src/core/transports/transport_connection.d.ts +0 -35
  373. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  374. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  375. package/types/src/core/transports/transport_manager.d.ts +0 -14
  376. package/types/src/core/transports/transports_table.d.ts +0 -10
  377. package/types/src/core/transports/url_scheme.d.ts +0 -11
  378. package/types/src/core/transports/url_schemes.d.ts +0 -4
  379. package/types/src/core/user.d.ts +0 -21
  380. package/types/src/core/util.d.ts +0 -8
  381. package/types/src/core/utils/collections.d.ts +0 -18
  382. package/types/src/core/utils/factory.d.ts +0 -29
  383. package/types/src/core/utils/flat_promise.d.ts +0 -6
  384. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  385. package/types/src/core/utils/timers/index.d.ts +0 -9
  386. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  387. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  388. package/types/src/core/utils/url_store.d.ts +0 -4
  389. package/types/src/core/watchlist.d.ts +0 -8
  390. package/types/src/runtimes/interface.d.ts +0 -43
  391. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  392. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  393. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  394. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  395. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  396. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  397. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  398. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  399. package/types/src/runtimes/node/net_info.d.ts +0 -6
  400. package/types/src/runtimes/node/runtime.d.ts +0 -3
  401. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  402. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  403. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  404. package/types/src/runtimes/web/browser.d.ts +0 -19
  405. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  406. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  407. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  408. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  409. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  410. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  411. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  412. package/types/src/runtimes/web/http/http.d.ts +0 -2
  413. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  414. package/types/src/runtimes/web/net_info.d.ts +0 -7
  415. package/types/src/runtimes/web/runtime.d.ts +0 -3
  416. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  417. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  419. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  420. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  421. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  422. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  423. package/webpack/config.node.js +0 -26
  424. package/webpack/config.react-native.js +0 -35
  425. package/webpack/config.shared.js +0 -50
  426. package/webpack/config.web.js +0 -36
  427. package/webpack/config.worker.js +0 -42
  428. package/webpack/dev.server.js +0 -17
  429. package/webpack/hosting_config.js +0 -6
  430. package/with-encryption/index.d.ts +0 -29
  431. package/with-encryption/index.js +0 -4
  432. package/worker/index.d.ts +0 -29
  433. package/worker/index.js +0 -1
  434. package/worker/with-encryption/index.d.ts +0 -29
  435. package/worker/with-encryption/index.js +0 -1
@@ -1,303 +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 (User)", function () {
18
-
19
- describe("#signin", function () {
20
- var pusher;
21
- beforeEach(function () {
22
- pusher = new Pusher("foo", {cluster: "mt1"});
23
- spyOn(pusher.config, "userAuthenticator");
24
- spyOn(pusher, "send_event");
25
- pusher.connection.state = "connected";
26
- pusher.connection.socket_id = "1.23";
27
- });
28
-
29
- it("should not call userAuthenticator if the connection is not connected", function () {
30
- pusher.connection.state = "connecting";
31
- pusher.signin();
32
- expect(pusher.config.userAuthenticator).not.toHaveBeenCalled();
33
- });
34
-
35
-
36
- it("should fail if userAuthenticator fails", function () {
37
- pusher.config.userAuthenticator.and.callFake(function (params, callback) {
38
- callback("this error", {});
39
- });
40
- spyOn(Logger, "warn");
41
- pusher.signin();
42
- expect(pusher.config.userAuthenticator).toHaveBeenCalledWith(
43
- { socketId: "1.23" },
44
- jasmine.any(Function)
45
- );
46
- expect(Logger.warn).toHaveBeenCalledWith(
47
- "Error during signin: this error"
48
- );
49
- });
50
-
51
- it("should send pusher:signin event", function () {
52
- pusher.config.userAuthenticator.and.callFake(function (params, callback) {
53
- callback(null, {
54
- auth: "auth",
55
- user_data: JSON.stringify({ id: "1" }),
56
- foo: "bar"
57
- });
58
- });
59
- spyOn(Logger, "warn");
60
- pusher.signin();
61
- expect(pusher.config.userAuthenticator).toHaveBeenCalledWith(
62
- { socketId: "1.23" },
63
- jasmine.any(Function)
64
- );
65
- expect(pusher.send_event).toHaveBeenCalledWith("pusher:signin", {
66
- auth: "auth",
67
- user_data: JSON.stringify({ id: "1" })
68
- });
69
- });
70
-
71
- it("should signin when the connection becomes connected", function () {
72
- pusher.connection.state = "connecting";
73
- pusher.signin();
74
- expect(pusher.config.userAuthenticator).not.toHaveBeenCalled();
75
-
76
- pusher.config.userAuthenticator.and.callFake(function (params, callback) {
77
- callback(null, {
78
- auth: "auth",
79
- user_data: JSON.stringify({ id: "1" }),
80
- foo: "bar"
81
- });
82
- });
83
-
84
- pusher.connection.state = "connected";
85
- pusher.connection.emit('state_change', {previous:'connecting', current:'connected'});
86
-
87
- expect(pusher.config.userAuthenticator).toHaveBeenCalledWith(
88
- { socketId: "1.23" },
89
- jasmine.any(Function)
90
- );
91
- expect(pusher.send_event).toHaveBeenCalledWith("pusher:signin", {
92
- auth: "auth",
93
- user_data: JSON.stringify({ id: "1" })
94
- });
95
- });
96
-
97
- it("should re-signin when the connection reconnects!", function () {
98
- pusher.config.userAuthenticator.and.callFake(function (params, callback) {
99
- callback(null, {
100
- auth: "auth",
101
- user_data: JSON.stringify({ id: "1" }),
102
- foo: "bar"
103
- });
104
- });
105
-
106
- pusher.signin();
107
- expect(pusher.config.userAuthenticator).toHaveBeenCalledWith(
108
- { socketId: "1.23" },
109
- jasmine.any(Function)
110
- );
111
- expect(pusher.send_event).toHaveBeenCalledWith("pusher:signin", {
112
- auth: "auth",
113
- user_data: JSON.stringify({ id: "1" })
114
- });
115
- pusher.send_event.calls.reset()
116
- pusher.config.userAuthenticator.calls.reset()
117
-
118
- pusher.connection.state == "disconnected";
119
- pusher.connection.emit('state_change', {previous:'connected', current:'disconnected'});
120
- pusher.connection.state == "connecting";
121
- pusher.connection.emit('state_change', {previous:'disconnected', current:'connecting'});
122
- pusher.connection.state == "connected";
123
- pusher.connection.emit('state_change', {previous:'connecting', current:'connected'});
124
-
125
- expect(pusher.config.userAuthenticator).toHaveBeenCalledWith(
126
- { socketId: "1.23" },
127
- jasmine.any(Function)
128
- );
129
- expect(pusher.send_event).toHaveBeenCalledWith("pusher:signin", {
130
- auth: "auth",
131
- user_data: JSON.stringify({ id: "1" })
132
- });
133
- });
134
-
135
- it("should not signin when the connection is connected if signin() was never called", function () {
136
- pusher.connection.state = "connected";
137
- pusher.connection.emit('state_change', {previous:'connecting', current:'connected'});
138
- expect(pusher.config.userAuthenticator).not.toHaveBeenCalled();
139
- })
140
-
141
- });
142
-
143
-
144
- describe('pusher:signin_success', function () {
145
- var pusher;
146
- var transport;
147
-
148
- beforeEach(async function () {
149
- spyOn(Network, 'isOnline').and.returnValue(true);
150
- spyOn(Runtime, 'getLocalStorage').and.returnValue({});
151
-
152
- var Transports = Runtime.Transports;
153
- function createConnection() {
154
- transport = Mocks.getWorkingTransport();
155
- return transport;
156
- }
157
- spyOn(Transports.xhr_polling, 'createConnection').and.callFake(
158
- createConnection
159
- );
160
- spyOn(Transports.xhr_polling, 'isSupported').and.returnValue(true);
161
- pusher = new Pusher('foobar', {
162
- cluster: "mt1",
163
- enabledTransports: ['xhr_polling']
164
- });
165
- pusher.connect();
166
- await waitsFor(
167
- function () {
168
- return pusher.connection.state === 'connected';
169
- },
170
- 'pusher.connection.state to be connected',
171
- 500
172
- );
173
- });
174
-
175
- it('should process pusher:signin_success', async function () {
176
- pusher.user._signinDoneResolve = jasmine.createSpy('signinDoneResolve');
177
- transport.emit('message', {
178
- data: JSON.stringify({
179
- event: 'pusher:signin_success',
180
- data: {
181
- user_data: JSON.stringify({ id: '1', name: 'test' })
182
- }
183
- })
184
- });
185
-
186
- expect(pusher.user.user_data).toEqual({ id: '1', name: 'test' });
187
- expect(pusher.user.serverToUserChannel.subscriptionPending).toBe(true);
188
- expect(pusher.user._signinDoneResolve).toHaveBeenCalled();
189
- });
190
-
191
- it('should log warning if user_data is not JSON', async function () {
192
- spyOn(Logger, 'error');
193
- transport.emit('message', {
194
- data: JSON.stringify({
195
- event: 'pusher:signin_success',
196
- data: {
197
- user_data: "I'm not JSON"
198
- }
199
- })
200
- });
201
- expect(Logger.error).toHaveBeenCalledWith(
202
- "Failed parsing user data after signin: I'm not JSON"
203
- );
204
- expect(pusher.user.user_data).toEqual(null);
205
- });
206
-
207
- it('should bind to servetToUser channel events after sign in', async function () {
208
- const fooCallback = jasmine.createSpy('fooCallback');
209
- const barCallback = jasmine.createSpy('barCallback');
210
- pusher.user.bind('foo', fooCallback);
211
- pusher.user.bind('bar', barCallback);
212
-
213
- // Send events on channel without being signed in
214
- transport.emit('message', {
215
- data: JSON.stringify({
216
- channel: '#server-to-user-1',
217
- event: 'foo',
218
- data: { 'something': 'another' }
219
- })
220
- });
221
-
222
- expect(fooCallback).not.toHaveBeenCalled();
223
- expect(barCallback).not.toHaveBeenCalled();
224
-
225
- // Sign in successfully
226
- pusher.user._signinDoneResolve = jasmine.createSpy('signinDoneResolve');
227
- transport.emit('message', {
228
- data: JSON.stringify({
229
- event: 'pusher:signin_success',
230
- data: {
231
- user_data: JSON.stringify({ id: '1', name: 'test' })
232
- }
233
- })
234
- });
235
- transport.emit('message', {
236
- data: JSON.stringify({
237
- channel: '#server-to-user-1',
238
- event: 'pusher_internal:subscription_succeeded',
239
- data: {}
240
- })
241
- });
242
- await waitsFor(
243
- function () {
244
- return pusher.user.serverToUserChannel.subscribed === true;
245
- },
246
- 'pusher.user.serverToUserChannel.subscribed to be true',
247
- 500
248
- );
249
- expect(pusher.user._signinDoneResolve).toHaveBeenCalled();
250
-
251
- // Send events on channel
252
- transport.emit('message', {
253
- data: JSON.stringify({
254
- channel: '#server-to-user-1',
255
- event: 'foo',
256
- data: { 'something': 'another' }
257
- })
258
- });
259
-
260
- expect(fooCallback).toHaveBeenCalledWith({ 'something': 'another' });
261
- expect(barCallback).not.toHaveBeenCalled();
262
- });
263
-
264
-
265
- it('should cleanup the signed in state when disconnected', async function () {
266
- // Sign in successfully
267
- pusher.user._signinDoneResolve = jasmine.createSpy('signinDoneResolve');
268
- transport.emit('message', {
269
- data: JSON.stringify({
270
- event: 'pusher:signin_success',
271
- data: {
272
- user_data: JSON.stringify({ id: '1', name: 'test' })
273
- }
274
- })
275
- });
276
- transport.emit('message', {
277
- data: JSON.stringify({
278
- channel: '#server-to-user-1',
279
- event: 'pusher_internal:subscription_succeeded',
280
- data: {}
281
- })
282
- });
283
- await waitsFor(
284
- function () {
285
- return pusher.user.serverToUserChannel.subscribed === true;
286
- },
287
- 'pusher.user.serverToUserChannel.subscribed to be true',
288
- 500
289
- );
290
- expect(pusher.user._signinDoneResolve).toHaveBeenCalled();
291
-
292
- expect(pusher.user.user_data).toEqual({ id: '1', name: 'test' });
293
- expect(pusher.user.serverToUserChannel.subscribed).toBe(true);
294
-
295
- // Disconnect
296
- pusher.connection.emit('state_change', {previous:'connected', current:'disconnected'});
297
-
298
- expect(pusher.user.user_data).toEqual(null);
299
- expect(pusher.user.serverToUserChannel).toEqual(null);
300
- });
301
- });
302
-
303
- });
@@ -1,74 +0,0 @@
1
- var Timers = require('core/utils/timers');
2
- var PeriodicTimer = Timers.PeriodicTimer;
3
-
4
- describe("PeriodicTimer", function() {
5
- var callback;
6
- var timer;
7
-
8
- beforeEach(function() {
9
- jasmine.clock().uninstall();
10
- jasmine.clock().install();
11
-
12
- callback = jasmine.createSpy("callback");
13
- timer = new PeriodicTimer(123, callback);
14
- });
15
-
16
- afterEach(function() {
17
- timer.ensureAborted();
18
- jasmine.clock().uninstall();
19
- });
20
-
21
- it("should keep executing the callback with the specified interval", function() {
22
- expect(callback.calls.count()).toEqual(0);
23
- jasmine.clock().tick(122);
24
- expect(callback.calls.count()).toEqual(0);
25
- jasmine.clock().tick(1);
26
- expect(callback.calls.count()).toEqual(1);
27
-
28
- expect(callback.calls.count()).toEqual(1);
29
- jasmine.clock().tick(122);
30
- expect(callback.calls.count()).toEqual(1);
31
- jasmine.clock().tick(1);
32
- expect(callback.calls.count()).toEqual(2);
33
- });
34
-
35
- describe("#isRunning", function() {
36
- it("should return true before first execution", function() {
37
- jasmine.clock().tick(122);
38
- expect(timer.isRunning()).toBe(true);
39
- });
40
-
41
- it("should return true after execution", function() {
42
- jasmine.clock().tick(123);
43
- expect(timer.isRunning()).toBe(true);
44
- });
45
-
46
- it("should return false after aborting", function() {
47
- timer.ensureAborted();
48
- expect(timer.isRunning()).toBe(false);
49
- });
50
- });
51
-
52
- describe("#ensureAborted", function() {
53
- it("should abort the timer before execution", function() {
54
- timer.ensureAborted();
55
- jasmine.clock().tick(1000000);
56
- expect(callback).not.toHaveBeenCalled();
57
- });
58
-
59
- it("should play nice after first execution", function() {
60
- jasmine.clock().tick(1000);
61
- timer.ensureAborted();
62
- });
63
-
64
- it("should stop callback from being called even if clearInterval is broken", function() {
65
- // IE has some edge-case with clearInterval not working, let's simulate it
66
- let _clearInterval = global.clearInterval;
67
- spyOn(global, "clearInterval").and.callThrough();
68
- timer.ensureAborted();
69
- jasmine.clock().tick(1000);
70
- expect(callback).not.toHaveBeenCalled();
71
- global.clearInterval = _clearInterval;
72
- });
73
- });
74
- });
@@ -1,157 +0,0 @@
1
- var timers = require('core/utils/timers');
2
-
3
- describe("timers", function() {
4
- describe("Timer", function() {
5
- var callback;
6
- var timer;
7
-
8
- beforeEach(function() {
9
- jasmine.clock().uninstall();
10
- jasmine.clock().install();
11
-
12
- callback = jasmine.createSpy("callback");
13
- timer = new timers.OneOffTimer(123, callback);
14
- });
15
-
16
- afterEach(function() {
17
- timer.ensureAborted();
18
- jasmine.clock().uninstall();
19
- });
20
-
21
- it("should execute the callback with the specified delay", function() {
22
- expect(callback).not.toHaveBeenCalled();
23
- jasmine.clock().tick(122);
24
- expect(callback).not.toHaveBeenCalled();
25
- jasmine.clock().tick(1);
26
- expect(callback).toHaveBeenCalled();
27
- });
28
-
29
- it("should execute the callback exactly once", function() {
30
- jasmine.clock().tick(1000);
31
- expect(callback.calls.count()).toEqual(1);
32
- });
33
-
34
- describe("#isRunning", function() {
35
- it("should return true before execution", function() {
36
- jasmine.clock().tick(122);
37
- expect(timer.isRunning()).toBe(true);
38
- });
39
-
40
- it("should return false after execution", function() {
41
- jasmine.clock().tick(123);
42
- expect(timer.isRunning()).toBe(false);
43
- });
44
-
45
- it("should return false after aborting", function() {
46
- timer.ensureAborted();
47
- expect(timer.isRunning()).toBe(false);
48
- });
49
- });
50
-
51
- describe("#ensureAborted", function() {
52
- it("should abort the timer before execution", function() {
53
- timer.ensureAborted();
54
- jasmine.clock().tick(1000);
55
- expect(callback).not.toHaveBeenCalled();
56
- });
57
-
58
- it("should play nice after execution", function() {
59
- jasmine.clock().tick(1000);
60
- timer.ensureAborted();
61
- });
62
-
63
- it("should stop callback from being called even if clearTimeout is broken", function() {
64
- // IE has some edge-case with clearTimeout not working, let's simulate it
65
- let _clearTimeout = global.clearTimeout;
66
- spyOn(global, "clearTimeout");
67
- timer.ensureAborted();
68
- jasmine.clock().tick(1000);
69
- expect(callback).not.toHaveBeenCalled();
70
- global.clearTimeout = _clearTimeout;
71
- });
72
- });
73
- });
74
-
75
- describe("PeriodicTimer", function() {
76
- var callback;
77
- var timer;
78
-
79
- beforeEach(function() {
80
- jasmine.clock().uninstall();
81
- jasmine.clock().install();
82
-
83
- callback = jasmine.createSpy("callback");
84
- timer = new timers.PeriodicTimer(123, callback);
85
- });
86
-
87
- afterEach(function() {
88
- timer.ensureAborted();
89
- jasmine.clock().uninstall();
90
- });
91
-
92
- it("should execute the callback with the specified delay", function() {
93
- expect(callback).not.toHaveBeenCalled();
94
- jasmine.clock().tick(122);
95
- expect(callback).not.toHaveBeenCalled();
96
- jasmine.clock().tick(1);
97
- expect(callback).toHaveBeenCalled();
98
- });
99
-
100
- it("should execute the callback periodically", function() {
101
- jasmine.clock().tick(123);
102
- expect(callback.calls.count()).toEqual(1);
103
- jasmine.clock().tick(123);
104
- expect(callback.calls.count()).toEqual(2);
105
- });
106
-
107
- describe("#isRunning", function() {
108
- it("should return true before execution", function() {
109
- jasmine.clock().tick(122);
110
- expect(timer.isRunning()).toBe(true);
111
- });
112
-
113
- it("should return true after execution", function() {
114
- jasmine.clock().tick(123);
115
- expect(timer.isRunning()).toBe(true);
116
- });
117
-
118
- it("should return false after aborting", function() {
119
- timer.ensureAborted();
120
- expect(timer.isRunning()).toBe(false);
121
- });
122
- });
123
-
124
- describe("#ensureAborted", function() {
125
- it("should abort the timer before execution", function() {
126
- timer.ensureAborted();
127
- jasmine.clock().tick(1000);
128
- expect(callback).not.toHaveBeenCalled();
129
- });
130
-
131
- it("should abort the timer after first execution", function() {
132
- jasmine.clock().tick(123);
133
- expect(callback.calls.count()).toEqual(1);
134
- timer.ensureAborted();
135
- jasmine.clock().tick(1000);
136
- expect(callback.calls.count()).toEqual(1);
137
- });
138
-
139
- it("should be idempotent", function() {
140
- timer.ensureAborted();
141
- timer.ensureAborted();
142
- jasmine.clock().tick(1000);
143
- expect(callback).not.toHaveBeenCalled();
144
- });
145
-
146
- it("should stop callback from being called even if clearTimeout is broken", function() {
147
- // IE has some edge-case with clearTimeout not working, let's simulate it
148
- let _clearTimeout = global.clearTimeout;
149
- spyOn(global, "clearTimeout");
150
- timer.ensureAborted();
151
- jasmine.clock().tick(1000);
152
- expect(callback).not.toHaveBeenCalled();
153
- global.clearTimeout = _clearTimeout;
154
- });
155
- });
156
- });
157
- });
@@ -1,14 +0,0 @@
1
- var url_store = require('core/utils/url_store').default;
2
-
3
- describe('url_store', function(){
4
- describe('buildLogSuffix', function(){
5
- it('should build a log suffix for known keys', function(){
6
- var suffix = url_store.buildLogSuffix('authenticationEndpoint');
7
- expect(suffix).toEqual('See: https://pusher.com/docs/channels/server_api/authenticating_users');
8
- });
9
- it('should return a blank suffix for unknown keys', function(){
10
- var suffix = url_store.buildLogSuffix('somethingUnknown');
11
- expect(suffix).toEqual('');
12
- });
13
- });
14
- });
@@ -1,48 +0,0 @@
1
- var WatchlistFacade = require("core/watchlist").default;
2
-
3
- describe("WatchlistFacade", function () {
4
- var connection;
5
- var pusher;
6
-
7
- beforeEach(function() {
8
- connection = jasmine.createSpy('connection');
9
- pusher = jasmine.createSpy('pusher');
10
- pusher.connection = connection;
11
-
12
- spyOn(pusher.connection, 'bind')
13
- });
14
-
15
- it('should bind to pusher_internal:user_presence events', function() {
16
- new WatchlistFacade(pusher);
17
- expect(connection.bind).toHaveBeenCalledWith('message', jasmine.any(Function));
18
- });
19
-
20
- describe('#handleEvent', function() {
21
- var watchlistFacade;
22
-
23
- beforeEach(function() {
24
- watchlistFacade = new WatchlistFacade(pusher);
25
- });
26
-
27
- const watchlistEvents = [
28
- { name: 'online', user_ids: ['1'] },
29
- { name: 'offline', user_ids: ['2', '3', '4'] },
30
- { name: 'subscribe', user_ids: ['5', '6'], channel_name: 'presence-chat' }
31
- ];
32
-
33
- it(`should emit ${watchlistEvents.length} events`, function() {
34
- const pusherEvent = {
35
- event: 'pusher_internal:watchlist_events',
36
- data: { events: watchlistEvents }
37
- };
38
-
39
- spyOn(watchlistFacade, 'emit').and.callThrough();
40
- watchlistFacade.handleEvent(pusherEvent);
41
-
42
- expect(watchlistFacade.emit).toHaveBeenCalledTimes(watchlistEvents.length)
43
- watchlistEvents.forEach(function(event) {
44
- expect(watchlistFacade.emit).toHaveBeenCalledWith(event.name, event);
45
- });
46
- });
47
- })
48
- });