discourse-ember-source 3.5.1.1 → 3.5.1.2

Sign up to get free protection for your applications and to get access to all the features.
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
- );