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,1493 +0,0 @@
1
- import { assign } from '@ember/polyfills';
2
- import { Component } from '../../utils/helpers';
3
- import { applyMixins, strip } from '../../utils/abstract-test-case';
4
- import { moduleFor, RenderingTest } from '../../utils/test-case';
5
- import { isEmpty } from 'ember-metal';
6
- import { A as emberA } from 'ember-runtime';
7
-
8
- moduleFor(
9
- 'Components test: contextual components',
10
- class extends RenderingTest {
11
- ['@test renders with component helper']() {
12
- let expectedText = 'Hodi';
13
-
14
- this.registerComponent('-looked-up', {
15
- template: expectedText,
16
- });
17
-
18
- this.render('{{component (component "-looked-up")}}');
19
-
20
- this.assertText(expectedText);
21
-
22
- this.runTask(() => this.rerender());
23
-
24
- this.assertText(expectedText);
25
- }
26
-
27
- ['@test renders with component helper with invocation params, hash']() {
28
- this.registerComponent('-looked-up', {
29
- ComponentClass: Component.extend().reopenClass({
30
- positionalParams: ['name'],
31
- }),
32
- template: '{{greeting}} {{name}}',
33
- });
34
-
35
- this.render(strip`
36
- {{component (component "-looked-up") "Hodari" greeting="Hodi"}}`);
37
-
38
- this.assertText('Hodi Hodari');
39
-
40
- this.runTask(() => this.rerender());
41
-
42
- this.assertText('Hodi Hodari');
43
- }
44
-
45
- ['@test GH#13742 keeps nested rest positional parameters if rendered with no positional parameters']() {
46
- this.registerComponent('-looked-up', {
47
- ComponentClass: Component.extend().reopenClass({
48
- positionalParams: 'params',
49
- }),
50
- template: '{{#each params as |p|}}{{p}}{{/each}}',
51
- });
52
-
53
- this.render('{{component (component "-looked-up" model.greeting model.name)}}', {
54
- model: {
55
- greeting: 'Gabon ',
56
- name: 'Zack',
57
- },
58
- });
59
-
60
- this.assertText('Gabon Zack');
61
-
62
- this.runTask(() => this.rerender());
63
-
64
- this.assertText('Gabon Zack');
65
-
66
- this.runTask(() => this.context.set('model.greeting', 'Good morning '));
67
-
68
- this.assertText('Good morning Zack');
69
-
70
- this.runTask(() => this.context.set('model.name', 'Matthew'));
71
-
72
- this.assertText('Good morning Matthew');
73
-
74
- this.runTask(() => this.context.set('model', { greeting: 'Gabon ', name: 'Zack' }));
75
-
76
- this.assertText('Gabon Zack');
77
- }
78
-
79
- // Take a look at this one. Seems to pass even when currying isn't implemented.
80
- ['@test overwrites nested rest positional parameters if rendered with positional parameters']() {
81
- this.registerComponent('-looked-up', {
82
- ComponentClass: Component.extend().reopenClass({
83
- positionalParams: 'params',
84
- }),
85
- template: '{{#each params as |p|}}{{p}}{{/each}}',
86
- });
87
-
88
- this.render(
89
- '{{component (component "-looked-up" model.greeting model.name) model.name model.greeting}}',
90
- {
91
- model: {
92
- greeting: 'Gabon ',
93
- name: 'Zack ',
94
- },
95
- }
96
- );
97
-
98
- this.assertText('Gabon Zack Zack Gabon ');
99
-
100
- this.runTask(() => this.rerender());
101
-
102
- this.assertText('Gabon Zack Zack Gabon ');
103
-
104
- this.runTask(() => this.context.set('model.greeting', 'Good morning '));
105
-
106
- this.assertText('Good morning Zack Zack Good morning ');
107
-
108
- this.runTask(() => this.context.set('model.name', 'Matthew '));
109
-
110
- this.assertText('Good morning Matthew Matthew Good morning ');
111
-
112
- this.runTask(() => this.context.set('model', { greeting: 'Gabon ', name: 'Zack ' }));
113
-
114
- this.assertText('Gabon Zack Zack Gabon ');
115
- }
116
-
117
- ['@test GH#13742 keeps nested rest positional parameters if nested and rendered with no positional parameters']() {
118
- this.registerComponent('-looked-up', {
119
- ComponentClass: Component.extend().reopenClass({
120
- positionalParams: 'params',
121
- }),
122
- template: '{{#each params as |p|}}{{p}}{{/each}}',
123
- });
124
-
125
- this.render('{{component (component (component "-looked-up" model.greeting model.name))}}', {
126
- model: {
127
- greeting: 'Gabon ',
128
- name: 'Zack',
129
- },
130
- });
131
-
132
- this.assertText('Gabon Zack');
133
-
134
- this.runTask(() => this.rerender());
135
-
136
- this.assertText('Gabon Zack');
137
-
138
- this.runTask(() => this.context.set('model.greeting', 'Good morning '));
139
-
140
- this.assertText('Good morning Zack');
141
-
142
- this.runTask(() => this.context.set('model.name', 'Matthew'));
143
-
144
- this.assertText('Good morning Matthew');
145
-
146
- this.runTask(() => this.context.set('model', { greeting: 'Gabon ', name: 'Zack' }));
147
-
148
- this.assertText('Gabon Zack');
149
- }
150
-
151
- ['@test overwrites nested rest positional parameters if nested with new pos params and rendered with no positional parameters']() {
152
- this.registerComponent('-looked-up', {
153
- ComponentClass: Component.extend().reopenClass({
154
- positionalParams: 'params',
155
- }),
156
- template: '{{#each params as |p|}}{{p}}{{/each}}',
157
- });
158
-
159
- this.render(
160
- '{{component (component (component "-looked-up" model.greeting model.name) model.name model.greeting)}}',
161
- {
162
- model: {
163
- greeting: 'Gabon ',
164
- name: 'Zack ',
165
- },
166
- }
167
- );
168
-
169
- this.assertText('Gabon Zack Zack Gabon ');
170
-
171
- this.runTask(() => this.rerender());
172
-
173
- this.assertText('Gabon Zack Zack Gabon ');
174
-
175
- this.runTask(() => this.context.set('model.greeting', 'Good morning '));
176
-
177
- this.assertText('Good morning Zack Zack Good morning ');
178
-
179
- this.runTask(() => this.context.set('model.name', 'Matthew '));
180
-
181
- this.assertText('Good morning Matthew Matthew Good morning ');
182
-
183
- this.runTask(() => this.context.set('model', { greeting: 'Gabon ', name: 'Zack ' }));
184
-
185
- this.assertText('Gabon Zack Zack Gabon ');
186
- }
187
-
188
- ['@test renders with component helper with curried params, hash']() {
189
- this.registerComponent('-looked-up', {
190
- ComponentClass: Component.extend().reopenClass({
191
- positionalParams: ['name'],
192
- }),
193
- template: '{{greeting}} {{name}}',
194
- });
195
-
196
- this.render(strip`
197
- {{component (component "-looked-up" "Hodari" greeting="Hodi")
198
- greeting="Hola"}}`);
199
-
200
- this.assertText('Hola Hodari');
201
-
202
- this.runTask(() => this.rerender());
203
-
204
- this.assertText('Hola Hodari');
205
- }
206
-
207
- ['@test updates when component path is bound']() {
208
- this.registerComponent('-mandarin', {
209
- template: 'ni hao',
210
- });
211
-
212
- this.registerComponent('-hindi', {
213
- template: 'Namaste',
214
- });
215
-
216
- this.render('{{component (component model.lookupComponent)}}', {
217
- model: {
218
- lookupComponent: '-mandarin',
219
- },
220
- });
221
-
222
- this.assertText('ni hao');
223
-
224
- this.runTask(() => this.rerender());
225
-
226
- this.assertText('ni hao');
227
-
228
- this.runTask(() => this.context.set('model.lookupComponent', '-hindi'));
229
-
230
- this.assertText('Namaste');
231
-
232
- this.runTask(() => this.context.set('model', { lookupComponent: '-mandarin' }));
233
-
234
- this.assertText('ni hao');
235
- }
236
-
237
- ['@test updates when curried hash argument is bound']() {
238
- this.registerComponent('-looked-up', {
239
- template: '{{greeting}}',
240
- });
241
-
242
- this.render(`{{component (component "-looked-up" greeting=model.greeting)}}`, {
243
- model: {
244
- greeting: 'Hodi',
245
- },
246
- });
247
-
248
- this.assertText('Hodi');
249
-
250
- this.runTask(() => this.rerender());
251
-
252
- this.assertText('Hodi');
253
-
254
- this.runTask(() => this.context.set('model.greeting', 'Hola'));
255
-
256
- this.assertText('Hola');
257
-
258
- this.runTask(() => this.context.set('model', { greeting: 'Hodi' }));
259
-
260
- this.assertText('Hodi');
261
- }
262
-
263
- ['@test updates when curried hash arguments is bound in block form']() {
264
- this.registerComponent('-looked-up', {
265
- template: '{{greeting}}',
266
- });
267
-
268
- this.render(
269
- strip`
270
- {{#with (hash comp=(component "-looked-up" greeting=model.greeting)) as |my|}}
271
- {{#my.comp}}{{/my.comp}}
272
- {{/with}}`,
273
- {
274
- model: {
275
- greeting: 'Hodi',
276
- },
277
- }
278
- );
279
-
280
- this.assertText('Hodi');
281
-
282
- this.runTask(() => this.rerender());
283
-
284
- this.assertText('Hodi');
285
-
286
- this.runTask(() => this.context.set('model.greeting', 'Hola'));
287
-
288
- this.assertText('Hola');
289
-
290
- this.runTask(() => this.context.set('model', { greeting: 'Hodi' }));
291
-
292
- this.assertText('Hodi');
293
- }
294
-
295
- ['@test nested components do not overwrite positional parameters']() {
296
- this.registerComponent('-looked-up', {
297
- ComponentClass: Component.extend().reopenClass({
298
- positionalParams: ['name', 'age'],
299
- }),
300
- template: '{{name}} {{age}}',
301
- });
302
-
303
- this.render(
304
- '{{component (component (component "-looked-up" "Sergio" 29) "Marvin" 21) "Hodari"}}'
305
- );
306
-
307
- this.assertText('Sergio 29');
308
-
309
- this.runTask(() => this.rerender());
310
-
311
- this.assertText('Sergio 29');
312
- }
313
-
314
- ['@test positional parameters are combined not clobbered']() {
315
- this.registerComponent('-looked-up', {
316
- ComponentClass: Component.extend().reopenClass({
317
- positionalParams: ['greeting', 'name', 'age'],
318
- }),
319
- template: '{{greeting}} {{name}} {{age}}',
320
- });
321
-
322
- this.render('{{component (component (component "-looked-up" "Hi") "Max") 9}}');
323
-
324
- this.assertText('Hi Max 9');
325
-
326
- this.runTask(() => this.rerender());
327
-
328
- this.assertText('Hi Max 9');
329
- }
330
-
331
- ['@test nested components positional parameters override named parameters [DEPRECATED]']() {
332
- this.registerComponent('-looked-up', {
333
- ComponentClass: Component.extend().reopenClass({
334
- positionalParams: ['name', 'age'],
335
- }),
336
- template: '{{name}} {{age}}',
337
- });
338
-
339
- expectDeprecation(() => {
340
- this.render(
341
- '{{component (component (component "-looked-up" "Sergio" 29) name="Marvin" age=21)}}'
342
- );
343
- }, 'You cannot specify both a positional param (at position 1) and the hash argument `age`.');
344
-
345
- this.assertText('Sergio 29');
346
-
347
- this.runTask(() => this.rerender());
348
-
349
- this.assertText('Sergio 29');
350
- }
351
-
352
- ['@test nested components with positional params at outer layer are override hash parameters [DEPRECATED]']() {
353
- this.registerComponent('-looked-up', {
354
- ComponentClass: Component.extend().reopenClass({
355
- positionalParams: ['greeting', 'name', 'age'],
356
- }),
357
- template: '{{greeting}} {{name}} {{age}}',
358
- });
359
-
360
- expectDeprecation(() => {
361
- this.render(
362
- strip`
363
- {{#with (component "-looked-up" "Hola" "Dolores" 33) as |first|}}
364
- {{#with (component first greeting="Hej" name="Sigmundur") as |second|}}
365
- {{component second greeting=model.greeting}}
366
- {{/with}}
367
- {{/with}}`,
368
- {
369
- model: {
370
- greeting: 'Hodi',
371
- },
372
- }
373
- );
374
- }, 'You cannot specify both a positional param (at position 1) and the hash argument `name`.');
375
-
376
- this.assertText('Hola Dolores 33');
377
-
378
- this.runTask(() => this.rerender());
379
-
380
- this.assertText('Hola Dolores 33');
381
- }
382
-
383
- ['@test nested components with positional params at middle layer partially override hash parameters [DEPRECATED]']() {
384
- this.registerComponent('-looked-up', {
385
- ComponentClass: Component.extend().reopenClass({
386
- positionalParams: ['greeting', 'name', 'age'],
387
- }),
388
-
389
- template: '{{greeting}} {{name}} {{age}}',
390
- });
391
-
392
- expectDeprecation(() => {
393
- this.render(
394
- strip`
395
- {{#with (component "-looked-up" greeting="Hola" name="Dolores" age=33) as |first|}}
396
- {{#with (component first "Hej" "Sigmundur") as |second|}}
397
- {{component second greeting=model.greeting}}
398
- {{/with}}
399
- {{/with}}`,
400
- {
401
- model: {
402
- greeting: 'Hodi',
403
- },
404
- }
405
- );
406
- }, 'You cannot specify both a positional param (at position 0) and the hash argument `greeting`.');
407
-
408
- this.assertText('Hej Sigmundur 33');
409
-
410
- this.runTask(() => this.rerender());
411
-
412
- this.assertText('Hej Sigmundur 33');
413
- }
414
-
415
- ['@test nested components with positional params at invocation override earlier hash parameters [DEPRECATED]']() {
416
- this.registerComponent('-looked-up', {
417
- ComponentClass: Component.extend().reopenClass({
418
- positionalParams: ['greeting', 'name', 'age'],
419
- }),
420
-
421
- template: '{{greeting}} {{name}} {{age}}',
422
- });
423
-
424
- expectDeprecation(() => {
425
- this.render(
426
- strip`
427
- {{#with (component "-looked-up" greeting="Hola" name="Dolores" age=33) as |first|}}
428
- {{#with (component first greeting="Hej" name="Sigmundur") as |second|}}
429
- {{component second model.greeting}}
430
- {{/with}}
431
- {{/with}}`,
432
- {
433
- model: {
434
- greeting: 'Hodi',
435
- },
436
- }
437
- );
438
- }, 'You cannot specify both a positional param (at position 0) and the hash argument `greeting`.');
439
-
440
- this.assertText('Hodi Sigmundur 33');
441
-
442
- this.runTask(() => this.rerender());
443
-
444
- this.assertText('Hodi Sigmundur 33');
445
-
446
- this.runTask(() => this.context.set('model.greeting', 'Kaixo'));
447
-
448
- this.assertText('Kaixo Sigmundur 33');
449
-
450
- this.runTask(() => this.context.set('model', { greeting: 'Hodi' }));
451
-
452
- this.assertText('Hodi Sigmundur 33');
453
- }
454
-
455
- ['@test nested components overwrite hash parameters']() {
456
- this.registerComponent('-looked-up', {
457
- template: '{{greeting}} {{name}} {{age}}',
458
- });
459
-
460
- this.render(
461
- strip`
462
- {{#with (component "-looked-up" greeting="Hola" name="Dolores" age=33) as |first|}}
463
- {{#with (component first greeting="Hej" name="Sigmundur") as |second|}}
464
- {{component second greeting=model.greeting}}
465
- {{/with}}
466
- {{/with}}`,
467
- {
468
- model: {
469
- greeting: 'Hodi',
470
- },
471
- }
472
- );
473
-
474
- this.assertText('Hodi Sigmundur 33');
475
-
476
- this.runTask(() => this.rerender());
477
-
478
- this.assertText('Hodi Sigmundur 33');
479
-
480
- this.runTask(() => this.context.set('model.greeting', 'Kaixo'));
481
-
482
- this.assertText('Kaixo Sigmundur 33');
483
-
484
- this.runTask(() => this.context.set('model', { greeting: 'Hodi' }));
485
-
486
- this.assertText('Hodi Sigmundur 33');
487
- }
488
-
489
- ['@test bound outer named parameters get updated in the right scope']() {
490
- this.registerComponent('-inner-component', {
491
- ComponentClass: Component.extend().reopenClass({
492
- positionalParams: ['comp'],
493
- }),
494
- template: '{{component comp "Inner"}}',
495
- });
496
-
497
- this.registerComponent('-looked-up', {
498
- ComponentClass: Component.extend().reopenClass({
499
- positionalParams: ['name', 'age'],
500
- }),
501
- template: '{{name}} {{age}}',
502
- });
503
-
504
- this.render(
505
- '{{component "-inner-component" (component "-looked-up" model.outerName model.outerAge)}}',
506
- {
507
- model: {
508
- outerName: 'Outer',
509
- outerAge: 28,
510
- },
511
- }
512
- );
513
-
514
- this.assertText('Outer 28');
515
-
516
- this.runTask(() => this.rerender());
517
-
518
- this.assertText('Outer 28');
519
-
520
- this.runTask(() => this.context.set('model.outerAge', 29));
521
-
522
- this.assertText('Outer 29');
523
-
524
- this.runTask(() => this.context.set('model.outerName', 'Not outer'));
525
-
526
- this.assertText('Not outer 29');
527
-
528
- this.runTask(() => {
529
- this.context.set('model', {
530
- outerName: 'Outer',
531
- outerAge: 28,
532
- });
533
- });
534
-
535
- this.assertText('Outer 28');
536
- }
537
-
538
- ['@test bound outer hash parameters get updated in the right scope']() {
539
- this.registerComponent('-inner-component', {
540
- ComponentClass: Component.extend().reopenClass({
541
- positionalParams: ['comp'],
542
- }),
543
- template: '{{component comp name="Inner"}}',
544
- });
545
-
546
- this.registerComponent('-looked-up', {
547
- template: '{{name}} {{age}}',
548
- });
549
-
550
- this.render(
551
- '{{component "-inner-component" (component "-looked-up" name=model.outerName age=model.outerAge)}}',
552
- {
553
- model: {
554
- outerName: 'Outer',
555
- outerAge: 28,
556
- },
557
- }
558
- );
559
-
560
- this.assertText('Inner 28');
561
-
562
- this.runTask(() => this.rerender());
563
-
564
- this.assertText('Inner 28');
565
-
566
- this.runTask(() => this.context.set('model.outerAge', 29));
567
-
568
- this.assertText('Inner 29');
569
-
570
- this.runTask(() => this.context.set('model.outerName', 'Not outer'));
571
-
572
- this.assertText('Inner 29');
573
-
574
- this.runTask(() => {
575
- this.context.set('model', {
576
- outerName: 'Outer',
577
- outerAge: 28,
578
- });
579
- });
580
-
581
- this.assertText('Inner 28');
582
- }
583
-
584
- ['@test conflicting positional and hash parameters trigger a deprecation if in the same component context [DEPRECATED]']() {
585
- this.registerComponent('-looked-up', {
586
- ComponentClass: Component.extend().reopenClass({
587
- positionalParams: ['name'],
588
- }),
589
- template: '{{greeting}} {{name}}',
590
- });
591
-
592
- expectDeprecation(() => {
593
- this.render(
594
- '{{component (component "-looked-up" "Hodari" name="Sergio") "Hodari" greeting="Hodi"}}'
595
- );
596
- }, 'You cannot specify both a positional param (at position 0) and the hash argument `name`.');
597
- }
598
-
599
- ['@test conflicting positional and hash parameters does not raise an assertion if rerendered']() {
600
- // In some cases, rerendering with a positional param used to cause an
601
- // assertion. This test checks it does not.
602
- this.registerComponent('-looked-up', {
603
- ComponentClass: Component.extend().reopenClass({
604
- positionalParams: ['name'],
605
- }),
606
- template: '{{greeting}} {{name}}',
607
- });
608
-
609
- this.render('{{component (component "-looked-up" model.name greeting="Hodi")}}', {
610
- model: {
611
- name: 'Hodari',
612
- },
613
- });
614
-
615
- this.assertText('Hodi Hodari');
616
-
617
- this.runTask(() => this.rerender());
618
-
619
- this.assertText('Hodi Hodari');
620
-
621
- this.runTask(() => this.context.set('model.name', 'Sergio'));
622
-
623
- this.assertText('Hodi Sergio');
624
-
625
- this.runTask(() => this.context.set('model', { name: 'Hodari' }));
626
-
627
- this.assertText('Hodi Hodari');
628
- }
629
-
630
- ['@test conflicting positional and hash parameters trigger a deprecation [DEPRECATED]']() {
631
- this.registerComponent('-looked-up', {
632
- ComponentClass: Component.extend().reopenClass({
633
- positionalParams: ['name'],
634
- }),
635
- template: '{{greeting}} {{name}}',
636
- });
637
-
638
- expectDeprecation(() => {
639
- this.render(
640
- '{{component (component "-looked-up" "Hodari") name="Sergio" greeting="Hodi"}}'
641
- );
642
- }, 'You cannot specify both a positional param (at position 0) and the hash argument `name`.');
643
-
644
- this.assertText('Hodi Hodari');
645
-
646
- this.runTask(() => this.rerender());
647
-
648
- this.assertText('Hodi Hodari');
649
- }
650
-
651
- ['@test component with dynamic component name resolving to undefined, then an existing component']() {
652
- this.registerComponent('foo-bar', { template: 'hello {{name}}' });
653
-
654
- this.render('{{component (component componentName name=name)}}', {
655
- componentName: undefined,
656
- name: 'Alex',
657
- });
658
-
659
- this.assertText('');
660
-
661
- this.runTask(() => this.rerender());
662
-
663
- this.assertText('');
664
-
665
- this.runTask(() => this.context.set('componentName', 'foo-bar'));
666
-
667
- this.assertText('hello Alex');
668
-
669
- this.runTask(() => this.context.set('componentName', undefined));
670
-
671
- this.assertText('');
672
- }
673
-
674
- ['@test component with dynamic component name resolving to a component, then undefined']() {
675
- this.registerComponent('foo-bar', { template: 'hello {{name}}' });
676
-
677
- this.render('{{component (component componentName name=name)}}', {
678
- componentName: 'foo-bar',
679
- name: 'Alex',
680
- });
681
-
682
- this.assertText('hello Alex');
683
-
684
- this.runTask(() => this.rerender());
685
-
686
- this.assertText('hello Alex');
687
-
688
- this.runTask(() => this.context.set('componentName', undefined));
689
-
690
- this.assertText('');
691
-
692
- this.runTask(() => this.context.set('componentName', 'foo-bar'));
693
-
694
- this.assertText('hello Alex');
695
- }
696
-
697
- ['@test component with dynamic component name resolving to null, then an existing component']() {
698
- this.registerComponent('foo-bar', { template: 'hello {{name}}' });
699
-
700
- this.render('{{component (component componentName name=name)}}', {
701
- componentName: null,
702
- name: 'Alex',
703
- });
704
-
705
- this.assertText('');
706
-
707
- this.runTask(() => this.rerender());
708
-
709
- this.assertText('');
710
-
711
- this.runTask(() => this.context.set('componentName', 'foo-bar'));
712
-
713
- this.assertText('hello Alex');
714
-
715
- this.runTask(() => this.context.set('componentName', null));
716
-
717
- this.assertText('');
718
- }
719
-
720
- ['@test component with dynamic component name resolving to a component, then null']() {
721
- this.registerComponent('foo-bar', { template: 'hello {{name}}' });
722
-
723
- this.render('{{component (component componentName name=name)}}', {
724
- componentName: 'foo-bar',
725
- name: 'Alex',
726
- });
727
-
728
- this.assertText('hello Alex');
729
-
730
- this.runTask(() => this.rerender());
731
-
732
- this.assertText('hello Alex');
733
-
734
- this.runTask(() => this.context.set('componentName', null));
735
-
736
- this.assertText('');
737
-
738
- this.runTask(() => this.context.set('componentName', 'foo-bar'));
739
-
740
- this.assertText('hello Alex');
741
- }
742
-
743
- ['@test raises an assertion when component path is not a component name (static)']() {
744
- expectAssertion(() => {
745
- this.render('{{component (component "not-a-component")}}');
746
- }, 'Could not find component named "not-a-component" (no component or template with that name was found)');
747
- }
748
-
749
- ['@test raises an assertion when component path is not a component name (dynamic)']() {
750
- expectAssertion(() => {
751
- this.render('{{component (component compName)}}', {
752
- compName: 'not-a-component',
753
- });
754
- }, 'Could not find component named "not-a-component" (no component or template with that name was found)');
755
- }
756
-
757
- ['@test renders with dot path']() {
758
- let expectedText = 'Hodi';
759
- this.registerComponent('-looked-up', {
760
- template: expectedText,
761
- });
762
-
763
- this.render(strip`
764
- {{#with (hash lookedup=(component "-looked-up")) as |object|}}
765
- {{object.lookedup}}
766
- {{/with}}`);
767
-
768
- this.assertText(expectedText);
769
-
770
- this.runTask(() => this.rerender());
771
-
772
- this.assertText(expectedText);
773
- }
774
-
775
- ['@test renders with dot path and attr']() {
776
- let expectedText = 'Hodi';
777
- this.registerComponent('-looked-up', {
778
- template: '{{expectedText}}',
779
- });
780
-
781
- this.render(
782
- strip`
783
- {{#with (hash lookedup=(component "-looked-up")) as |object|}}
784
- {{object.lookedup expectedText=model.expectedText}}
785
- {{/with}}`,
786
- {
787
- model: {
788
- expectedText,
789
- },
790
- }
791
- );
792
-
793
- this.assertText(expectedText);
794
-
795
- this.runTask(() => this.rerender());
796
-
797
- this.assertText(expectedText);
798
-
799
- this.runTask(() => this.context.set('model.expectedText', 'Hola'));
800
-
801
- this.assertText('Hola');
802
-
803
- this.runTask(() => this.context.set('model', { expectedText }));
804
-
805
- this.assertText(expectedText);
806
- }
807
-
808
- ['@test renders with dot path and curried over attr']() {
809
- let expectedText = 'Hodi';
810
- this.registerComponent('-looked-up', {
811
- template: '{{expectedText}}',
812
- });
813
-
814
- this.render(
815
- strip`
816
- {{#with (hash lookedup=(component "-looked-up" expectedText=model.expectedText)) as |object|}}
817
- {{object.lookedup}}
818
- {{/with}}`,
819
- {
820
- model: {
821
- expectedText,
822
- },
823
- }
824
- );
825
-
826
- this.assertText(expectedText);
827
-
828
- this.runTask(() => this.rerender());
829
-
830
- this.assertText(expectedText);
831
-
832
- this.runTask(() => this.context.set('model.expectedText', 'Hola'));
833
-
834
- this.assertText('Hola');
835
-
836
- this.runTask(() => this.context.set('model', { expectedText }));
837
-
838
- this.assertText(expectedText);
839
- }
840
-
841
- ['@test renders with dot path and with rest positional parameters']() {
842
- this.registerComponent('-looked-up', {
843
- ComponentClass: Component.extend().reopenClass({
844
- positionalParams: 'params',
845
- }),
846
- template: '{{params}}',
847
- });
848
-
849
- let expectedText = 'Hodi';
850
-
851
- this.render(
852
- strip`
853
- {{#with (hash lookedup=(component "-looked-up")) as |object|}}
854
- {{object.lookedup model.expectedText "Hola"}}
855
- {{/with}}`,
856
- {
857
- model: {
858
- expectedText,
859
- },
860
- }
861
- );
862
-
863
- this.assertText(`${expectedText},Hola`);
864
-
865
- this.runTask(() => this.rerender());
866
-
867
- this.assertText(`${expectedText},Hola`);
868
-
869
- this.runTask(() => this.context.set('model.expectedText', 'Kaixo'));
870
-
871
- this.assertText('Kaixo,Hola');
872
-
873
- this.runTask(() => this.context.set('model', { expectedText }));
874
-
875
- this.assertText(`${expectedText},Hola`);
876
- }
877
-
878
- ['@test renders with dot path and rest parameter does not leak'](assert) {
879
- // In the original implementation, positional parameters were not handled
880
- // correctly causing the first positional parameter to be the contextual
881
- // component itself.
882
- let value = false;
883
-
884
- this.registerComponent('my-component', {
885
- ComponentClass: Component.extend({
886
- didReceiveAttrs() {
887
- value = this.getAttr('value');
888
- },
889
- }).reopenClass({
890
- positionalParams: ['value'],
891
- }),
892
- });
893
-
894
- this.render(
895
- strip`
896
- {{#with (hash my-component=(component 'my-component' first)) as |c|}}
897
- {{c.my-component}}
898
- {{/with}}`,
899
- { first: 'first' }
900
- );
901
-
902
- assert.equal(value, 'first', 'value is the expected parameter');
903
- }
904
-
905
- ['@test renders with dot path and updates attributes'](assert) {
906
- this.registerComponent('my-nested-component', {
907
- ComponentClass: Component.extend({
908
- didReceiveAttrs() {
909
- this.set('myProp', this.getAttr('my-parent-attr'));
910
- },
911
- }),
912
- template: '<span id="nested-prop">{{myProp}}</span>',
913
- });
914
-
915
- this.registerComponent('my-component', {
916
- template:
917
- '{{yield (hash my-nested-component=(component "my-nested-component" my-parent-attr=my-attr))}}',
918
- });
919
-
920
- this.registerComponent('my-action-component', {
921
- ComponentClass: Component.extend({
922
- actions: {
923
- changeValue() {
924
- this.incrementProperty('myProp');
925
- },
926
- },
927
- }),
928
- template: strip`
929
- {{#my-component my-attr=myProp as |api|}}
930
- {{api.my-nested-component}}
931
- {{/my-component}}
932
- <br>
933
- <button onclick={{action 'changeValue'}}>Change value</button>`,
934
- });
935
-
936
- this.render('{{my-action-component myProp=model.myProp}}', {
937
- model: {
938
- myProp: 1,
939
- },
940
- });
941
-
942
- assert.equal(this.$('#nested-prop').text(), '1');
943
-
944
- this.runTask(() => this.rerender());
945
-
946
- assert.equal(this.$('#nested-prop').text(), '1');
947
-
948
- this.runTask(() => this.$('button').click());
949
-
950
- assert.equal(this.$('#nested-prop').text(), '2');
951
-
952
- this.runTask(() => this.$('button').click());
953
-
954
- assert.equal(this.$('#nested-prop').text(), '3');
955
-
956
- this.runTask(() => this.context.set('model', { myProp: 1 }));
957
-
958
- assert.equal(this.$('#nested-prop').text(), '1');
959
- }
960
-
961
- ["@test adding parameters to a contextual component's instance does not add it to other instances"]() {
962
- // If parameters and attributes are not handled correctly, setting a value
963
- // in an invokation can leak to others invocation.
964
- this.registerComponent('select-box', {
965
- template: '{{yield (hash option=(component "select-box-option"))}}',
966
- });
967
-
968
- this.registerComponent('select-box-option', {
969
- template: '{{label}}',
970
- });
971
-
972
- this.render(strip`
973
- {{#select-box as |sb|}}
974
- {{sb.option label="Foo"}}
975
- {{sb.option}}
976
- {{/select-box}}`);
977
-
978
- this.assertText('Foo');
979
-
980
- this.runTask(() => this.rerender());
981
-
982
- this.assertText('Foo');
983
- }
984
-
985
- ['@test parameters in a contextual component are mutable when value is a param'](assert) {
986
- // This checks that a `(mut)` is added to parameters and attributes to
987
- // contextual components when it is a param.
988
-
989
- this.registerComponent('change-button', {
990
- ComponentClass: Component.extend().reopenClass({
991
- positionalParams: ['val'],
992
- }),
993
- template: strip`
994
- <button {{action (action (mut val) 10)}} class="my-button">
995
- Change to 10
996
- </button>`,
997
- });
998
-
999
- this.render(
1000
- strip`
1001
- {{component (component "change-button" model.val2)}}
1002
- <span class="value">{{model.val2}}</span>`,
1003
- {
1004
- model: {
1005
- val2: 8,
1006
- },
1007
- }
1008
- );
1009
-
1010
- assert.equal(this.$('.value').text(), '8');
1011
-
1012
- this.runTask(() => this.rerender());
1013
-
1014
- assert.equal(this.$('.value').text(), '8');
1015
-
1016
- this.runTask(() => this.$('.my-button').click());
1017
-
1018
- assert.equal(this.$('.value').text(), '10');
1019
-
1020
- this.runTask(() => this.context.set('model', { val2: 8 }));
1021
-
1022
- assert.equal(this.$('.value').text(), '8');
1023
- }
1024
-
1025
- ['@test tagless blockless components render'](assert) {
1026
- this.registerComponent('my-comp', {
1027
- ComponentClass: Component.extend({ tagName: '' }),
1028
- });
1029
-
1030
- this.render(`{{my-comp}}`);
1031
-
1032
- this.runTask(() => this.rerender());
1033
-
1034
- assert.equal(this.$().text(), '');
1035
- }
1036
-
1037
- ['@test GH#13494 tagless blockless component with property binding'](assert) {
1038
- this.registerComponent('outer-component', {
1039
- ComponentClass: Component.extend({
1040
- message: 'hello',
1041
- actions: {
1042
- change() {
1043
- this.set('message', 'goodbye');
1044
- },
1045
- },
1046
- }),
1047
- template: strip`
1048
- message: {{message}}{{inner-component message=message}}
1049
- <button onclick={{action "change"}} />`,
1050
- });
1051
-
1052
- this.registerComponent('inner-component', {
1053
- ComponentClass: Component.extend({
1054
- tagName: '',
1055
- }),
1056
- });
1057
-
1058
- this.render(`{{outer-component}}`);
1059
-
1060
- assert.equal(this.$().text(), 'message: hello');
1061
-
1062
- this.runTask(() => this.rerender());
1063
-
1064
- assert.equal(this.$().text(), 'message: hello');
1065
-
1066
- this.runTask(() => this.$('button').click());
1067
-
1068
- assert.equal(this.$().text(), 'message: goodbye');
1069
-
1070
- this.runTask(() => this.rerender());
1071
-
1072
- assert.equal(this.$().text(), 'message: goodbye');
1073
- }
1074
-
1075
- ['@test GH#13982 contextual component ref is stable even when bound params change'](assert) {
1076
- let instance, previousInstance;
1077
- let initCount = 0;
1078
-
1079
- this.registerComponent('my-comp', {
1080
- ComponentClass: Component.extend({
1081
- init() {
1082
- this._super();
1083
- previousInstance = instance;
1084
- instance = this;
1085
- initCount++;
1086
- },
1087
- isOpen: undefined,
1088
- }),
1089
- template: '{{if isOpen "open" "closed"}}',
1090
- });
1091
-
1092
- this.render(
1093
- strip`
1094
- {{#with (hash ctxCmp=(component "my-comp" isOpen=isOpen)) as |thing|}}
1095
- {{#thing.ctxCmp}}This is a contextual component{{/thing.ctxCmp}}
1096
- {{/with}}
1097
- `,
1098
- {
1099
- isOpen: true,
1100
- }
1101
- );
1102
-
1103
- assert.ok(!isEmpty(instance), 'a instance was created');
1104
- assert.equal(previousInstance, undefined, 'no previous component exists');
1105
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1106
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1107
-
1108
- this.runTask(() => this.rerender());
1109
-
1110
- assert.ok(!isEmpty(instance), 'the component instance exists');
1111
- assert.equal(previousInstance, undefined, 'no previous component exists');
1112
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1113
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1114
-
1115
- this.runTask(() => this.context.set('isOpen', false));
1116
-
1117
- assert.ok(!isEmpty(instance), 'the component instance exists');
1118
- assert.equal(previousInstance, undefined, 'no previous component exists');
1119
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1120
- assert.equal(this.$().text(), 'closed', 'the component text is "closed"');
1121
-
1122
- this.runTask(() => this.rerender());
1123
-
1124
- assert.ok(!isEmpty(instance), 'the component instance exists');
1125
- assert.equal(previousInstance, undefined, 'no previous component exists');
1126
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1127
- assert.equal(this.$().text(), 'closed', 'the component text is "closed"');
1128
-
1129
- this.runTask(() => this.context.set('isOpen', true));
1130
-
1131
- assert.ok(!isEmpty(instance), 'the component instance exists');
1132
- assert.equal(previousInstance, undefined, 'no previous component exists');
1133
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1134
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1135
- }
1136
-
1137
- ['@test GH#13982 contextual component ref is stable even when bound params change (bound name param)'](
1138
- assert
1139
- ) {
1140
- let instance, previousInstance;
1141
- let initCount = 0;
1142
-
1143
- this.registerComponent('my-comp', {
1144
- ComponentClass: Component.extend({
1145
- init() {
1146
- this._super();
1147
- previousInstance = instance;
1148
- instance = this;
1149
- initCount++;
1150
- },
1151
- isOpen: undefined,
1152
- }),
1153
- template: '{{if isOpen "open" "closed"}}',
1154
- });
1155
-
1156
- this.render(
1157
- strip`
1158
- {{#with (hash ctxCmp=(component compName isOpen=isOpen)) as |thing|}}
1159
- {{#thing.ctxCmp}}This is a contextual component{{/thing.ctxCmp}}
1160
- {{/with}}
1161
- `,
1162
- {
1163
- compName: 'my-comp',
1164
- isOpen: true,
1165
- }
1166
- );
1167
-
1168
- assert.ok(!isEmpty(instance), 'a instance was created');
1169
- assert.equal(previousInstance, undefined, 'no previous component exists');
1170
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1171
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1172
-
1173
- this.runTask(() => this.rerender());
1174
-
1175
- assert.ok(!isEmpty(instance), 'the component instance exists');
1176
- assert.equal(previousInstance, undefined, 'no previous component exists');
1177
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1178
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1179
-
1180
- this.runTask(() => this.context.set('isOpen', false));
1181
-
1182
- assert.ok(!isEmpty(instance), 'the component instance exists');
1183
- assert.equal(previousInstance, undefined, 'no previous component exists');
1184
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1185
- assert.equal(this.$().text(), 'closed', 'the component text is "closed"');
1186
-
1187
- this.runTask(() => this.rerender());
1188
-
1189
- assert.ok(!isEmpty(instance), 'the component instance exists');
1190
- assert.equal(previousInstance, undefined, 'no previous component exists');
1191
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1192
- assert.equal(this.$().text(), 'closed', 'the component text is "closed"');
1193
-
1194
- this.runTask(() => this.context.set('isOpen', true));
1195
-
1196
- assert.ok(!isEmpty(instance), 'the component instance exists');
1197
- assert.equal(previousInstance, undefined, 'no previous component exists');
1198
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1199
- assert.equal(this.$().text(), 'open', 'the components text is "open"');
1200
- }
1201
-
1202
- ['@test GH#13982 contextual component ref is recomputed when component name param changes'](
1203
- assert
1204
- ) {
1205
- let instance, previousInstance;
1206
- let initCount = 0;
1207
-
1208
- this.registerComponent('my-comp', {
1209
- ComponentClass: Component.extend({
1210
- init() {
1211
- this._super();
1212
- previousInstance = instance;
1213
- instance = this;
1214
- initCount++;
1215
- },
1216
- isOpen: undefined,
1217
- }),
1218
- template: 'my-comp: {{if isOpen "open" "closed"}}',
1219
- });
1220
-
1221
- this.registerComponent('your-comp', {
1222
- ComponentClass: Component.extend({
1223
- init() {
1224
- this._super();
1225
- previousInstance = instance;
1226
- instance = this;
1227
- initCount++;
1228
- },
1229
- isOpen: undefined,
1230
- }),
1231
- template: 'your-comp: {{if isOpen "open" "closed"}}',
1232
- });
1233
-
1234
- this.render(
1235
- strip`
1236
- {{#with (hash ctxCmp=(component compName isOpen=isOpen)) as |thing|}}
1237
- {{#thing.ctxCmp}}This is a contextual component{{/thing.ctxCmp}}
1238
- {{/with}}
1239
- `,
1240
- {
1241
- compName: 'my-comp',
1242
- isOpen: true,
1243
- }
1244
- );
1245
-
1246
- assert.ok(!isEmpty(instance), 'a instance was created');
1247
- assert.equal(previousInstance, undefined, 'there is no previous instance');
1248
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1249
- assert.equal(this.$().text(), 'my-comp: open');
1250
-
1251
- this.runTask(() => this.rerender());
1252
-
1253
- assert.ok(!isEmpty(instance), 'a instance exists after rerender');
1254
- assert.equal(previousInstance, undefined, 'there is no previous instance after rerender');
1255
- assert.equal(initCount, 1, 'the component was constructed exactly 1 time');
1256
- assert.equal(this.$().text(), 'my-comp: open');
1257
-
1258
- this.runTask(() => this.context.set('compName', 'your-comp'));
1259
-
1260
- assert.ok(!isEmpty(instance), 'an instance was created after component name changed');
1261
- assert.ok(!isEmpty(previousInstance), 'a previous instance now exists');
1262
- assert.notEqual(
1263
- instance,
1264
- previousInstance,
1265
- 'the instance and previous instance are not the same object'
1266
- );
1267
- assert.equal(initCount, 2, 'the component was constructed exactly 2 times');
1268
- assert.equal(this.$().text(), 'your-comp: open');
1269
-
1270
- this.runTask(() => this.rerender());
1271
-
1272
- assert.ok(
1273
- !isEmpty(instance),
1274
- 'an instance was created after component name changed (rerender)'
1275
- );
1276
- assert.ok(!isEmpty(previousInstance), 'a previous instance now exists (rerender)');
1277
- assert.notEqual(
1278
- instance,
1279
- previousInstance,
1280
- 'the instance and previous instance are not the same object (rerender)'
1281
- );
1282
- assert.equal(initCount, 2, 'the component was constructed exactly 2 times (rerender)');
1283
- assert.equal(this.$().text(), 'your-comp: open');
1284
-
1285
- this.runTask(() => this.context.set('compName', 'my-comp'));
1286
-
1287
- assert.ok(!isEmpty(instance), 'an instance was created after component name changed');
1288
- assert.ok(!isEmpty(previousInstance), 'a previous instance still exists');
1289
- assert.notEqual(
1290
- instance,
1291
- previousInstance,
1292
- 'the instance and previous instance are not the same object'
1293
- );
1294
- assert.equal(initCount, 3, 'the component was constructed exactly 3 times (rerender)');
1295
- assert.equal(this.$().text(), 'my-comp: open');
1296
- }
1297
-
1298
- ['@test GH#14508 rest positional params are received when passed as named parameter']() {
1299
- this.registerComponent('my-link', {
1300
- ComponentClass: Component.extend().reopenClass({
1301
- positionalParams: 'params',
1302
- }),
1303
- template: '{{#each params as |p|}}{{p}}{{/each}}',
1304
- });
1305
-
1306
- this.render('{{component (component "my-link") params=allParams}}', {
1307
- allParams: emberA(['a', 'b']),
1308
- });
1309
-
1310
- this.assertText('ab');
1311
-
1312
- this.runTask(() => this.rerender());
1313
-
1314
- this.assertText('ab');
1315
-
1316
- this.runTask(() => this.context.get('allParams').pushObject('c'));
1317
-
1318
- this.assertText('abc');
1319
-
1320
- this.runTask(() => this.context.get('allParams').popObject());
1321
-
1322
- this.assertText('ab');
1323
-
1324
- this.runTask(() => this.context.get('allParams').clear());
1325
-
1326
- this.assertText('');
1327
-
1328
- this.runTask(() => this.context.set('allParams', emberA(['1', '2'])));
1329
-
1330
- this.assertText('12');
1331
-
1332
- this.runTask(() => this.context.set('allParams', emberA(['a', 'b'])));
1333
-
1334
- this.assertText('ab');
1335
- }
1336
-
1337
- ['@test GH#14508 rest positional params are received when passed as named parameter with dot notation']() {
1338
- this.registerComponent('my-link', {
1339
- ComponentClass: Component.extend().reopenClass({
1340
- positionalParams: 'params',
1341
- }),
1342
- template: '{{#each params as |p|}}{{p}}{{/each}}',
1343
- });
1344
-
1345
- this.render(
1346
- '{{#with (hash link=(component "my-link")) as |c|}}{{c.link params=allParams}}{{/with}}',
1347
- {
1348
- allParams: emberA(['a', 'b']),
1349
- }
1350
- );
1351
-
1352
- this.assertText('ab');
1353
-
1354
- this.runTask(() => this.rerender());
1355
-
1356
- this.assertText('ab');
1357
-
1358
- this.runTask(() => this.context.get('allParams').pushObject('c'));
1359
-
1360
- this.assertText('abc');
1361
-
1362
- this.runTask(() => this.context.get('allParams').popObject());
1363
-
1364
- this.assertText('ab');
1365
-
1366
- this.runTask(() => this.context.get('allParams').clear());
1367
-
1368
- this.assertText('');
1369
-
1370
- this.runTask(() => this.context.set('allParams', emberA(['1', '2'])));
1371
-
1372
- this.assertText('12');
1373
-
1374
- this.runTask(() => this.context.set('allParams', emberA(['a', 'b'])));
1375
-
1376
- this.assertText('ab');
1377
- }
1378
-
1379
- ['@test GH#14632 give useful warning when calling contextual components with input as a name']() {
1380
- expectAssertion(() => {
1381
- this.render('{{component (component "input" type="text")}}');
1382
- }, 'You cannot use `input` as a component name.');
1383
- }
1384
-
1385
- ['@test GH#14632 give useful warning when calling contextual components with textarea as a name']() {
1386
- expectAssertion(() => {
1387
- this.render('{{component (component "textarea" type="text")}}');
1388
- }, 'You cannot use `textarea` as a component name.');
1389
- }
1390
- }
1391
- );
1392
-
1393
- class ContextualComponentMutableParamsTest extends RenderingTest {
1394
- render(templateStr, context = {}) {
1395
- super.render(
1396
- `${templateStr}<span class="value">{{model.val2}}</span>`,
1397
- assign(context, { model: { val2: 8 } })
1398
- );
1399
- }
1400
- }
1401
-
1402
- class MutableParamTestGenerator {
1403
- constructor(cases) {
1404
- this.cases = cases;
1405
- }
1406
-
1407
- generate({ title, setup }) {
1408
- return {
1409
- [`@test parameters in a contextual component are mutable when value is a ${title}`](assert) {
1410
- this.registerComponent('change-button', {
1411
- ComponentClass: Component.extend().reopenClass({
1412
- positionalParams: ['val'],
1413
- }),
1414
- template: strip`
1415
- <button {{action (action (mut val) 10)}} class="my-button">
1416
- Change to 10
1417
- </button>`,
1418
- });
1419
-
1420
- setup.call(this, assert);
1421
-
1422
- assert.equal(this.$('.value').text(), '8');
1423
-
1424
- this.runTask(() => this.rerender());
1425
-
1426
- assert.equal(this.$('.value').text(), '8');
1427
-
1428
- this.runTask(() => this.$('.my-button').click());
1429
-
1430
- assert.equal(this.$('.value').text(), '10');
1431
-
1432
- this.runTask(() => this.context.set('model', { val2: 8 }));
1433
-
1434
- assert.equal(this.$('.value').text(), '8');
1435
- },
1436
- };
1437
- }
1438
- }
1439
-
1440
- applyMixins(
1441
- ContextualComponentMutableParamsTest,
1442
- new MutableParamTestGenerator([
1443
- {
1444
- title: 'param',
1445
- setup() {
1446
- this.render('{{component (component "change-button" model.val2)}}');
1447
- },
1448
- },
1449
-
1450
- {
1451
- title: 'nested param',
1452
- setup() {
1453
- this.registerComponent('my-comp', {
1454
- ComponentClass: Component.extend().reopenClass({
1455
- positionalParams: ['components'],
1456
- }),
1457
- template: '{{component components.comp}}',
1458
- });
1459
-
1460
- this.render('{{my-comp (hash comp=(component "change-button" model.val2))}}');
1461
- },
1462
- },
1463
-
1464
- {
1465
- title: 'hash value',
1466
- setup() {
1467
- this.registerComponent('my-comp', {
1468
- template: '{{component component}}',
1469
- });
1470
-
1471
- this.render('{{my-comp component=(component "change-button" val=model.val2)}}');
1472
- },
1473
- },
1474
-
1475
- {
1476
- title: 'nested hash value',
1477
- setup() {
1478
- this.registerComponent('my-comp', {
1479
- template: '{{component components.button}}',
1480
- });
1481
-
1482
- this.render(
1483
- '{{my-comp components=(hash button=(component "change-button" val=model.val2))}}'
1484
- );
1485
- },
1486
- },
1487
- ])
1488
- );
1489
-
1490
- moduleFor(
1491
- 'Components test: contextual components -- mutable params',
1492
- ContextualComponentMutableParamsTest
1493
- );