discourse-ember-source 3.5.1.1 → 3.5.1.2

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 (741) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ember/version.rb +1 -1
  3. metadata +2 -740
  4. data/.gitignore +0 -9
  5. data/.travis.yml +0 -5
  6. data/Gemfile +0 -6
  7. data/LICENSE.txt +0 -21
  8. data/README +0 -18
  9. data/README.md +0 -39
  10. data/Rakefile +0 -27
  11. data/bin/console +0 -14
  12. data/bin/setup +0 -8
  13. data/discourse-ember-source-3.5.1.0.gem +0 -0
  14. data/dist/ember-all.debug.map +0 -1
  15. data/dist/ember-template-compiler.map +0 -1
  16. data/dist/ember-testing.map +0 -1
  17. data/dist/ember-tests.map +0 -1
  18. data/dist/ember-tests.prod.map +0 -1
  19. data/dist/ember.debug.map +0 -1
  20. data/dist/ember.min.map +0 -1
  21. data/dist/ember.prod.map +0 -1
  22. data/dist/es/@ember/application/globals-resolver.js +0 -425
  23. data/dist/es/@ember/application/index.js +0 -3
  24. data/dist/es/@ember/application/instance.js +0 -513
  25. data/dist/es/@ember/application/lib/application.js +0 -1139
  26. data/dist/es/@ember/application/lib/lazy_load.js +0 -69
  27. data/dist/es/@ember/application/lib/validate-type.js +0 -24
  28. data/dist/es/@ember/application/tests/application_instance_test.js +0 -230
  29. data/dist/es/@ember/application/tests/application_test.js +0 -470
  30. data/dist/es/@ember/application/tests/bootstrap-test.js +0 -28
  31. data/dist/es/@ember/application/tests/dependency_injection/custom_resolver_test.js +0 -32
  32. data/dist/es/@ember/application/tests/dependency_injection/default_resolver_test.js +0 -363
  33. data/dist/es/@ember/application/tests/dependency_injection/normalization_test.js +0 -70
  34. data/dist/es/@ember/application/tests/dependency_injection/to_string_test.js +0 -71
  35. data/dist/es/@ember/application/tests/dependency_injection_test.js +0 -93
  36. data/dist/es/@ember/application/tests/initializers_test.js +0 -391
  37. data/dist/es/@ember/application/tests/instance_initializers_test.js +0 -395
  38. data/dist/es/@ember/application/tests/lazy_load_test.js +0 -79
  39. data/dist/es/@ember/application/tests/logging_test.js +0 -179
  40. data/dist/es/@ember/application/tests/readiness_test.js +0 -138
  41. data/dist/es/@ember/application/tests/reset_test.js +0 -185
  42. data/dist/es/@ember/application/tests/visit_test.js +0 -783
  43. data/dist/es/@ember/canary-features/index.js +0 -76
  44. data/dist/es/@ember/controller/index.js +0 -50
  45. data/dist/es/@ember/controller/lib/controller_mixin.js +0 -42
  46. data/dist/es/@ember/controller/tests/controller_test.js +0 -209
  47. data/dist/es/@ember/debug/index.js +0 -264
  48. data/dist/es/@ember/debug/lib/deprecate.js +0 -198
  49. data/dist/es/@ember/debug/lib/handlers.js +0 -22
  50. data/dist/es/@ember/debug/lib/testing.js +0 -7
  51. data/dist/es/@ember/debug/lib/warn.js +0 -107
  52. data/dist/es/@ember/debug/tests/handlers-test.js +0 -144
  53. data/dist/es/@ember/debug/tests/main_test.js +0 -444
  54. data/dist/es/@ember/deprecated-features/index.js +0 -21
  55. data/dist/es/@ember/engine/index.js +0 -532
  56. data/dist/es/@ember/engine/instance.js +0 -228
  57. data/dist/es/@ember/engine/lib/engine-parent.js +0 -32
  58. data/dist/es/@ember/engine/tests/engine_initializers_test.js +0 -366
  59. data/dist/es/@ember/engine/tests/engine_instance_initializers_test.js +0 -409
  60. data/dist/es/@ember/engine/tests/engine_instance_test.js +0 -115
  61. data/dist/es/@ember/engine/tests/engine_parent_test.js +0 -20
  62. data/dist/es/@ember/engine/tests/engine_test.js +0 -121
  63. data/dist/es/@ember/error/index.js +0 -36
  64. data/dist/es/@ember/error/tests/index_test.js +0 -19
  65. data/dist/es/@ember/instrumentation/index.js +0 -240
  66. data/dist/es/@ember/instrumentation/tests/index-test.js +0 -214
  67. data/dist/es/@ember/map/index.js +0 -218
  68. data/dist/es/@ember/map/lib/ordered-set.js +0 -186
  69. data/dist/es/@ember/map/lib/utils.js +0 -29
  70. data/dist/es/@ember/map/tests/map_test.js +0 -578
  71. data/dist/es/@ember/map/with-default.js +0 -87
  72. data/dist/es/@ember/object/computed.js +0 -35
  73. data/dist/es/@ember/object/lib/computed/computed_macros.js +0 -742
  74. data/dist/es/@ember/object/lib/computed/reduce_computed_macros.js +0 -894
  75. data/dist/es/@ember/object/tests/computed/computed_macros_test.js +0 -533
  76. data/dist/es/@ember/object/tests/computed/reduce_computed_macros_test.js +0 -2243
  77. data/dist/es/@ember/polyfills/index.js +0 -3
  78. data/dist/es/@ember/polyfills/lib/assign.js +0 -43
  79. data/dist/es/@ember/polyfills/lib/merge.js +0 -35
  80. data/dist/es/@ember/polyfills/tests/assign_test.js +0 -64
  81. data/dist/es/@ember/runloop/index.js +0 -749
  82. data/dist/es/@ember/runloop/tests/debounce_test.js +0 -87
  83. data/dist/es/@ember/runloop/tests/later_test.js +0 -264
  84. data/dist/es/@ember/runloop/tests/next_test.js +0 -56
  85. data/dist/es/@ember/runloop/tests/once_test.js +0 -62
  86. data/dist/es/@ember/runloop/tests/onerror_test.js +0 -59
  87. data/dist/es/@ember/runloop/tests/run_bind_test.js +0 -59
  88. data/dist/es/@ember/runloop/tests/run_test.js +0 -28
  89. data/dist/es/@ember/runloop/tests/schedule_test.js +0 -86
  90. data/dist/es/@ember/runloop/tests/sync_test.js +0 -32
  91. data/dist/es/@ember/runloop/tests/unwind_test.js +0 -54
  92. data/dist/es/@ember/service/index.js +0 -57
  93. data/dist/es/@ember/string/index.js +0 -362
  94. data/dist/es/@ember/string/lib/string_registry.js +0 -13
  95. data/dist/es/@ember/string/tests/camelize_test.js +0 -53
  96. data/dist/es/@ember/string/tests/capitalize_test.js +0 -58
  97. data/dist/es/@ember/string/tests/classify_test.js +0 -79
  98. data/dist/es/@ember/string/tests/dasherize_test.js +0 -57
  99. data/dist/es/@ember/string/tests/decamelize_test.js +0 -51
  100. data/dist/es/@ember/string/tests/loc_test.js +0 -76
  101. data/dist/es/@ember/string/tests/underscore_test.js +0 -51
  102. data/dist/es/@ember/string/tests/w_test.js +0 -39
  103. data/dist/es/@glimmer/compiler.js +0 -1226
  104. data/dist/es/@glimmer/encoder.js +0 -39
  105. data/dist/es/@glimmer/low-level.js +0 -82
  106. data/dist/es/@glimmer/node.js +0 -112
  107. data/dist/es/@glimmer/opcode-compiler.js +0 -1999
  108. data/dist/es/@glimmer/program.js +0 -405
  109. data/dist/es/@glimmer/reference.js +0 -478
  110. data/dist/es/@glimmer/runtime.js +0 -4086
  111. data/dist/es/@glimmer/syntax.js +0 -1424
  112. data/dist/es/@glimmer/util.js +0 -189
  113. data/dist/es/@glimmer/vm.js +0 -27
  114. data/dist/es/@glimmer/wire-format.js +0 -56
  115. data/dist/es/backburner.js +0 -936
  116. data/dist/es/container/index.js +0 -8
  117. data/dist/es/container/lib/container.js +0 -437
  118. data/dist/es/container/lib/registry.js +0 -646
  119. data/dist/es/container/tests/container_test.js +0 -872
  120. data/dist/es/container/tests/owner_test.js +0 -20
  121. data/dist/es/container/tests/registry_test.js +0 -943
  122. data/dist/es/dag-map.js +0 -209
  123. data/dist/es/ember-browser-environment/index.js +0 -8
  124. data/dist/es/ember-browser-environment/lib/has-dom.js +0 -19
  125. data/dist/es/ember-console/index.js +0 -177
  126. data/dist/es/ember-environment/index.js +0 -3
  127. data/dist/es/ember-environment/lib/context.js +0 -20
  128. data/dist/es/ember-environment/lib/env.js +0 -185
  129. data/dist/es/ember-environment/lib/global.js +0 -14
  130. data/dist/es/ember-error-handling/index.js +0 -22
  131. data/dist/es/ember-extension-support/index.js +0 -2
  132. data/dist/es/ember-extension-support/lib/container_debug_adapter.js +0 -99
  133. data/dist/es/ember-extension-support/lib/data_adapter.js +0 -493
  134. data/dist/es/ember-extension-support/tests/container_debug_adapter_test.js +0 -73
  135. data/dist/es/ember-extension-support/tests/data_adapter_test.js +0 -301
  136. data/dist/es/ember-glimmer/index.js +0 -286
  137. data/dist/es/ember-glimmer/lib/compile-time-lookup.js +0 -37
  138. data/dist/es/ember-glimmer/lib/component-managers/abstract.js +0 -49
  139. data/dist/es/ember-glimmer/lib/component-managers/curly.js +0 -395
  140. data/dist/es/ember-glimmer/lib/component-managers/custom.js +0 -145
  141. data/dist/es/ember-glimmer/lib/component-managers/definition-state.js +0 -1
  142. data/dist/es/ember-glimmer/lib/component-managers/mount.js +0 -103
  143. data/dist/es/ember-glimmer/lib/component-managers/outlet.js +0 -114
  144. data/dist/es/ember-glimmer/lib/component-managers/render.js +0 -112
  145. data/dist/es/ember-glimmer/lib/component-managers/root.js +0 -74
  146. data/dist/es/ember-glimmer/lib/component-managers/template-only.js +0 -46
  147. data/dist/es/ember-glimmer/lib/component.js +0 -633
  148. data/dist/es/ember-glimmer/lib/components/checkbox.js +0 -57
  149. data/dist/es/ember-glimmer/lib/components/link-to.js +0 -777
  150. data/dist/es/ember-glimmer/lib/components/text_area.js +0 -236
  151. data/dist/es/ember-glimmer/lib/components/text_field.js +0 -145
  152. data/dist/es/ember-glimmer/lib/dom.js +0 -3
  153. data/dist/es/ember-glimmer/lib/environment.js +0 -102
  154. data/dist/es/ember-glimmer/lib/helper.js +0 -128
  155. data/dist/es/ember-glimmer/lib/helpers/-class.js +0 -23
  156. data/dist/es/ember-glimmer/lib/helpers/-html-safe.js +0 -9
  157. data/dist/es/ember-glimmer/lib/helpers/-input-type.js +0 -11
  158. data/dist/es/ember-glimmer/lib/helpers/-normalize-class.js +0 -22
  159. data/dist/es/ember-glimmer/lib/helpers/action.js +0 -360
  160. data/dist/es/ember-glimmer/lib/helpers/component.js +0 -135
  161. data/dist/es/ember-glimmer/lib/helpers/concat.js +0 -38
  162. data/dist/es/ember-glimmer/lib/helpers/each-in.js +0 -126
  163. data/dist/es/ember-glimmer/lib/helpers/get.js +0 -100
  164. data/dist/es/ember-glimmer/lib/helpers/hash.js +0 -44
  165. data/dist/es/ember-glimmer/lib/helpers/if-unless.js +0 -142
  166. data/dist/es/ember-glimmer/lib/helpers/loc.js +0 -40
  167. data/dist/es/ember-glimmer/lib/helpers/log.js +0 -25
  168. data/dist/es/ember-glimmer/lib/helpers/mut.js +0 -107
  169. data/dist/es/ember-glimmer/lib/helpers/query-param.js +0 -31
  170. data/dist/es/ember-glimmer/lib/helpers/readonly.js +0 -104
  171. data/dist/es/ember-glimmer/lib/helpers/unbound.js +0 -36
  172. data/dist/es/ember-glimmer/lib/modifiers/action.js +0 -185
  173. data/dist/es/ember-glimmer/lib/protocol-for-url.js +0 -48
  174. data/dist/es/ember-glimmer/lib/renderer.js +0 -371
  175. data/dist/es/ember-glimmer/lib/resolver.js +0 -290
  176. data/dist/es/ember-glimmer/lib/setup-registry.js +0 -77
  177. data/dist/es/ember-glimmer/lib/syntax.js +0 -73
  178. data/dist/es/ember-glimmer/lib/syntax/-text-area.js +0 -8
  179. data/dist/es/ember-glimmer/lib/syntax/input.js +0 -173
  180. data/dist/es/ember-glimmer/lib/syntax/let.js +0 -50
  181. data/dist/es/ember-glimmer/lib/syntax/mount.js +0 -101
  182. data/dist/es/ember-glimmer/lib/syntax/outlet.js +0 -120
  183. data/dist/es/ember-glimmer/lib/syntax/render.js +0 -140
  184. data/dist/es/ember-glimmer/lib/syntax/utils.js +0 -6
  185. data/dist/es/ember-glimmer/lib/template-compiler.js +0 -7
  186. data/dist/es/ember-glimmer/lib/template.js +0 -16
  187. data/dist/es/ember-glimmer/lib/template_registry.js +0 -18
  188. data/dist/es/ember-glimmer/lib/templates/component.js +0 -2
  189. data/dist/es/ember-glimmer/lib/templates/empty.js +0 -2
  190. data/dist/es/ember-glimmer/lib/templates/link-to.js +0 -2
  191. data/dist/es/ember-glimmer/lib/templates/outlet.js +0 -2
  192. data/dist/es/ember-glimmer/lib/templates/root.js +0 -2
  193. data/dist/es/ember-glimmer/lib/utils/bindings.js +0 -180
  194. data/dist/es/ember-glimmer/lib/utils/curly-component-state-bucket.js +0 -36
  195. data/dist/es/ember-glimmer/lib/utils/custom-component-manager.js +0 -20
  196. data/dist/es/ember-glimmer/lib/utils/debug-stack.js +0 -57
  197. data/dist/es/ember-glimmer/lib/utils/iterable.js +0 -358
  198. data/dist/es/ember-glimmer/lib/utils/outlet.js +0 -89
  199. data/dist/es/ember-glimmer/lib/utils/process-args.js +0 -40
  200. data/dist/es/ember-glimmer/lib/utils/references.js +0 -325
  201. data/dist/es/ember-glimmer/lib/utils/serialization-first-node-helpers.js +0 -1
  202. data/dist/es/ember-glimmer/lib/utils/string.js +0 -98
  203. data/dist/es/ember-glimmer/lib/utils/to-bool.js +0 -9
  204. data/dist/es/ember-glimmer/lib/views/outlet.js +0 -71
  205. data/dist/es/ember-glimmer/tests/integration/application/actions-test.js +0 -107
  206. data/dist/es/ember-glimmer/tests/integration/application/engine-test.js +0 -912
  207. data/dist/es/ember-glimmer/tests/integration/application/rendering-test.js +0 -530
  208. data/dist/es/ember-glimmer/tests/integration/components/angle-bracket-invocation-test.js +0 -852
  209. data/dist/es/ember-glimmer/tests/integration/components/append-test.js +0 -742
  210. data/dist/es/ember-glimmer/tests/integration/components/attribute-bindings-test.js +0 -999
  211. data/dist/es/ember-glimmer/tests/integration/components/attrs-lookup-test.js +0 -268
  212. data/dist/es/ember-glimmer/tests/integration/components/class-bindings-test.js +0 -849
  213. data/dist/es/ember-glimmer/tests/integration/components/contextual-components-test.js +0 -1493
  214. data/dist/es/ember-glimmer/tests/integration/components/curly-components-test.js +0 -3705
  215. data/dist/es/ember-glimmer/tests/integration/components/destroy-test.js +0 -33
  216. data/dist/es/ember-glimmer/tests/integration/components/dynamic-components-test.js +0 -896
  217. data/dist/es/ember-glimmer/tests/integration/components/error-handling-test.js +0 -164
  218. data/dist/es/ember-glimmer/tests/integration/components/fragment-components-test.js +0 -285
  219. data/dist/es/ember-glimmer/tests/integration/components/instrumentation-compile-test.js +0 -108
  220. data/dist/es/ember-glimmer/tests/integration/components/instrumentation-test.js +0 -157
  221. data/dist/es/ember-glimmer/tests/integration/components/life-cycle-test.js +0 -1653
  222. data/dist/es/ember-glimmer/tests/integration/components/link-to-test.js +0 -218
  223. data/dist/es/ember-glimmer/tests/integration/components/local-lookup-test.js +0 -414
  224. data/dist/es/ember-glimmer/tests/integration/components/namespaced-lookup-test.js +0 -185
  225. data/dist/es/ember-glimmer/tests/integration/components/render-to-element-test.js +0 -0
  226. data/dist/es/ember-glimmer/tests/integration/components/target-action-test.js +0 -779
  227. data/dist/es/ember-glimmer/tests/integration/components/template-only-components-test.js +0 -225
  228. data/dist/es/ember-glimmer/tests/integration/components/to-string-test.js +0 -27
  229. data/dist/es/ember-glimmer/tests/integration/components/utils-test.js +0 -401
  230. data/dist/es/ember-glimmer/tests/integration/components/web-component-fallback-test.js +0 -35
  231. data/dist/es/ember-glimmer/tests/integration/components/will-destroy-element-hook-test.js +0 -40
  232. data/dist/es/ember-glimmer/tests/integration/content-test.js +0 -1759
  233. data/dist/es/ember-glimmer/tests/integration/custom-component-manager-test.js +0 -508
  234. data/dist/es/ember-glimmer/tests/integration/event-dispatcher-test.js +0 -607
  235. data/dist/es/ember-glimmer/tests/integration/helpers/-class-test.js +0 -76
  236. data/dist/es/ember-glimmer/tests/integration/helpers/closure-action-test.js +0 -1240
  237. data/dist/es/ember-glimmer/tests/integration/helpers/concat-test.js +0 -106
  238. data/dist/es/ember-glimmer/tests/integration/helpers/custom-helper-test.js +0 -672
  239. data/dist/es/ember-glimmer/tests/integration/helpers/element-action-test.js +0 -1595
  240. data/dist/es/ember-glimmer/tests/integration/helpers/get-test.js +0 -618
  241. data/dist/es/ember-glimmer/tests/integration/helpers/hash-test.js +0 -188
  242. data/dist/es/ember-glimmer/tests/integration/helpers/if-unless-test.js +0 -149
  243. data/dist/es/ember-glimmer/tests/integration/helpers/input-test.js +0 -827
  244. data/dist/es/ember-glimmer/tests/integration/helpers/loc-test.js +0 -103
  245. data/dist/es/ember-glimmer/tests/integration/helpers/log-test.js +0 -61
  246. data/dist/es/ember-glimmer/tests/integration/helpers/mut-test.js +0 -580
  247. data/dist/es/ember-glimmer/tests/integration/helpers/partial-test.js +0 -386
  248. data/dist/es/ember-glimmer/tests/integration/helpers/readonly-test.js +0 -293
  249. data/dist/es/ember-glimmer/tests/integration/helpers/render-test.js +0 -522
  250. data/dist/es/ember-glimmer/tests/integration/helpers/text-area-test.js +0 -166
  251. data/dist/es/ember-glimmer/tests/integration/helpers/unbound-test.js +0 -650
  252. data/dist/es/ember-glimmer/tests/integration/helpers/yield-test.js +0 -275
  253. data/dist/es/ember-glimmer/tests/integration/input-test.js +0 -242
  254. data/dist/es/ember-glimmer/tests/integration/mount-test.js +0 -424
  255. data/dist/es/ember-glimmer/tests/integration/outlet-test.js +0 -318
  256. data/dist/es/ember-glimmer/tests/integration/refinements-test.js +0 -74
  257. data/dist/es/ember-glimmer/tests/integration/render-settled-test.js +0 -72
  258. data/dist/es/ember-glimmer/tests/integration/svg-test.js +0 -158
  259. data/dist/es/ember-glimmer/tests/integration/syntax/each-in-test.js +0 -697
  260. data/dist/es/ember-glimmer/tests/integration/syntax/each-test.js +0 -1251
  261. data/dist/es/ember-glimmer/tests/integration/syntax/experimental-syntax-test.js +0 -42
  262. data/dist/es/ember-glimmer/tests/integration/syntax/if-unless-test.js +0 -108
  263. data/dist/es/ember-glimmer/tests/integration/syntax/in-element-test.js +0 -119
  264. data/dist/es/ember-glimmer/tests/integration/syntax/let-test.js +0 -390
  265. data/dist/es/ember-glimmer/tests/integration/syntax/with-dynamic-var-test.js +0 -36
  266. data/dist/es/ember-glimmer/tests/integration/syntax/with-test.js +0 -422
  267. data/dist/es/ember-glimmer/tests/unit/outlet-test.js +0 -48
  268. data/dist/es/ember-glimmer/tests/unit/runtime-resolver-cache-test.js +0 -263
  269. data/dist/es/ember-glimmer/tests/unit/template-factory-test.js +0 -67
  270. data/dist/es/ember-glimmer/tests/unit/utils/debug-stack-test.js +0 -38
  271. data/dist/es/ember-glimmer/tests/utils/abstract-test-case.js +0 -1
  272. data/dist/es/ember-glimmer/tests/utils/helpers.js +0 -15
  273. data/dist/es/ember-glimmer/tests/utils/shared-conditional-tests.js +0 -965
  274. data/dist/es/ember-glimmer/tests/utils/string-test.js +0 -47
  275. data/dist/es/ember-glimmer/tests/utils/test-case.js +0 -6
  276. data/dist/es/ember-glimmer/tests/utils/test-helpers.js +0 -1
  277. data/dist/es/ember-meta/index.js +0 -1
  278. data/dist/es/ember-meta/lib/meta.js +0 -623
  279. data/dist/es/ember-meta/tests/meta_test.js +0 -169
  280. data/dist/es/ember-metal/index.js +0 -33
  281. data/dist/es/ember-metal/lib/alias.js +0 -80
  282. data/dist/es/ember-metal/lib/array.js +0 -55
  283. data/dist/es/ember-metal/lib/array_events.js +0 -65
  284. data/dist/es/ember-metal/lib/chains.js +0 -315
  285. data/dist/es/ember-metal/lib/change_event.js +0 -4
  286. data/dist/es/ember-metal/lib/computed.js +0 -526
  287. data/dist/es/ember-metal/lib/computed_cache.js +0 -58
  288. data/dist/es/ember-metal/lib/dependent_keys.js +0 -34
  289. data/dist/es/ember-metal/lib/deprecate_property.js +0 -34
  290. data/dist/es/ember-metal/lib/descriptor.js +0 -28
  291. data/dist/es/ember-metal/lib/each_proxy.js +0 -106
  292. data/dist/es/ember-metal/lib/each_proxy_events.js +0 -13
  293. data/dist/es/ember-metal/lib/events.js +0 -174
  294. data/dist/es/ember-metal/lib/expand_properties.js +0 -64
  295. data/dist/es/ember-metal/lib/get_properties.js +0 -45
  296. data/dist/es/ember-metal/lib/injected_property.js +0 -53
  297. data/dist/es/ember-metal/lib/is_blank.js +0 -34
  298. data/dist/es/ember-metal/lib/is_empty.js +0 -63
  299. data/dist/es/ember-metal/lib/is_none.js +0 -27
  300. data/dist/es/ember-metal/lib/is_present.js +0 -38
  301. data/dist/es/ember-metal/lib/libraries.js +0 -80
  302. data/dist/es/ember-metal/lib/mixin.js +0 -646
  303. data/dist/es/ember-metal/lib/namespace_search.js +0 -166
  304. data/dist/es/ember-metal/lib/observer.js +0 -34
  305. data/dist/es/ember-metal/lib/observer_set.js +0 -48
  306. data/dist/es/ember-metal/lib/path_cache.js +0 -5
  307. data/dist/es/ember-metal/lib/properties.js +0 -192
  308. data/dist/es/ember-metal/lib/property_events.js +0 -198
  309. data/dist/es/ember-metal/lib/property_get.js +0 -160
  310. data/dist/es/ember-metal/lib/property_set.js +0 -157
  311. data/dist/es/ember-metal/lib/set_properties.js +0 -43
  312. data/dist/es/ember-metal/lib/tags.js +0 -81
  313. data/dist/es/ember-metal/lib/tracked.js +0 -201
  314. data/dist/es/ember-metal/lib/transaction.js +0 -137
  315. data/dist/es/ember-metal/lib/watch_key.js +0 -113
  316. data/dist/es/ember-metal/lib/watch_path.js +0 -24
  317. data/dist/es/ember-metal/lib/watching.js +0 -54
  318. data/dist/es/ember-metal/tests/accessors/get_path_test.js +0 -82
  319. data/dist/es/ember-metal/tests/accessors/get_properties_test.js +0 -36
  320. data/dist/es/ember-metal/tests/accessors/get_test.js +0 -335
  321. data/dist/es/ember-metal/tests/accessors/mandatory_setters_test.js +0 -470
  322. data/dist/es/ember-metal/tests/accessors/set_path_test.js +0 -97
  323. data/dist/es/ember-metal/tests/accessors/set_test.js +0 -128
  324. data/dist/es/ember-metal/tests/alias_test.js +0 -167
  325. data/dist/es/ember-metal/tests/chains_test.js +0 -210
  326. data/dist/es/ember-metal/tests/computed_test.js +0 -1040
  327. data/dist/es/ember-metal/tests/descriptor_test.js +0 -368
  328. data/dist/es/ember-metal/tests/events_test.js +0 -210
  329. data/dist/es/ember-metal/tests/expand_properties_test.js +0 -119
  330. data/dist/es/ember-metal/tests/injected_property_test.js +0 -76
  331. data/dist/es/ember-metal/tests/is_blank_test.js +0 -29
  332. data/dist/es/ember-metal/tests/is_empty_test.js +0 -55
  333. data/dist/es/ember-metal/tests/is_none_test.js +0 -23
  334. data/dist/es/ember-metal/tests/is_present_test.js +0 -30
  335. data/dist/es/ember-metal/tests/libraries_test.js +0 -99
  336. data/dist/es/ember-metal/tests/main_test.js +0 -31
  337. data/dist/es/ember-metal/tests/mixin/alias_method_test.js +0 -91
  338. data/dist/es/ember-metal/tests/mixin/apply_test.js +0 -40
  339. data/dist/es/ember-metal/tests/mixin/computed_test.js +0 -166
  340. data/dist/es/ember-metal/tests/mixin/concatenated_properties_test.js +0 -117
  341. data/dist/es/ember-metal/tests/mixin/detect_test.js +0 -40
  342. data/dist/es/ember-metal/tests/mixin/introspection_test.js +0 -75
  343. data/dist/es/ember-metal/tests/mixin/merged_properties_test.js +0 -200
  344. data/dist/es/ember-metal/tests/mixin/method_test.js +0 -252
  345. data/dist/es/ember-metal/tests/mixin/observer_test.js +0 -202
  346. data/dist/es/ember-metal/tests/mixin/reopen_test.js +0 -53
  347. data/dist/es/ember-metal/tests/mixin/without_test.js +0 -22
  348. data/dist/es/ember-metal/tests/namespace_search_test.js +0 -16
  349. data/dist/es/ember-metal/tests/observer_test.js +0 -961
  350. data/dist/es/ember-metal/tests/performance_test.js +0 -81
  351. data/dist/es/ember-metal/tests/properties_test.js +0 -120
  352. data/dist/es/ember-metal/tests/property_did_change_hook.js +0 -73
  353. data/dist/es/ember-metal/tests/set_properties_test.js +0 -49
  354. data/dist/es/ember-metal/tests/tracked/computed_test.js +0 -67
  355. data/dist/es/ember-metal/tests/tracked/get_test.js +0 -86
  356. data/dist/es/ember-metal/tests/tracked/set_test.js +0 -44
  357. data/dist/es/ember-metal/tests/tracked/support.js +0 -37
  358. data/dist/es/ember-metal/tests/tracked/validation_test.js +0 -233
  359. data/dist/es/ember-metal/tests/watching/is_watching_test.js +0 -97
  360. data/dist/es/ember-metal/tests/watching/unwatch_test.js +0 -109
  361. data/dist/es/ember-metal/tests/watching/watch_test.js +0 -255
  362. data/dist/es/ember-owner/index.js +0 -66
  363. data/dist/es/ember-routing/index.js +0 -21
  364. data/dist/es/ember-routing/lib/ext/controller.js +0 -222
  365. data/dist/es/ember-routing/lib/location/api.js +0 -118
  366. data/dist/es/ember-routing/lib/location/auto_location.js +0 -323
  367. data/dist/es/ember-routing/lib/location/hash_location.js +0 -171
  368. data/dist/es/ember-routing/lib/location/history_location.js +0 -298
  369. data/dist/es/ember-routing/lib/location/none_location.js +0 -122
  370. data/dist/es/ember-routing/lib/location/util.js +0 -114
  371. data/dist/es/ember-routing/lib/services/router.js +0 -243
  372. data/dist/es/ember-routing/lib/services/routing.js +0 -101
  373. data/dist/es/ember-routing/lib/system/cache.js +0 -40
  374. data/dist/es/ember-routing/lib/system/controller_for.js +0 -14
  375. data/dist/es/ember-routing/lib/system/dsl.js +0 -208
  376. data/dist/es/ember-routing/lib/system/generate_controller.js +0 -54
  377. data/dist/es/ember-routing/lib/system/query_params.js +0 -6
  378. data/dist/es/ember-routing/lib/system/route.js +0 -2476
  379. data/dist/es/ember-routing/lib/system/router.js +0 -1607
  380. data/dist/es/ember-routing/lib/system/router_state.js +0 -26
  381. data/dist/es/ember-routing/lib/system/transition.js +0 -153
  382. data/dist/es/ember-routing/lib/utils.js +0 -230
  383. data/dist/es/ember-routing/tests/ext/controller_test.js +0 -85
  384. data/dist/es/ember-routing/tests/location/auto_location_test.js +0 -379
  385. data/dist/es/ember-routing/tests/location/hash_location_test.js +0 -207
  386. data/dist/es/ember-routing/tests/location/history_location_test.js +0 -322
  387. data/dist/es/ember-routing/tests/location/none_location_test.js +0 -88
  388. data/dist/es/ember-routing/tests/location/util_test.js +0 -159
  389. data/dist/es/ember-routing/tests/system/cache_test.js +0 -54
  390. data/dist/es/ember-routing/tests/system/controller_for_test.js +0 -75
  391. data/dist/es/ember-routing/tests/system/dsl_test.js +0 -413
  392. data/dist/es/ember-routing/tests/system/route_test.js +0 -587
  393. data/dist/es/ember-routing/tests/system/router_test.js +0 -287
  394. data/dist/es/ember-routing/tests/utils_test.js +0 -37
  395. data/dist/es/ember-runtime/.gitignore +0 -1
  396. data/dist/es/ember-runtime/README +0 -12
  397. data/dist/es/ember-runtime/index.js +0 -35
  398. data/dist/es/ember-runtime/lib/compare.js +0 -149
  399. data/dist/es/ember-runtime/lib/copy.js +0 -106
  400. data/dist/es/ember-runtime/lib/ext/function.js +0 -154
  401. data/dist/es/ember-runtime/lib/ext/rsvp.js +0 -59
  402. data/dist/es/ember-runtime/lib/is-equal.js +0 -60
  403. data/dist/es/ember-runtime/lib/mixins/-proxy.js +0 -109
  404. data/dist/es/ember-runtime/lib/mixins/action_handler.js +0 -222
  405. data/dist/es/ember-runtime/lib/mixins/array.js +0 -1661
  406. data/dist/es/ember-runtime/lib/mixins/comparable.js +0 -38
  407. data/dist/es/ember-runtime/lib/mixins/container_proxy.js +0 -154
  408. data/dist/es/ember-runtime/lib/mixins/copyable.js +0 -34
  409. data/dist/es/ember-runtime/lib/mixins/enumerable.js +0 -16
  410. data/dist/es/ember-runtime/lib/mixins/evented.js +0 -149
  411. data/dist/es/ember-runtime/lib/mixins/mutable_enumerable.js +0 -18
  412. data/dist/es/ember-runtime/lib/mixins/observable.js +0 -482
  413. data/dist/es/ember-runtime/lib/mixins/promise_proxy.js +0 -224
  414. data/dist/es/ember-runtime/lib/mixins/registry_proxy.js +0 -265
  415. data/dist/es/ember-runtime/lib/mixins/target_action_support.js +0 -172
  416. data/dist/es/ember-runtime/lib/system/array_proxy.js +0 -298
  417. data/dist/es/ember-runtime/lib/system/core_object.js +0 -1037
  418. data/dist/es/ember-runtime/lib/system/namespace.js +0 -69
  419. data/dist/es/ember-runtime/lib/system/object.js +0 -73
  420. data/dist/es/ember-runtime/lib/system/object_proxy.js +0 -81
  421. data/dist/es/ember-runtime/lib/type-of.js +0 -107
  422. data/dist/es/ember-runtime/tests/array/any-test.js +0 -55
  423. data/dist/es/ember-runtime/tests/array/compact-test.js +0 -12
  424. data/dist/es/ember-runtime/tests/array/every-test.js +0 -82
  425. data/dist/es/ember-runtime/tests/array/filter-test.js +0 -123
  426. data/dist/es/ember-runtime/tests/array/find-test.js +0 -86
  427. data/dist/es/ember-runtime/tests/array/firstObject-test.js +0 -27
  428. data/dist/es/ember-runtime/tests/array/forEach-test.js +0 -68
  429. data/dist/es/ember-runtime/tests/array/includes-test.js +0 -46
  430. data/dist/es/ember-runtime/tests/array/indexOf-test.js +0 -27
  431. data/dist/es/ember-runtime/tests/array/invoke-test.js +0 -60
  432. data/dist/es/ember-runtime/tests/array/isAny-test.js +0 -53
  433. data/dist/es/ember-runtime/tests/array/lastIndexOf-test.js +0 -78
  434. data/dist/es/ember-runtime/tests/array/lastObject-test.js +0 -31
  435. data/dist/es/ember-runtime/tests/array/map-test.js +0 -68
  436. data/dist/es/ember-runtime/tests/array/mapBy-test.js +0 -16
  437. data/dist/es/ember-runtime/tests/array/objectAt-test.js +0 -34
  438. data/dist/es/ember-runtime/tests/array/reduce-test.js +0 -24
  439. data/dist/es/ember-runtime/tests/array/reject-test.js +0 -134
  440. data/dist/es/ember-runtime/tests/array/sortBy-test.js +0 -23
  441. data/dist/es/ember-runtime/tests/array/toArray-test.js +0 -11
  442. data/dist/es/ember-runtime/tests/array/uniq-test.js +0 -27
  443. data/dist/es/ember-runtime/tests/array/uniqBy-test.js +0 -33
  444. data/dist/es/ember-runtime/tests/array/without-test.js +0 -39
  445. data/dist/es/ember-runtime/tests/copyable-array/copy-test.js +0 -12
  446. data/dist/es/ember-runtime/tests/core/compare_test.js +0 -89
  447. data/dist/es/ember-runtime/tests/core/copy_test.js +0 -47
  448. data/dist/es/ember-runtime/tests/core/isEqual_test.js +0 -65
  449. data/dist/es/ember-runtime/tests/core/is_array_test.js +0 -59
  450. data/dist/es/ember-runtime/tests/core/is_empty_test.js +0 -15
  451. data/dist/es/ember-runtime/tests/core/type_of_test.js +0 -54
  452. data/dist/es/ember-runtime/tests/ext/function_test.js +0 -121
  453. data/dist/es/ember-runtime/tests/ext/rsvp_test.js +0 -269
  454. data/dist/es/ember-runtime/tests/helpers/array.js +0 -336
  455. data/dist/es/ember-runtime/tests/inject_test.js +0 -51
  456. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/chained_test.js +0 -63
  457. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/observable_test.js +0 -892
  458. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/propertyChanges_test.js +0 -142
  459. data/dist/es/ember-runtime/tests/legacy_1x/system/object/base_test.js +0 -98
  460. data/dist/es/ember-runtime/tests/legacy_1x/system/object/concatenated_test.js +0 -131
  461. data/dist/es/ember-runtime/tests/mixins/array_test.js +0 -400
  462. data/dist/es/ember-runtime/tests/mixins/comparable_test.js +0 -37
  463. data/dist/es/ember-runtime/tests/mixins/container_proxy_test.js +0 -48
  464. data/dist/es/ember-runtime/tests/mixins/enumerable_test.js +0 -17
  465. data/dist/es/ember-runtime/tests/mixins/evented_test.js +0 -23
  466. data/dist/es/ember-runtime/tests/mixins/mutable_enumerable_test.js +0 -17
  467. data/dist/es/ember-runtime/tests/mixins/observable_test.js +0 -137
  468. data/dist/es/ember-runtime/tests/mixins/promise_proxy_test.js +0 -593
  469. data/dist/es/ember-runtime/tests/mixins/target_action_support_test.js +0 -237
  470. data/dist/es/ember-runtime/tests/mutable-array/addObject-test.js +0 -76
  471. data/dist/es/ember-runtime/tests/mutable-array/clear-test.js +0 -64
  472. data/dist/es/ember-runtime/tests/mutable-array/insertAt-test.js +0 -216
  473. data/dist/es/ember-runtime/tests/mutable-array/popObject-test.js +0 -91
  474. data/dist/es/ember-runtime/tests/mutable-array/pushObject-test.js +0 -98
  475. data/dist/es/ember-runtime/tests/mutable-array/pushObjects-test.js +0 -12
  476. data/dist/es/ember-runtime/tests/mutable-array/removeAt-test.js +0 -187
  477. data/dist/es/ember-runtime/tests/mutable-array/removeObject-test.js +0 -77
  478. data/dist/es/ember-runtime/tests/mutable-array/removeObjects-test.js +0 -202
  479. data/dist/es/ember-runtime/tests/mutable-array/replace-test.js +0 -221
  480. data/dist/es/ember-runtime/tests/mutable-array/reverseObjects-test.js +0 -35
  481. data/dist/es/ember-runtime/tests/mutable-array/setObjects-test.js +0 -63
  482. data/dist/es/ember-runtime/tests/mutable-array/shiftObject-test.js +0 -105
  483. data/dist/es/ember-runtime/tests/mutable-array/unshiftObject-test.js +0 -99
  484. data/dist/es/ember-runtime/tests/mutable-array/unshiftObjects-test.js +0 -102
  485. data/dist/es/ember-runtime/tests/system/array_proxy/arranged_content_test.js +0 -275
  486. data/dist/es/ember-runtime/tests/system/array_proxy/array_observer_test.js +0 -51
  487. data/dist/es/ember-runtime/tests/system/array_proxy/content_change_test.js +0 -85
  488. data/dist/es/ember-runtime/tests/system/array_proxy/length_test.js +0 -201
  489. data/dist/es/ember-runtime/tests/system/array_proxy/watching_and_listening_test.js +0 -157
  490. data/dist/es/ember-runtime/tests/system/core_object_test.js +0 -114
  491. data/dist/es/ember-runtime/tests/system/namespace/base_test.js +0 -175
  492. data/dist/es/ember-runtime/tests/system/native_array/a_test.js +0 -16
  493. data/dist/es/ember-runtime/tests/system/native_array/copyable_suite_test.js +0 -19
  494. data/dist/es/ember-runtime/tests/system/native_array/replace_test.js +0 -17
  495. data/dist/es/ember-runtime/tests/system/object/computed_test.js +0 -352
  496. data/dist/es/ember-runtime/tests/system/object/create_test.js +0 -135
  497. data/dist/es/ember-runtime/tests/system/object/destroy_test.js +0 -146
  498. data/dist/es/ember-runtime/tests/system/object/detectInstance_test.js +0 -38
  499. data/dist/es/ember-runtime/tests/system/object/detect_test.js +0 -33
  500. data/dist/es/ember-runtime/tests/system/object/es-compatibility-test.js +0 -469
  501. data/dist/es/ember-runtime/tests/system/object/events_test.js +0 -156
  502. data/dist/es/ember-runtime/tests/system/object/extend_test.js +0 -153
  503. data/dist/es/ember-runtime/tests/system/object/observer_test.js +0 -216
  504. data/dist/es/ember-runtime/tests/system/object/reopenClass_test.js +0 -36
  505. data/dist/es/ember-runtime/tests/system/object/reopen_test.js +0 -48
  506. data/dist/es/ember-runtime/tests/system/object/strict-mode-test.js +0 -31
  507. data/dist/es/ember-runtime/tests/system/object/toString_test.js +0 -125
  508. data/dist/es/ember-runtime/tests/system/object_proxy_test.js +0 -314
  509. data/dist/es/ember-template-compiler/index.js +0 -26
  510. data/dist/es/ember-template-compiler/lib/compat.js +0 -16
  511. data/dist/es/ember-template-compiler/lib/plugins/assert-if-helper-without-arguments.js +0 -38
  512. data/dist/es/ember-template-compiler/lib/plugins/assert-input-helper-without-block.js +0 -20
  513. data/dist/es/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js +0 -26
  514. data/dist/es/ember-template-compiler/lib/plugins/assert-splattribute-expression.js +0 -27
  515. data/dist/es/ember-template-compiler/lib/plugins/deprecate-render-model.js +0 -38
  516. data/dist/es/ember-template-compiler/lib/plugins/deprecate-render.js +0 -41
  517. data/dist/es/ember-template-compiler/lib/plugins/deprecate-send-action.js +0 -42
  518. data/dist/es/ember-template-compiler/lib/plugins/index.js +0 -50
  519. data/dist/es/ember-template-compiler/lib/plugins/transform-action-syntax.js +0 -52
  520. data/dist/es/ember-template-compiler/lib/plugins/transform-angle-bracket-components.js +0 -10
  521. data/dist/es/ember-template-compiler/lib/plugins/transform-attrs-into-args.js +0 -62
  522. data/dist/es/ember-template-compiler/lib/plugins/transform-dot-component-invocation.js +0 -88
  523. data/dist/es/ember-template-compiler/lib/plugins/transform-each-in-into-each.js +0 -48
  524. data/dist/es/ember-template-compiler/lib/plugins/transform-has-block-syntax.js +0 -46
  525. data/dist/es/ember-template-compiler/lib/plugins/transform-in-element.js +0 -83
  526. data/dist/es/ember-template-compiler/lib/plugins/transform-inline-link-to.js +0 -31
  527. data/dist/es/ember-template-compiler/lib/plugins/transform-input-type-syntax.js +0 -52
  528. data/dist/es/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js +0 -48
  529. data/dist/es/ember-template-compiler/lib/plugins/transform-old-class-binding-syntax.js +0 -102
  530. data/dist/es/ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.js +0 -34
  531. data/dist/es/ember-template-compiler/lib/plugins/transform-top-level-components.js +0 -41
  532. data/dist/es/ember-template-compiler/lib/system/bootstrap.js +0 -44
  533. data/dist/es/ember-template-compiler/lib/system/calculate-location-display.js +0 -20
  534. data/dist/es/ember-template-compiler/lib/system/compile-options.js +0 -71
  535. data/dist/es/ember-template-compiler/lib/system/compile.js +0 -28
  536. data/dist/es/ember-template-compiler/lib/system/dasherize-component-name.js +0 -13
  537. data/dist/es/ember-template-compiler/lib/system/initializer.js +0 -22
  538. data/dist/es/ember-template-compiler/lib/system/precompile.js +0 -18
  539. data/dist/es/ember-template-compiler/tests/plugins/assert-if-helper-without-arguments-test.js +0 -51
  540. data/dist/es/ember-template-compiler/tests/plugins/assert-input-helper-without-block-test.js +0 -17
  541. data/dist/es/ember-template-compiler/tests/plugins/assert-reserved-named-arguments-test.js +0 -416
  542. data/dist/es/ember-template-compiler/tests/plugins/assert-splattribute-expression-test.js +0 -57
  543. data/dist/es/ember-template-compiler/tests/plugins/deprecate-render-model-test.js +0 -19
  544. data/dist/es/ember-template-compiler/tests/plugins/deprecate-render-test.js +0 -19
  545. data/dist/es/ember-template-compiler/tests/plugins/deprecate-send-action-test.js +0 -29
  546. data/dist/es/ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js +0 -27
  547. data/dist/es/ember-template-compiler/tests/plugins/transform-inline-link-to-test.js +0 -15
  548. data/dist/es/ember-template-compiler/tests/plugins/transform-input-type-syntax-test.js +0 -25
  549. data/dist/es/ember-template-compiler/tests/system/bootstrap-test.js +0 -155
  550. data/dist/es/ember-template-compiler/tests/system/compile_options_test.js +0 -115
  551. data/dist/es/ember-template-compiler/tests/system/dasherize-component-name-test.js +0 -19
  552. data/dist/es/ember-testing/index.js +0 -10
  553. data/dist/es/ember-testing/lib/adapters/adapter.js +0 -58
  554. data/dist/es/ember-testing/lib/adapters/qunit.js +0 -47
  555. data/dist/es/ember-testing/lib/events.js +0 -136
  556. data/dist/es/ember-testing/lib/ext/application.js +0 -191
  557. data/dist/es/ember-testing/lib/ext/rsvp.js +0 -19
  558. data/dist/es/ember-testing/lib/helpers.js +0 -30
  559. data/dist/es/ember-testing/lib/helpers/-is-form-control.js +0 -16
  560. data/dist/es/ember-testing/lib/helpers/and_then.js +0 -3
  561. data/dist/es/ember-testing/lib/helpers/click.js +0 -36
  562. data/dist/es/ember-testing/lib/helpers/current_path.js +0 -27
  563. data/dist/es/ember-testing/lib/helpers/current_route_name.js +0 -25
  564. data/dist/es/ember-testing/lib/helpers/current_url.js +0 -27
  565. data/dist/es/ember-testing/lib/helpers/fill_in.js +0 -46
  566. data/dist/es/ember-testing/lib/helpers/find.js +0 -41
  567. data/dist/es/ember-testing/lib/helpers/find_with_assert.js +0 -34
  568. data/dist/es/ember-testing/lib/helpers/key_event.js +0 -36
  569. data/dist/es/ember-testing/lib/helpers/pause_test.js +0 -65
  570. data/dist/es/ember-testing/lib/helpers/trigger_event.js +0 -62
  571. data/dist/es/ember-testing/lib/helpers/visit.js +0 -42
  572. data/dist/es/ember-testing/lib/helpers/wait.js +0 -72
  573. data/dist/es/ember-testing/lib/initializers.js +0 -17
  574. data/dist/es/ember-testing/lib/setup_for_testing.js +0 -44
  575. data/dist/es/ember-testing/lib/support.js +0 -62
  576. data/dist/es/ember-testing/lib/test.js +0 -70
  577. data/dist/es/ember-testing/lib/test/adapter.js +0 -33
  578. data/dist/es/ember-testing/lib/test/helpers.js +0 -125
  579. data/dist/es/ember-testing/lib/test/on_inject_helpers.js +0 -38
  580. data/dist/es/ember-testing/lib/test/pending_requests.js +0 -24
  581. data/dist/es/ember-testing/lib/test/promise.js +0 -79
  582. data/dist/es/ember-testing/lib/test/run.js +0 -9
  583. data/dist/es/ember-testing/lib/test/waiters.js +0 -117
  584. data/dist/es/ember-testing/tests/acceptance_test.js +0 -478
  585. data/dist/es/ember-testing/tests/adapters/adapter_test.js +0 -31
  586. data/dist/es/ember-testing/tests/adapters/qunit_test.js +0 -50
  587. data/dist/es/ember-testing/tests/adapters_test.js +0 -405
  588. data/dist/es/ember-testing/tests/ext/rsvp_test.js +0 -124
  589. data/dist/es/ember-testing/tests/helper_registration_test.js +0 -98
  590. data/dist/es/ember-testing/tests/helpers_test.js +0 -1228
  591. data/dist/es/ember-testing/tests/integration_test.js +0 -106
  592. data/dist/es/ember-testing/tests/reexports_test.js +0 -26
  593. data/dist/es/ember-testing/tests/test/waiters-test.js +0 -145
  594. data/dist/es/ember-utils/index.js +0 -28
  595. data/dist/es/ember-utils/lib/cache.js +0 -36
  596. data/dist/es/ember-utils/lib/dictionary.js +0 -11
  597. data/dist/es/ember-utils/lib/guid.js +0 -120
  598. data/dist/es/ember-utils/lib/inspect.js +0 -112
  599. data/dist/es/ember-utils/lib/intern.js +0 -49
  600. data/dist/es/ember-utils/lib/invoke.js +0 -53
  601. data/dist/es/ember-utils/lib/is_proxy.js +0 -14
  602. data/dist/es/ember-utils/lib/lookup-descriptor.js +0 -11
  603. data/dist/es/ember-utils/lib/make-array.js +0 -7
  604. data/dist/es/ember-utils/lib/name.js +0 -9
  605. data/dist/es/ember-utils/lib/proxy-utils.js +0 -1
  606. data/dist/es/ember-utils/lib/spec.js +0 -14
  607. data/dist/es/ember-utils/lib/super.js +0 -83
  608. data/dist/es/ember-utils/lib/symbol-utils.js +0 -8
  609. data/dist/es/ember-utils/lib/symbol.js +0 -15
  610. data/dist/es/ember-utils/lib/to-string.js +0 -35
  611. data/dist/es/ember-utils/lib/weak_set.js +0 -18
  612. data/dist/es/ember-utils/tests/cache_test.js +0 -77
  613. data/dist/es/ember-utils/tests/can_invoke_test.js +0 -46
  614. data/dist/es/ember-utils/tests/checkHasSuper_test.js +0 -17
  615. data/dist/es/ember-utils/tests/generate_guid_test.js +0 -13
  616. data/dist/es/ember-utils/tests/guid_for_test.js +0 -101
  617. data/dist/es/ember-utils/tests/inspect_test.js +0 -146
  618. data/dist/es/ember-utils/tests/is_proxy_test.js +0 -18
  619. data/dist/es/ember-utils/tests/make_array_test.js +0 -41
  620. data/dist/es/ember-utils/tests/to-string-test.js +0 -32
  621. data/dist/es/ember-utils/tests/try_invoke_test.js +0 -48
  622. data/dist/es/ember-views/index.js +0 -28
  623. data/dist/es/ember-views/lib/compat/attrs.js +0 -3
  624. data/dist/es/ember-views/lib/compat/fallback-view-registry.js +0 -3
  625. data/dist/es/ember-views/lib/component_lookup.js +0 -27
  626. data/dist/es/ember-views/lib/mixins/action_support.js +0 -189
  627. data/dist/es/ember-views/lib/mixins/child_views_support.js +0 -27
  628. data/dist/es/ember-views/lib/mixins/class_names_support.js +0 -102
  629. data/dist/es/ember-views/lib/mixins/text_support.js +0 -333
  630. data/dist/es/ember-views/lib/mixins/view_state_support.js +0 -19
  631. data/dist/es/ember-views/lib/mixins/view_support.js +0 -452
  632. data/dist/es/ember-views/lib/system/action_manager.js +0 -14
  633. data/dist/es/ember-views/lib/system/event_dispatcher.js +0 -454
  634. data/dist/es/ember-views/lib/system/jquery.js +0 -29
  635. data/dist/es/ember-views/lib/system/jquery_event_deprecation.js +0 -61
  636. data/dist/es/ember-views/lib/system/lookup_partial.js +0 -55
  637. data/dist/es/ember-views/lib/system/utils.js +0 -201
  638. data/dist/es/ember-views/lib/utils/lookup-component.js +0 -58
  639. data/dist/es/ember-views/lib/views/core_view.js +0 -83
  640. data/dist/es/ember-views/lib/views/states.js +0 -48
  641. data/dist/es/ember-views/lib/views/states/default.js +0 -17
  642. data/dist/es/ember-views/lib/views/states/destroying.js +0 -16
  643. data/dist/es/ember-views/lib/views/states/has_element.js +0 -31
  644. data/dist/es/ember-views/lib/views/states/in_dom.js +0 -28
  645. data/dist/es/ember-views/lib/views/states/pre_render.js +0 -3
  646. data/dist/es/ember/index.js +0 -645
  647. data/dist/es/ember/tests/application_lifecycle_test.js +0 -188
  648. data/dist/es/ember/tests/component_context_test.js +0 -255
  649. data/dist/es/ember/tests/component_registration_test.js +0 -252
  650. data/dist/es/ember/tests/controller_test.js +0 -44
  651. data/dist/es/ember/tests/error_handler_test.js +0 -581
  652. data/dist/es/ember/tests/helpers/helper_registration_test.js +0 -103
  653. data/dist/es/ember/tests/helpers/link_to_test.js +0 -2103
  654. data/dist/es/ember/tests/helpers/link_to_test/link_to_transitioning_classes_test.js +0 -342
  655. data/dist/es/ember/tests/helpers/link_to_test/link_to_with_query_params_test.js +0 -694
  656. data/dist/es/ember/tests/homepage_example_test.js +0 -47
  657. data/dist/es/ember/tests/integration/multiple-app-test.js +0 -101
  658. data/dist/es/ember/tests/production_build_test.js +0 -34
  659. data/dist/es/ember/tests/reexports_test.js +0 -307
  660. data/dist/es/ember/tests/routing/decoupled_basic_test.js +0 -4506
  661. data/dist/es/ember/tests/routing/query_params_test.js +0 -1579
  662. data/dist/es/ember/tests/routing/query_params_test/model_dependent_state_with_query_params_test.js +0 -1117
  663. data/dist/es/ember/tests/routing/query_params_test/overlapping_query_params_test.js +0 -185
  664. data/dist/es/ember/tests/routing/query_params_test/query_param_async_get_handler_test.js +0 -327
  665. data/dist/es/ember/tests/routing/query_params_test/query_params_paramless_link_to_test.js +0 -37
  666. data/dist/es/ember/tests/routing/query_params_test/shared_state_test.js +0 -84
  667. data/dist/es/ember/tests/routing/router_map_test.js +0 -46
  668. data/dist/es/ember/tests/routing/router_service_test/basic_test.js +0 -95
  669. data/dist/es/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js +0 -149
  670. data/dist/es/ember/tests/routing/router_service_test/isActive_test.js +0 -113
  671. data/dist/es/ember/tests/routing/router_service_test/replaceWith_test.js +0 -144
  672. data/dist/es/ember/tests/routing/router_service_test/transitionTo_test.js +0 -370
  673. data/dist/es/ember/tests/routing/router_service_test/urlFor_test.js +0 -307
  674. data/dist/es/ember/tests/routing/substates_test.js +0 -1110
  675. data/dist/es/ember/tests/routing/toplevel_dom_test.js +0 -37
  676. data/dist/es/ember/tests/service_injection_test.js +0 -278
  677. data/dist/es/ember/tests/view_instrumentation_test.js +0 -47
  678. data/dist/es/ember/version.js +0 -1
  679. data/dist/es/handlebars.js +0 -1268
  680. data/dist/es/internal-test-helpers/index.js +0 -31
  681. data/dist/es/internal-test-helpers/lib/.gitkeep +0 -0
  682. data/dist/es/internal-test-helpers/lib/apply-mixins.js +0 -37
  683. data/dist/es/internal-test-helpers/lib/browser-detect.js +0 -4
  684. data/dist/es/internal-test-helpers/lib/build-owner.js +0 -49
  685. data/dist/es/internal-test-helpers/lib/confirm-export.js +0 -45
  686. data/dist/es/internal-test-helpers/lib/ember-dev/assertion.js +0 -87
  687. data/dist/es/internal-test-helpers/lib/ember-dev/containers.js +0 -34
  688. data/dist/es/internal-test-helpers/lib/ember-dev/debug.js +0 -47
  689. data/dist/es/internal-test-helpers/lib/ember-dev/deprecation.js +0 -71
  690. data/dist/es/internal-test-helpers/lib/ember-dev/index.js +0 -19
  691. data/dist/es/internal-test-helpers/lib/ember-dev/method-call-tracker.js +0 -127
  692. data/dist/es/internal-test-helpers/lib/ember-dev/namespaces.js +0 -34
  693. data/dist/es/internal-test-helpers/lib/ember-dev/run-loop.js +0 -28
  694. data/dist/es/internal-test-helpers/lib/ember-dev/setup-qunit.js +0 -26
  695. data/dist/es/internal-test-helpers/lib/ember-dev/utils.js +0 -33
  696. data/dist/es/internal-test-helpers/lib/ember-dev/warning.js +0 -71
  697. data/dist/es/internal-test-helpers/lib/equal-inner-html.js +0 -37
  698. data/dist/es/internal-test-helpers/lib/equal-tokens.js +0 -53
  699. data/dist/es/internal-test-helpers/lib/factory.js +0 -65
  700. data/dist/es/internal-test-helpers/lib/get-all-property-names.js +0 -12
  701. data/dist/es/internal-test-helpers/lib/get-text-of.js +0 -3
  702. data/dist/es/internal-test-helpers/lib/matchers.js +0 -167
  703. data/dist/es/internal-test-helpers/lib/module-for.js +0 -89
  704. data/dist/es/internal-test-helpers/lib/registry-check.js +0 -28
  705. data/dist/es/internal-test-helpers/lib/run.js +0 -11
  706. data/dist/es/internal-test-helpers/lib/strip.js +0 -12
  707. data/dist/es/internal-test-helpers/lib/system/synthetic-events.js +0 -183
  708. data/dist/es/internal-test-helpers/lib/test-cases/abstract-application.js +0 -70
  709. data/dist/es/internal-test-helpers/lib/test-cases/abstract-rendering.js +0 -203
  710. data/dist/es/internal-test-helpers/lib/test-cases/abstract.js +0 -222
  711. data/dist/es/internal-test-helpers/lib/test-cases/application.js +0 -39
  712. data/dist/es/internal-test-helpers/lib/test-cases/autoboot-application.js +0 -34
  713. data/dist/es/internal-test-helpers/lib/test-cases/default-resolver-application.js +0 -43
  714. data/dist/es/internal-test-helpers/lib/test-cases/node-query.js +0 -120
  715. data/dist/es/internal-test-helpers/lib/test-cases/query-param.js +0 -124
  716. data/dist/es/internal-test-helpers/lib/test-cases/rendering.js +0 -14
  717. data/dist/es/internal-test-helpers/lib/test-cases/router.js +0 -26
  718. data/dist/es/internal-test-helpers/lib/test-cases/test-resolver-application.js +0 -40
  719. data/dist/es/internal-test-helpers/lib/test-resolver.js +0 -86
  720. data/dist/es/internal-test-helpers/tests/index-test.js +0 -10
  721. data/dist/es/route-recognizer.js +0 -685
  722. data/dist/es/router.js +0 -2454
  723. data/dist/es/rsvp.js +0 -2394
  724. data/dist/es/simple-html-tokenizer.js +0 -638
  725. data/dist/jquery/jquery.js +0 -10364
  726. data/dist/node/app-boot-test.js +0 -146
  727. data/dist/node/build-info-test.js +0 -177
  728. data/dist/node/component-rendering-test.js +0 -34
  729. data/dist/node/helpers/app-module.js +0 -198
  730. data/dist/node/helpers/assert-html-matches.js +0 -25
  731. data/dist/node/helpers/build-owner.js +0 -28
  732. data/dist/node/helpers/component-module.js +0 -137
  733. data/dist/node/sourcemap-test.js +0 -27
  734. data/dist/node/template-compiler-test.js +0 -45
  735. data/dist/node/visit-test.js +0 -349
  736. data/dist/qunit/qunit.css +0 -436
  737. data/dist/qunit/qunit.js +0 -5188
  738. data/dist/tests/index.html +0 -254
  739. data/ember-source.gemspec +0 -28
  740. data/node_modules/.yarn-integrity +0 -10
  741. data/yarn.lock +0 -4
@@ -1,1579 +0,0 @@
1
- import Controller from '@ember/controller';
2
- import { dasherize } from '@ember/string';
3
- import { RSVP, Object as EmberObject, A as emberA } from 'ember-runtime';
4
- import { run } from '@ember/runloop';
5
- import { peekMeta } from 'ember-meta';
6
- import { get, computed } from 'ember-metal';
7
- import { Route } from 'ember-routing';
8
-
9
- import { QueryParamTestCase, moduleFor, getTextOf } from 'internal-test-helpers';
10
-
11
- moduleFor(
12
- 'Query Params - main',
13
- class extends QueryParamTestCase {
14
- refreshModelWhileLoadingTest(loadingReturn) {
15
- let assert = this.assert;
16
-
17
- assert.expect(9);
18
-
19
- let appModelCount = 0;
20
- let promiseResolve;
21
-
22
- this.add(
23
- 'route:application',
24
- Route.extend({
25
- queryParams: {
26
- appomg: {
27
- defaultValue: 'applol',
28
- },
29
- },
30
- model(/* params */) {
31
- appModelCount++;
32
- },
33
- })
34
- );
35
-
36
- this.setSingleQPController('index', 'omg', undefined, {
37
- omg: undefined,
38
- });
39
-
40
- let actionName = typeof loadingReturn !== 'undefined' ? 'loading' : 'ignore';
41
- let indexModelCount = 0;
42
- this.add(
43
- 'route:index',
44
- Route.extend({
45
- queryParams: {
46
- omg: {
47
- refreshModel: true,
48
- },
49
- },
50
- actions: {
51
- [actionName]: function() {
52
- return loadingReturn;
53
- },
54
- },
55
- model(params) {
56
- indexModelCount++;
57
- if (indexModelCount === 2) {
58
- assert.deepEqual(params, { omg: 'lex' });
59
- return new RSVP.Promise(function(resolve) {
60
- promiseResolve = resolve;
61
- return;
62
- });
63
- } else if (indexModelCount === 3) {
64
- assert.deepEqual(
65
- params,
66
- { omg: 'hello' },
67
- "Model hook reruns even if the previous one didn't finish"
68
- );
69
- }
70
- },
71
- })
72
- );
73
-
74
- return this.visit('/').then(() => {
75
- assert.equal(appModelCount, 1, 'appModelCount is 1');
76
- assert.equal(indexModelCount, 1);
77
-
78
- let indexController = this.getController('index');
79
- this.setAndFlush(indexController, 'omg', 'lex');
80
-
81
- assert.equal(appModelCount, 1, 'appModelCount is 1');
82
- assert.equal(indexModelCount, 2);
83
-
84
- this.setAndFlush(indexController, 'omg', 'hello');
85
- assert.equal(appModelCount, 1, 'appModelCount is 1');
86
- assert.equal(indexModelCount, 3);
87
-
88
- run(function() {
89
- promiseResolve();
90
- });
91
-
92
- assert.equal(get(indexController, 'omg'), 'hello', 'At the end last value prevails');
93
- });
94
- }
95
-
96
- ["@test No replaceURL occurs on startup because default values don't show up in URL"](assert) {
97
- assert.expect(1);
98
-
99
- this.setSingleQPController('index');
100
-
101
- return this.visitAndAssert('/');
102
- }
103
-
104
- ['@test Calling transitionTo does not lose query params already on the activeTransition'](
105
- assert
106
- ) {
107
- assert.expect(2);
108
-
109
- this.router.map(function() {
110
- this.route('parent', function() {
111
- this.route('child');
112
- this.route('sibling');
113
- });
114
- });
115
-
116
- this.add(
117
- 'route:parent.child',
118
- Route.extend({
119
- afterModel() {
120
- this.transitionTo('parent.sibling');
121
- },
122
- })
123
- );
124
-
125
- this.setSingleQPController('parent');
126
-
127
- return this.visit('/parent/child?foo=lol').then(() => {
128
- this.assertCurrentPath(
129
- '/parent/sibling?foo=lol',
130
- 'redirected to the sibling route, instead of child route'
131
- );
132
- assert.equal(
133
- this.getController('parent').get('foo'),
134
- 'lol',
135
- 'controller has value from the active transition'
136
- );
137
- });
138
- }
139
-
140
- ['@test Single query params can be set on the controller and reflected in the url'](assert) {
141
- assert.expect(3);
142
-
143
- this.router.map(function() {
144
- this.route('home', { path: '/' });
145
- });
146
-
147
- this.setSingleQPController('home');
148
-
149
- return this.visitAndAssert('/').then(() => {
150
- let controller = this.getController('home');
151
-
152
- this.setAndFlush(controller, 'foo', '456');
153
- this.assertCurrentPath('/?foo=456');
154
-
155
- this.setAndFlush(controller, 'foo', '987');
156
- this.assertCurrentPath('/?foo=987');
157
- });
158
- }
159
-
160
- ['@test Query params can map to different url keys configured on the controller'](assert) {
161
- assert.expect(6);
162
-
163
- this.add(
164
- 'controller:index',
165
- Controller.extend({
166
- queryParams: [{ foo: 'other_foo', bar: { as: 'other_bar' } }],
167
- foo: 'FOO',
168
- bar: 'BAR',
169
- })
170
- );
171
-
172
- return this.visitAndAssert('/').then(() => {
173
- let controller = this.getController('index');
174
-
175
- this.setAndFlush(controller, 'foo', 'LEX');
176
- this.assertCurrentPath('/?other_foo=LEX', "QP mapped correctly without 'as'");
177
-
178
- this.setAndFlush(controller, 'foo', 'WOO');
179
- this.assertCurrentPath('/?other_foo=WOO', "QP updated correctly without 'as'");
180
-
181
- this.transitionTo('/?other_foo=NAW');
182
- assert.equal(controller.get('foo'), 'NAW', 'QP managed correctly on URL transition');
183
-
184
- this.setAndFlush(controller, 'bar', 'NERK');
185
- this.assertCurrentPath('/?other_bar=NERK&other_foo=NAW', "QP mapped correctly with 'as'");
186
-
187
- this.setAndFlush(controller, 'bar', 'NUKE');
188
- this.assertCurrentPath('/?other_bar=NUKE&other_foo=NAW', "QP updated correctly with 'as'");
189
- });
190
- }
191
-
192
- ['@test Routes have a private overridable serializeQueryParamKey hook'](assert) {
193
- assert.expect(2);
194
-
195
- this.add(
196
- 'route:index',
197
- Route.extend({
198
- serializeQueryParamKey: dasherize,
199
- })
200
- );
201
-
202
- this.setSingleQPController('index', 'funTimes', '');
203
-
204
- return this.visitAndAssert('/').then(() => {
205
- let controller = this.getController('index');
206
-
207
- this.setAndFlush(controller, 'funTimes', 'woot');
208
- this.assertCurrentPath('/?fun-times=woot');
209
- });
210
- }
211
-
212
- ['@test Can override inherited QP behavior by specifying queryParams as a computed property'](
213
- assert
214
- ) {
215
- assert.expect(3);
216
-
217
- this.setSingleQPController('index', 'a', 0, {
218
- queryParams: computed(function() {
219
- return ['c'];
220
- }),
221
- c: true,
222
- });
223
-
224
- return this.visitAndAssert('/').then(() => {
225
- let indexController = this.getController('index');
226
-
227
- this.setAndFlush(indexController, 'a', 1);
228
- this.assertCurrentPath('/', 'QP did not update due to being overriden');
229
-
230
- this.setAndFlush(indexController, 'c', false);
231
- this.assertCurrentPath('/?c=false', 'QP updated with overridden param');
232
- });
233
- }
234
-
235
- ['@test Can concatenate inherited QP behavior by specifying queryParams as an array'](assert) {
236
- assert.expect(3);
237
-
238
- this.setSingleQPController('index', 'a', 0, {
239
- queryParams: ['c'],
240
- c: true,
241
- });
242
-
243
- return this.visitAndAssert('/').then(() => {
244
- let indexController = this.getController('index');
245
-
246
- this.setAndFlush(indexController, 'a', 1);
247
- this.assertCurrentPath('/?a=1', 'Inherited QP did update');
248
-
249
- this.setAndFlush(indexController, 'c', false);
250
- this.assertCurrentPath('/?a=1&c=false', 'New QP did update');
251
- });
252
- }
253
-
254
- ['@test model hooks receives query params'](assert) {
255
- assert.expect(2);
256
-
257
- this.setSingleQPController('index');
258
-
259
- this.add(
260
- 'route:index',
261
- Route.extend({
262
- model(params) {
263
- assert.deepEqual(params, { foo: 'bar' });
264
- },
265
- })
266
- );
267
-
268
- return this.visitAndAssert('/');
269
- }
270
-
271
- ['@test model hooks receives query params with dynamic segment params'](assert) {
272
- assert.expect(2);
273
-
274
- this.router.map(function() {
275
- this.route('index', { path: '/:id' });
276
- });
277
-
278
- this.setSingleQPController('index');
279
-
280
- this.add(
281
- 'route:index',
282
- Route.extend({
283
- model(params) {
284
- assert.deepEqual(params, { foo: 'bar', id: 'baz' });
285
- },
286
- })
287
- );
288
-
289
- return this.visitAndAssert('/baz');
290
- }
291
-
292
- ['@test model hooks receives query params (overridden by incoming url value)'](assert) {
293
- assert.expect(2);
294
-
295
- this.router.map(function() {
296
- this.route('index', { path: '/:id' });
297
- });
298
-
299
- this.setSingleQPController('index');
300
-
301
- this.add(
302
- 'route:index',
303
- Route.extend({
304
- model(params) {
305
- assert.deepEqual(params, { foo: 'baz', id: 'boo' });
306
- },
307
- })
308
- );
309
-
310
- return this.visitAndAssert('/boo?foo=baz');
311
- }
312
-
313
- ['@test error is thrown if dynamic segment and query param have same name'](assert) {
314
- assert.expect(1);
315
-
316
- this.router.map(function() {
317
- this.route('index', { path: '/:foo' });
318
- });
319
-
320
- this.setSingleQPController('index');
321
-
322
- expectAssertion(() => {
323
- this.visitAndAssert('/boo?foo=baz');
324
- }, `The route 'index' has both a dynamic segment and query param with name 'foo'. Please rename one to avoid collisions.`);
325
- }
326
-
327
- ['@test query params have been set by the time setupController is called'](assert) {
328
- assert.expect(2);
329
-
330
- this.setSingleQPController('application');
331
-
332
- this.add(
333
- 'route:application',
334
- Route.extend({
335
- setupController(controller) {
336
- assert.equal(
337
- controller.get('foo'),
338
- 'YEAH',
339
- "controller's foo QP property set before setupController called"
340
- );
341
- },
342
- })
343
- );
344
-
345
- return this.visitAndAssert('/?foo=YEAH');
346
- }
347
-
348
- ['@test mapped query params have been set by the time setupController is called'](assert) {
349
- assert.expect(2);
350
-
351
- this.setSingleQPController('application', { faz: 'foo' });
352
-
353
- this.add(
354
- 'route:application',
355
- Route.extend({
356
- setupController(controller) {
357
- assert.equal(
358
- controller.get('faz'),
359
- 'YEAH',
360
- "controller's foo QP property set before setupController called"
361
- );
362
- },
363
- })
364
- );
365
-
366
- return this.visitAndAssert('/?foo=YEAH');
367
- }
368
-
369
- ['@test Route#paramsFor fetches query params with default value'](assert) {
370
- assert.expect(2);
371
-
372
- this.router.map(function() {
373
- this.route('index', { path: '/:something' });
374
- });
375
-
376
- this.setSingleQPController('index');
377
-
378
- this.add(
379
- 'route:index',
380
- Route.extend({
381
- model(/* params, transition */) {
382
- assert.deepEqual(
383
- this.paramsFor('index'),
384
- { something: 'baz', foo: 'bar' },
385
- 'could retrieve params for index'
386
- );
387
- },
388
- })
389
- );
390
-
391
- return this.visitAndAssert('/baz');
392
- }
393
-
394
- ['@test Route#paramsFor fetches query params with non-default value'](assert) {
395
- assert.expect(2);
396
-
397
- this.router.map(function() {
398
- this.route('index', { path: '/:something' });
399
- });
400
-
401
- this.setSingleQPController('index');
402
-
403
- this.add(
404
- 'route:index',
405
- Route.extend({
406
- model(/* params, transition */) {
407
- assert.deepEqual(
408
- this.paramsFor('index'),
409
- { something: 'baz', foo: 'boo' },
410
- 'could retrieve params for index'
411
- );
412
- },
413
- })
414
- );
415
-
416
- return this.visitAndAssert('/baz?foo=boo');
417
- }
418
-
419
- ['@test Route#paramsFor fetches default falsy query params'](assert) {
420
- assert.expect(2);
421
-
422
- this.router.map(function() {
423
- this.route('index', { path: '/:something' });
424
- });
425
-
426
- this.setSingleQPController('index', 'foo', false);
427
-
428
- this.add(
429
- 'route:index',
430
- Route.extend({
431
- model(/* params, transition */) {
432
- assert.deepEqual(
433
- this.paramsFor('index'),
434
- { something: 'baz', foo: false },
435
- 'could retrieve params for index'
436
- );
437
- },
438
- })
439
- );
440
-
441
- return this.visitAndAssert('/baz');
442
- }
443
-
444
- ['@test Route#paramsFor fetches non-default falsy query params'](assert) {
445
- assert.expect(2);
446
-
447
- this.router.map(function() {
448
- this.route('index', { path: '/:something' });
449
- });
450
-
451
- this.setSingleQPController('index', 'foo', true);
452
-
453
- this.add(
454
- 'route:index',
455
- Route.extend({
456
- model(/* params, transition */) {
457
- assert.deepEqual(
458
- this.paramsFor('index'),
459
- { something: 'baz', foo: false },
460
- 'could retrieve params for index'
461
- );
462
- },
463
- })
464
- );
465
-
466
- return this.visitAndAssert('/baz?foo=false');
467
- }
468
-
469
- ['@test model hook can query prefix-less application params'](assert) {
470
- assert.expect(4);
471
-
472
- this.setSingleQPController('application', 'appomg', 'applol');
473
- this.setSingleQPController('index', 'omg', 'lol');
474
-
475
- this.add(
476
- 'route:application',
477
- Route.extend({
478
- model(params) {
479
- assert.deepEqual(params, { appomg: 'applol' });
480
- },
481
- })
482
- );
483
-
484
- this.add(
485
- 'route:index',
486
- Route.extend({
487
- model(params) {
488
- assert.deepEqual(params, { omg: 'lol' });
489
- assert.deepEqual(this.paramsFor('application'), {
490
- appomg: 'applol',
491
- });
492
- },
493
- })
494
- );
495
-
496
- return this.visitAndAssert('/');
497
- }
498
-
499
- ['@test model hook can query prefix-less application params (overridden by incoming url value)'](
500
- assert
501
- ) {
502
- assert.expect(4);
503
-
504
- this.setSingleQPController('application', 'appomg', 'applol');
505
- this.setSingleQPController('index', 'omg', 'lol');
506
-
507
- this.add(
508
- 'route:application',
509
- Route.extend({
510
- model(params) {
511
- assert.deepEqual(params, { appomg: 'appyes' });
512
- },
513
- })
514
- );
515
-
516
- this.add(
517
- 'route:index',
518
- Route.extend({
519
- model(params) {
520
- assert.deepEqual(params, { omg: 'yes' });
521
- assert.deepEqual(this.paramsFor('application'), {
522
- appomg: 'appyes',
523
- });
524
- },
525
- })
526
- );
527
-
528
- return this.visitAndAssert('/?appomg=appyes&omg=yes');
529
- }
530
-
531
- ['@test can opt into full transition by setting refreshModel in route queryParams'](assert) {
532
- assert.expect(7);
533
-
534
- this.setSingleQPController('application', 'appomg', 'applol');
535
- this.setSingleQPController('index', 'omg', 'lol');
536
-
537
- let appModelCount = 0;
538
- this.add(
539
- 'route:application',
540
- Route.extend({
541
- model(/* params, transition */) {
542
- appModelCount++;
543
- },
544
- })
545
- );
546
-
547
- let indexModelCount = 0;
548
- this.add(
549
- 'route:index',
550
- Route.extend({
551
- queryParams: {
552
- omg: {
553
- refreshModel: true,
554
- },
555
- },
556
- model(params) {
557
- indexModelCount++;
558
-
559
- if (indexModelCount === 1) {
560
- assert.deepEqual(params, { omg: 'lol' }, 'params are correct on first pass');
561
- } else if (indexModelCount === 2) {
562
- assert.deepEqual(params, { omg: 'lex' }, 'params are correct on second pass');
563
- }
564
- },
565
- })
566
- );
567
-
568
- return this.visitAndAssert('/').then(() => {
569
- assert.equal(appModelCount, 1, 'app model hook ran');
570
- assert.equal(indexModelCount, 1, 'index model hook ran');
571
-
572
- let indexController = this.getController('index');
573
- this.setAndFlush(indexController, 'omg', 'lex');
574
-
575
- assert.equal(appModelCount, 1, 'app model hook did not run again');
576
- assert.equal(indexModelCount, 2, 'index model hook ran again due to refreshModel');
577
- });
578
- }
579
-
580
- ['@test refreshModel and replace work together'](assert) {
581
- assert.expect(8);
582
-
583
- this.setSingleQPController('application', 'appomg', 'applol');
584
- this.setSingleQPController('index', 'omg', 'lol');
585
-
586
- let appModelCount = 0;
587
- this.add(
588
- 'route:application',
589
- Route.extend({
590
- model(/* params */) {
591
- appModelCount++;
592
- },
593
- })
594
- );
595
-
596
- let indexModelCount = 0;
597
- this.add(
598
- 'route:index',
599
- Route.extend({
600
- queryParams: {
601
- omg: {
602
- refreshModel: true,
603
- replace: true,
604
- },
605
- },
606
- model(params) {
607
- indexModelCount++;
608
-
609
- if (indexModelCount === 1) {
610
- assert.deepEqual(params, { omg: 'lol' }, 'params are correct on first pass');
611
- } else if (indexModelCount === 2) {
612
- assert.deepEqual(params, { omg: 'lex' }, 'params are correct on second pass');
613
- }
614
- },
615
- })
616
- );
617
-
618
- return this.visitAndAssert('/').then(() => {
619
- assert.equal(appModelCount, 1, 'app model hook ran');
620
- assert.equal(indexModelCount, 1, 'index model hook ran');
621
-
622
- let indexController = this.getController('index');
623
- this.expectedReplaceURL = '/?omg=lex';
624
- this.setAndFlush(indexController, 'omg', 'lex');
625
-
626
- assert.equal(appModelCount, 1, 'app model hook did not run again');
627
- assert.equal(indexModelCount, 2, 'index model hook ran again due to refreshModel');
628
- });
629
- }
630
-
631
- ['@test multiple QP value changes only cause a single model refresh'](assert) {
632
- assert.expect(2);
633
-
634
- this.setSingleQPController('index', 'alex', 'lol');
635
- this.setSingleQPController('index', 'steely', 'lel');
636
-
637
- let refreshCount = 0;
638
- this.add(
639
- 'route:index',
640
- Route.extend({
641
- queryParams: {
642
- alex: {
643
- refreshModel: true,
644
- },
645
- steely: {
646
- refreshModel: true,
647
- },
648
- },
649
- refresh() {
650
- refreshCount++;
651
- },
652
- })
653
- );
654
-
655
- return this.visitAndAssert('/').then(() => {
656
- let indexController = this.getController('index');
657
- run(indexController, 'setProperties', {
658
- alex: 'fran',
659
- steely: 'david',
660
- });
661
- assert.equal(refreshCount, 1, 'index refresh hook only run once');
662
- });
663
- }
664
-
665
- ['@test refreshModel does not cause a second transition during app boot '](assert) {
666
- assert.expect(1);
667
-
668
- this.setSingleQPController('application', 'appomg', 'applol');
669
- this.setSingleQPController('index', 'omg', 'lol');
670
-
671
- this.add(
672
- 'route:index',
673
- Route.extend({
674
- queryParams: {
675
- omg: {
676
- refreshModel: true,
677
- },
678
- },
679
- refresh() {
680
- assert.ok(false);
681
- },
682
- })
683
- );
684
-
685
- return this.visitAndAssert('/?appomg=hello&omg=world');
686
- }
687
-
688
- ['@test queryParams are updated when a controller property is set and the route is refreshed. Issue #13263 '](
689
- assert
690
- ) {
691
- this.addTemplate(
692
- 'application',
693
- '<button id="test-button" {{action \'increment\'}}>Increment</button><span id="test-value">{{foo}}</span>{{outlet}}'
694
- );
695
-
696
- this.setSingleQPController('application', 'foo', 1, {
697
- actions: {
698
- increment() {
699
- this.incrementProperty('foo');
700
- this.send('refreshRoute');
701
- },
702
- },
703
- });
704
-
705
- this.add(
706
- 'route:application',
707
- Route.extend({
708
- actions: {
709
- refreshRoute() {
710
- this.refresh();
711
- },
712
- },
713
- })
714
- );
715
-
716
- return this.visitAndAssert('/').then(() => {
717
- assert.equal(getTextOf(document.getElementById('test-value')), '1');
718
-
719
- run(document.getElementById('test-button'), 'click');
720
- assert.equal(getTextOf(document.getElementById('test-value')), '2');
721
- this.assertCurrentPath('/?foo=2');
722
-
723
- run(document.getElementById('test-button'), 'click');
724
- assert.equal(getTextOf(document.getElementById('test-value')), '3');
725
- this.assertCurrentPath('/?foo=3');
726
- });
727
- }
728
-
729
- ["@test Use Ember.get to retrieve query params 'refreshModel' configuration"](assert) {
730
- assert.expect(7);
731
-
732
- this.setSingleQPController('application', 'appomg', 'applol');
733
- this.setSingleQPController('index', 'omg', 'lol');
734
-
735
- let appModelCount = 0;
736
- this.add(
737
- 'route:application',
738
- Route.extend({
739
- model(/* params */) {
740
- appModelCount++;
741
- },
742
- })
743
- );
744
-
745
- let indexModelCount = 0;
746
- this.add(
747
- 'route:index',
748
- Route.extend({
749
- queryParams: EmberObject.create({
750
- unknownProperty() {
751
- return { refreshModel: true };
752
- },
753
- }),
754
- model(params) {
755
- indexModelCount++;
756
-
757
- if (indexModelCount === 1) {
758
- assert.deepEqual(params, { omg: 'lol' });
759
- } else if (indexModelCount === 2) {
760
- assert.deepEqual(params, { omg: 'lex' });
761
- }
762
- },
763
- })
764
- );
765
-
766
- return this.visitAndAssert('/').then(() => {
767
- assert.equal(appModelCount, 1);
768
- assert.equal(indexModelCount, 1);
769
-
770
- let indexController = this.getController('index');
771
- this.setAndFlush(indexController, 'omg', 'lex');
772
-
773
- assert.equal(appModelCount, 1);
774
- assert.equal(indexModelCount, 2);
775
- });
776
- }
777
-
778
- ['@test can use refreshModel even with URL changes that remove QPs from address bar'](assert) {
779
- assert.expect(4);
780
-
781
- this.setSingleQPController('index', 'omg', 'lol');
782
-
783
- let indexModelCount = 0;
784
- this.add(
785
- 'route:index',
786
- Route.extend({
787
- queryParams: {
788
- omg: {
789
- refreshModel: true,
790
- },
791
- },
792
- model(params) {
793
- indexModelCount++;
794
-
795
- let data;
796
- if (indexModelCount === 1) {
797
- data = 'foo';
798
- } else if (indexModelCount === 2) {
799
- data = 'lol';
800
- }
801
-
802
- assert.deepEqual(params, { omg: data }, 'index#model receives right data');
803
- },
804
- })
805
- );
806
-
807
- return this.visitAndAssert('/?omg=foo').then(() => {
808
- this.transitionTo('/');
809
-
810
- let indexController = this.getController('index');
811
- assert.equal(indexController.get('omg'), 'lol');
812
- });
813
- }
814
-
815
- ['@test can opt into a replace query by specifying replace:true in the Route config hash'](
816
- assert
817
- ) {
818
- assert.expect(2);
819
-
820
- this.setSingleQPController('application', 'alex', 'matchneer');
821
-
822
- this.add(
823
- 'route:application',
824
- Route.extend({
825
- queryParams: {
826
- alex: {
827
- replace: true,
828
- },
829
- },
830
- })
831
- );
832
-
833
- return this.visitAndAssert('/').then(() => {
834
- let appController = this.getController('application');
835
- this.expectedReplaceURL = '/?alex=wallace';
836
- this.setAndFlush(appController, 'alex', 'wallace');
837
- });
838
- }
839
-
840
- ['@test Route query params config can be configured using property name instead of URL key'](
841
- assert
842
- ) {
843
- assert.expect(2);
844
-
845
- this.add(
846
- 'controller:application',
847
- Controller.extend({
848
- queryParams: [{ commitBy: 'commit_by' }],
849
- })
850
- );
851
-
852
- this.add(
853
- 'route:application',
854
- Route.extend({
855
- queryParams: {
856
- commitBy: {
857
- replace: true,
858
- },
859
- },
860
- })
861
- );
862
-
863
- return this.visitAndAssert('/').then(() => {
864
- let appController = this.getController('application');
865
- this.expectedReplaceURL = '/?commit_by=igor_seb';
866
- this.setAndFlush(appController, 'commitBy', 'igor_seb');
867
- });
868
- }
869
-
870
- ['@test An explicit replace:false on a changed QP always wins and causes a pushState'](assert) {
871
- assert.expect(3);
872
-
873
- this.add(
874
- 'controller:application',
875
- Controller.extend({
876
- queryParams: ['alex', 'steely'],
877
- alex: 'matchneer',
878
- steely: 'dan',
879
- })
880
- );
881
-
882
- this.add(
883
- 'route:application',
884
- Route.extend({
885
- queryParams: {
886
- alex: {
887
- replace: true,
888
- },
889
- steely: {
890
- replace: false,
891
- },
892
- },
893
- })
894
- );
895
-
896
- return this.visit('/').then(() => {
897
- let appController = this.getController('application');
898
- this.expectedPushURL = '/?alex=wallace&steely=jan';
899
- run(appController, 'setProperties', { alex: 'wallace', steely: 'jan' });
900
-
901
- this.expectedPushURL = '/?alex=wallace&steely=fran';
902
- run(appController, 'setProperties', { steely: 'fran' });
903
-
904
- this.expectedReplaceURL = '/?alex=sriracha&steely=fran';
905
- run(appController, 'setProperties', { alex: 'sriracha' });
906
- });
907
- }
908
-
909
- ['@test can opt into full transition by setting refreshModel in route queryParams when transitioning from child to parent'](
910
- assert
911
- ) {
912
- this.addTemplate('parent', '{{outlet}}');
913
- this.addTemplate(
914
- 'parent.child',
915
- "{{link-to 'Parent' 'parent' (query-params foo='change') id='parent-link'}}"
916
- );
917
-
918
- this.router.map(function() {
919
- this.route('parent', function() {
920
- this.route('child');
921
- });
922
- });
923
-
924
- let parentModelCount = 0;
925
- this.add(
926
- 'route:parent',
927
- Route.extend({
928
- model() {
929
- parentModelCount++;
930
- },
931
- queryParams: {
932
- foo: {
933
- refreshModel: true,
934
- },
935
- },
936
- })
937
- );
938
-
939
- this.setSingleQPController('parent', 'foo', 'abc');
940
-
941
- return this.visit('/parent/child?foo=lol').then(() => {
942
- assert.equal(parentModelCount, 1);
943
-
944
- run(document.getElementById('parent-link'), 'click');
945
- assert.equal(parentModelCount, 2);
946
- });
947
- }
948
-
949
- ["@test Use Ember.get to retrieve query params 'replace' configuration"](assert) {
950
- assert.expect(2);
951
-
952
- this.setSingleQPController('application', 'alex', 'matchneer');
953
-
954
- this.add(
955
- 'route:application',
956
- Route.extend({
957
- queryParams: EmberObject.create({
958
- unknownProperty(/* keyName */) {
959
- // We are simulating all qps requiring refresh
960
- return { replace: true };
961
- },
962
- }),
963
- })
964
- );
965
-
966
- return this.visitAndAssert('/').then(() => {
967
- let appController = this.getController('application');
968
- this.expectedReplaceURL = '/?alex=wallace';
969
- this.setAndFlush(appController, 'alex', 'wallace');
970
- });
971
- }
972
-
973
- ['@test can override incoming QP values in setupController'](assert) {
974
- assert.expect(3);
975
-
976
- this.router.map(function() {
977
- this.route('about');
978
- });
979
-
980
- this.setSingleQPController('index', 'omg', 'lol');
981
-
982
- this.add(
983
- 'route:index',
984
- Route.extend({
985
- setupController(controller) {
986
- assert.ok(true, 'setupController called');
987
- controller.set('omg', 'OVERRIDE');
988
- },
989
- actions: {
990
- queryParamsDidChange() {
991
- assert.ok(false, "queryParamsDidChange shouldn't fire");
992
- },
993
- },
994
- })
995
- );
996
-
997
- return this.visitAndAssert('/about').then(() => {
998
- this.transitionTo('index');
999
- this.assertCurrentPath('/?omg=OVERRIDE');
1000
- });
1001
- }
1002
-
1003
- ['@test can override incoming QP array values in setupController'](assert) {
1004
- assert.expect(3);
1005
-
1006
- this.router.map(function() {
1007
- this.route('about');
1008
- });
1009
-
1010
- this.setSingleQPController('index', 'omg', ['lol']);
1011
-
1012
- this.add(
1013
- 'route:index',
1014
- Route.extend({
1015
- setupController(controller) {
1016
- assert.ok(true, 'setupController called');
1017
- controller.set('omg', ['OVERRIDE']);
1018
- },
1019
- actions: {
1020
- queryParamsDidChange() {
1021
- assert.ok(false, "queryParamsDidChange shouldn't fire");
1022
- },
1023
- },
1024
- })
1025
- );
1026
-
1027
- return this.visitAndAssert('/about').then(() => {
1028
- this.transitionTo('index');
1029
- this.assertCurrentPath('/?omg=' + encodeURIComponent(JSON.stringify(['OVERRIDE'])));
1030
- });
1031
- }
1032
-
1033
- ['@test URL transitions that remove QPs still register as QP changes'](assert) {
1034
- assert.expect(2);
1035
-
1036
- this.setSingleQPController('index', 'omg', 'lol');
1037
-
1038
- return this.visit('/?omg=borf').then(() => {
1039
- let indexController = this.getController('index');
1040
- assert.equal(indexController.get('omg'), 'borf');
1041
-
1042
- this.transitionTo('/');
1043
- assert.equal(indexController.get('omg'), 'lol');
1044
- });
1045
- }
1046
-
1047
- ['@test Subresource naming style is supported'](assert) {
1048
- assert.expect(5);
1049
-
1050
- this.router.map(function() {
1051
- this.route('abc.def', { path: '/abcdef' }, function() {
1052
- this.route('zoo');
1053
- });
1054
- });
1055
-
1056
- this.addTemplate(
1057
- 'application',
1058
- "{{link-to 'A' 'abc.def' (query-params foo='123') id='one'}}{{link-to 'B' 'abc.def.zoo' (query-params foo='123' bar='456') id='two'}}{{outlet}}"
1059
- );
1060
-
1061
- this.setSingleQPController('abc.def', 'foo', 'lol');
1062
- this.setSingleQPController('abc.def.zoo', 'bar', 'haha');
1063
-
1064
- return this.visitAndAssert('/').then(() => {
1065
- assert.equal(this.$('#one').attr('href'), '/abcdef?foo=123');
1066
- assert.equal(this.$('#two').attr('href'), '/abcdef/zoo?bar=456&foo=123');
1067
-
1068
- run(this.$('#one'), 'click');
1069
- this.assertCurrentPath('/abcdef?foo=123');
1070
-
1071
- run(this.$('#two'), 'click');
1072
- this.assertCurrentPath('/abcdef/zoo?bar=456&foo=123');
1073
- });
1074
- }
1075
-
1076
- ['@test transitionTo supports query params']() {
1077
- this.setSingleQPController('index', 'foo', 'lol');
1078
-
1079
- return this.visitAndAssert('/').then(() => {
1080
- this.transitionTo({ queryParams: { foo: 'borf' } });
1081
- this.assertCurrentPath('/?foo=borf', 'shorthand supported');
1082
-
1083
- this.transitionTo({ queryParams: { 'index:foo': 'blaf' } });
1084
- this.assertCurrentPath('/?foo=blaf', 'longform supported');
1085
-
1086
- this.transitionTo({ queryParams: { 'index:foo': false } });
1087
- this.assertCurrentPath('/?foo=false', 'longform supported (bool)');
1088
-
1089
- this.transitionTo({ queryParams: { foo: false } });
1090
- this.assertCurrentPath('/?foo=false', 'shorhand supported (bool)');
1091
- });
1092
- }
1093
-
1094
- ['@test transitionTo supports query params (multiple)']() {
1095
- this.add(
1096
- 'controller:index',
1097
- Controller.extend({
1098
- queryParams: ['foo', 'bar'],
1099
- foo: 'lol',
1100
- bar: 'wat',
1101
- })
1102
- );
1103
-
1104
- return this.visitAndAssert('/').then(() => {
1105
- this.transitionTo({ queryParams: { foo: 'borf' } });
1106
- this.assertCurrentPath('/?foo=borf', 'shorthand supported');
1107
-
1108
- this.transitionTo({ queryParams: { 'index:foo': 'blaf' } });
1109
- this.assertCurrentPath('/?foo=blaf', 'longform supported');
1110
-
1111
- this.transitionTo({ queryParams: { 'index:foo': false } });
1112
- this.assertCurrentPath('/?foo=false', 'longform supported (bool)');
1113
-
1114
- this.transitionTo({ queryParams: { foo: false } });
1115
- this.assertCurrentPath('/?foo=false', 'shorhand supported (bool)');
1116
- });
1117
- }
1118
-
1119
- ["@test setting controller QP to empty string doesn't generate null in URL"](assert) {
1120
- assert.expect(1);
1121
-
1122
- this.setSingleQPController('index', 'foo', '123');
1123
-
1124
- return this.visit('/').then(() => {
1125
- let controller = this.getController('index');
1126
-
1127
- this.expectedPushURL = '/?foo=';
1128
- this.setAndFlush(controller, 'foo', '');
1129
- });
1130
- }
1131
-
1132
- ["@test setting QP to empty string doesn't generate null in URL"](assert) {
1133
- assert.expect(1);
1134
-
1135
- this.add(
1136
- 'route:index',
1137
- Route.extend({
1138
- queryParams: {
1139
- foo: {
1140
- defaultValue: '123',
1141
- },
1142
- },
1143
- })
1144
- );
1145
-
1146
- return this.visit('/').then(() => {
1147
- let controller = this.getController('index');
1148
-
1149
- this.expectedPushURL = '/?foo=';
1150
- this.setAndFlush(controller, 'foo', '');
1151
- });
1152
- }
1153
-
1154
- ['@test A default boolean value deserializes QPs as booleans rather than strings'](assert) {
1155
- assert.expect(3);
1156
-
1157
- this.setSingleQPController('index', 'foo', false);
1158
-
1159
- this.add(
1160
- 'route:index',
1161
- Route.extend({
1162
- model(params) {
1163
- assert.equal(params.foo, true, 'model hook received foo as boolean true');
1164
- },
1165
- })
1166
- );
1167
-
1168
- return this.visit('/?foo=true').then(() => {
1169
- let controller = this.getController('index');
1170
- assert.equal(controller.get('foo'), true);
1171
-
1172
- this.transitionTo('/?foo=false');
1173
- assert.equal(controller.get('foo'), false);
1174
- });
1175
- }
1176
-
1177
- ['@test Query param without value are empty string'](assert) {
1178
- assert.expect(1);
1179
-
1180
- this.add(
1181
- 'controller:index',
1182
- Controller.extend({
1183
- queryParams: ['foo'],
1184
- foo: '',
1185
- })
1186
- );
1187
-
1188
- return this.visit('/?foo=').then(() => {
1189
- let controller = this.getController('index');
1190
- assert.equal(controller.get('foo'), '');
1191
- });
1192
- }
1193
-
1194
- ['@test Array query params can be set'](assert) {
1195
- assert.expect(2);
1196
-
1197
- this.router.map(function() {
1198
- this.route('home', { path: '/' });
1199
- });
1200
-
1201
- this.setSingleQPController('home', 'foo', []);
1202
-
1203
- return this.visit('/').then(() => {
1204
- let controller = this.getController('home');
1205
-
1206
- this.setAndFlush(controller, 'foo', [1, 2]);
1207
- this.assertCurrentPath('/?foo=%5B1%2C2%5D');
1208
-
1209
- this.setAndFlush(controller, 'foo', [3, 4]);
1210
- this.assertCurrentPath('/?foo=%5B3%2C4%5D');
1211
- });
1212
- }
1213
-
1214
- ['@test (de)serialization: arrays'](assert) {
1215
- assert.expect(4);
1216
-
1217
- this.setSingleQPController('index', 'foo', [1]);
1218
-
1219
- return this.visitAndAssert('/').then(() => {
1220
- this.transitionTo({ queryParams: { foo: [2, 3] } });
1221
- this.assertCurrentPath('/?foo=%5B2%2C3%5D', 'shorthand supported');
1222
- this.transitionTo({ queryParams: { 'index:foo': [4, 5] } });
1223
- this.assertCurrentPath('/?foo=%5B4%2C5%5D', 'longform supported');
1224
- this.transitionTo({ queryParams: { foo: [] } });
1225
- this.assertCurrentPath('/?foo=%5B%5D', 'longform supported');
1226
- });
1227
- }
1228
-
1229
- ['@test Url with array query param sets controller property to array'](assert) {
1230
- assert.expect(1);
1231
-
1232
- this.setSingleQPController('index', 'foo', '');
1233
-
1234
- return this.visit('/?foo[]=1&foo[]=2&foo[]=3').then(() => {
1235
- let controller = this.getController('index');
1236
- assert.deepEqual(controller.get('foo'), ['1', '2', '3']);
1237
- });
1238
- }
1239
-
1240
- ['@test Array query params can be pushed/popped'](assert) {
1241
- assert.expect(17);
1242
-
1243
- this.router.map(function() {
1244
- this.route('home', { path: '/' });
1245
- });
1246
-
1247
- this.setSingleQPController('home', 'foo', emberA());
1248
-
1249
- return this.visitAndAssert('/').then(() => {
1250
- let controller = this.getController('home');
1251
-
1252
- run(controller.foo, 'pushObject', 1);
1253
- this.assertCurrentPath('/?foo=%5B1%5D');
1254
- assert.deepEqual(controller.foo, [1]);
1255
-
1256
- run(controller.foo, 'popObject');
1257
- this.assertCurrentPath('/');
1258
- assert.deepEqual(controller.foo, []);
1259
-
1260
- run(controller.foo, 'pushObject', 1);
1261
- this.assertCurrentPath('/?foo=%5B1%5D');
1262
- assert.deepEqual(controller.foo, [1]);
1263
-
1264
- run(controller.foo, 'popObject');
1265
- this.assertCurrentPath('/');
1266
- assert.deepEqual(controller.foo, []);
1267
-
1268
- run(controller.foo, 'pushObject', 1);
1269
- this.assertCurrentPath('/?foo=%5B1%5D');
1270
- assert.deepEqual(controller.foo, [1]);
1271
-
1272
- run(controller.foo, 'pushObject', 2);
1273
- this.assertCurrentPath('/?foo=%5B1%2C2%5D');
1274
- assert.deepEqual(controller.foo, [1, 2]);
1275
-
1276
- run(controller.foo, 'popObject');
1277
- this.assertCurrentPath('/?foo=%5B1%5D');
1278
- assert.deepEqual(controller.foo, [1]);
1279
-
1280
- run(controller.foo, 'unshiftObject', 'lol');
1281
- this.assertCurrentPath('/?foo=%5B%22lol%22%2C1%5D');
1282
- assert.deepEqual(controller.foo, ['lol', 1]);
1283
- });
1284
- }
1285
-
1286
- ["@test Overwriting with array with same content shouldn't refire update"](assert) {
1287
- assert.expect(4);
1288
-
1289
- this.router.map(function() {
1290
- this.route('home', { path: '/' });
1291
- });
1292
-
1293
- let modelCount = 0;
1294
- this.add(
1295
- 'route:home',
1296
- Route.extend({
1297
- model() {
1298
- modelCount++;
1299
- },
1300
- })
1301
- );
1302
-
1303
- this.setSingleQPController('home', 'foo', emberA([1]));
1304
-
1305
- return this.visitAndAssert('/').then(() => {
1306
- assert.equal(modelCount, 1);
1307
-
1308
- let controller = this.getController('home');
1309
- this.setAndFlush(controller, 'model', emberA([1]));
1310
-
1311
- assert.equal(modelCount, 1);
1312
- this.assertCurrentPath('/');
1313
- });
1314
- }
1315
-
1316
- ['@test Defaulting to params hash as the model should not result in that params object being watched'](
1317
- assert
1318
- ) {
1319
- assert.expect(1);
1320
-
1321
- this.router.map(function() {
1322
- this.route('other');
1323
- });
1324
-
1325
- // This causes the params hash, which is returned as a route's
1326
- // model if no other model could be resolved given the provided
1327
- // params (and no custom model hook was defined), to be watched,
1328
- // unless we return a copy of the params hash.
1329
- this.setSingleQPController('application', 'woot', 'wat');
1330
-
1331
- this.add(
1332
- 'route:other',
1333
- Route.extend({
1334
- model(p, trans) {
1335
- let m = peekMeta(trans.params.application);
1336
- assert.ok(m === undefined, "A meta object isn't constructed for this params POJO");
1337
- },
1338
- })
1339
- );
1340
-
1341
- return this.visit('/').then(() => {
1342
- this.transitionTo('other');
1343
- });
1344
- }
1345
-
1346
- ['@test Setting bound query param property to null or undefined does not serialize to url'](
1347
- assert
1348
- ) {
1349
- assert.expect(9);
1350
-
1351
- this.router.map(function() {
1352
- this.route('home');
1353
- });
1354
-
1355
- this.setSingleQPController('home', 'foo', [1, 2]);
1356
-
1357
- return this.visitAndAssert('/home').then(() => {
1358
- var controller = this.getController('home');
1359
-
1360
- assert.deepEqual(controller.get('foo'), [1, 2]);
1361
- this.assertCurrentPath('/home');
1362
-
1363
- this.setAndFlush(controller, 'foo', emberA([1, 3]));
1364
- this.assertCurrentPath('/home?foo=%5B1%2C3%5D');
1365
-
1366
- return this.transitionTo('/home').then(() => {
1367
- assert.deepEqual(controller.get('foo'), [1, 2]);
1368
- this.assertCurrentPath('/home');
1369
-
1370
- this.setAndFlush(controller, 'foo', null);
1371
- this.assertCurrentPath('/home', 'Setting property to null');
1372
-
1373
- this.setAndFlush(controller, 'foo', emberA([1, 3]));
1374
- this.assertCurrentPath('/home?foo=%5B1%2C3%5D');
1375
-
1376
- this.setAndFlush(controller, 'foo', undefined);
1377
- this.assertCurrentPath('/home', 'Setting property to undefined');
1378
- });
1379
- });
1380
- }
1381
-
1382
- ['@test {{link-to}} with null or undefined QPs does not get serialized into url'](assert) {
1383
- assert.expect(3);
1384
-
1385
- this.addTemplate(
1386
- 'home',
1387
- "{{link-to 'Home' 'home' (query-params foo=nullValue) id='null-link'}}{{link-to 'Home' 'home' (query-params foo=undefinedValue) id='undefined-link'}}"
1388
- );
1389
-
1390
- this.router.map(function() {
1391
- this.route('home');
1392
- });
1393
-
1394
- this.setSingleQPController('home', 'foo', [], {
1395
- nullValue: null,
1396
- undefinedValue: undefined,
1397
- });
1398
-
1399
- return this.visitAndAssert('/home').then(() => {
1400
- assert.equal(this.$('#null-link').attr('href'), '/home');
1401
- assert.equal(this.$('#undefined-link').attr('href'), '/home');
1402
- });
1403
- }
1404
-
1405
- ["@test A child of a resource route still defaults to parent route's model even if the child route has a query param"](
1406
- assert
1407
- ) {
1408
- assert.expect(2);
1409
-
1410
- this.setSingleQPController('index', 'woot', undefined, {
1411
- woot: undefined,
1412
- });
1413
-
1414
- this.add(
1415
- 'route:application',
1416
- Route.extend({
1417
- model(/* p, trans */) {
1418
- return { woot: true };
1419
- },
1420
- })
1421
- );
1422
-
1423
- this.add(
1424
- 'route:index',
1425
- Route.extend({
1426
- setupController(controller, model) {
1427
- assert.deepEqual(
1428
- model,
1429
- { woot: true },
1430
- 'index route inherited model route from parent route'
1431
- );
1432
- },
1433
- })
1434
- );
1435
-
1436
- return this.visitAndAssert('/');
1437
- }
1438
-
1439
- ['@test opting into replace does not affect transitions between routes'](assert) {
1440
- assert.expect(5);
1441
-
1442
- this.addTemplate(
1443
- 'application',
1444
- "{{link-to 'Foo' 'foo' id='foo-link'}}{{link-to 'Bar' 'bar' id='bar-no-qp-link'}}{{link-to 'Bar' 'bar' (query-params raytiley='isthebest') id='bar-link'}}{{outlet}}"
1445
- );
1446
-
1447
- this.router.map(function() {
1448
- this.route('foo');
1449
- this.route('bar');
1450
- });
1451
-
1452
- this.setSingleQPController('bar', 'raytiley', 'israd');
1453
-
1454
- this.add(
1455
- 'route:bar',
1456
- Route.extend({
1457
- queryParams: {
1458
- raytiley: {
1459
- replace: true,
1460
- },
1461
- },
1462
- })
1463
- );
1464
-
1465
- return this.visit('/').then(() => {
1466
- let controller = this.getController('bar');
1467
-
1468
- this.expectedPushURL = '/foo';
1469
- run(document.getElementById('foo-link'), 'click');
1470
-
1471
- this.expectedPushURL = '/bar';
1472
- run(document.getElementById('bar-no-qp-link'), 'click');
1473
-
1474
- this.expectedReplaceURL = '/bar?raytiley=woot';
1475
- this.setAndFlush(controller, 'raytiley', 'woot');
1476
-
1477
- this.expectedPushURL = '/foo';
1478
- run(document.getElementById('foo-link'), 'click');
1479
-
1480
- this.expectedPushURL = '/bar?raytiley=isthebest';
1481
- run(document.getElementById('bar-link'), 'click');
1482
- });
1483
- }
1484
-
1485
- ["@test undefined isn't serialized or deserialized into a string"](assert) {
1486
- assert.expect(4);
1487
-
1488
- this.router.map(function() {
1489
- this.route('example');
1490
- });
1491
-
1492
- this.addTemplate(
1493
- 'application',
1494
- "{{link-to 'Example' 'example' (query-params foo=undefined) id='the-link'}}"
1495
- );
1496
-
1497
- this.setSingleQPController('example', 'foo', undefined, {
1498
- foo: undefined,
1499
- });
1500
-
1501
- this.add(
1502
- 'route:example',
1503
- Route.extend({
1504
- model(params) {
1505
- assert.deepEqual(params, { foo: undefined });
1506
- },
1507
- })
1508
- );
1509
-
1510
- return this.visitAndAssert('/').then(() => {
1511
- assert.equal(
1512
- this.$('#the-link').attr('href'),
1513
- '/example',
1514
- 'renders without undefined qp serialized'
1515
- );
1516
-
1517
- return this.transitionTo('example', {
1518
- queryParams: { foo: undefined },
1519
- }).then(() => {
1520
- this.assertCurrentPath('/example');
1521
- });
1522
- });
1523
- }
1524
-
1525
- ['@test when refreshModel is true and loading hook is undefined, model hook will rerun when QPs change even if previous did not finish']() {
1526
- return this.refreshModelWhileLoadingTest();
1527
- }
1528
-
1529
- ['@test when refreshModel is true and loading hook returns false, model hook will rerun when QPs change even if previous did not finish']() {
1530
- return this.refreshModelWhileLoadingTest(false);
1531
- }
1532
-
1533
- ['@test when refreshModel is true and loading hook returns true, model hook will rerun when QPs change even if previous did not finish']() {
1534
- return this.refreshModelWhileLoadingTest(true);
1535
- }
1536
-
1537
- ["@test warn user that Route's queryParams configuration must be an Object, not an Array"](
1538
- assert
1539
- ) {
1540
- assert.expect(1);
1541
-
1542
- this.add(
1543
- 'route:application',
1544
- Route.extend({
1545
- queryParams: [{ commitBy: { replace: true } }],
1546
- })
1547
- );
1548
-
1549
- expectAssertion(() => {
1550
- this.visit('/');
1551
- }, 'You passed in `[{"commitBy":{"replace":true}}]` as the value for `queryParams` but `queryParams` cannot be an Array');
1552
- }
1553
-
1554
- ['@test handle route names that clash with Object.prototype properties'](assert) {
1555
- assert.expect(1);
1556
-
1557
- this.router.map(function() {
1558
- this.route('constructor');
1559
- });
1560
-
1561
- this.add(
1562
- 'route:constructor',
1563
- Route.extend({
1564
- queryParams: {
1565
- foo: {
1566
- defaultValue: '123',
1567
- },
1568
- },
1569
- })
1570
- );
1571
-
1572
- return this.visit('/').then(() => {
1573
- this.transitionTo('constructor', { queryParams: { foo: '999' } });
1574
- let controller = this.getController('constructor');
1575
- assert.equal(get(controller, 'foo'), '999');
1576
- });
1577
- }
1578
- }
1579
- );