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,1595 +0,0 @@
1
- import { RenderingTest, moduleFor } from '../../utils/test-case';
2
- import { strip } from '../../utils/abstract-test-case';
3
- import { Component } from '../../utils/helpers';
4
- import { set } from 'ember-metal';
5
- import {
6
- subscribe as instrumentationSubscribe,
7
- reset as instrumentationReset,
8
- } from '@ember/instrumentation';
9
- import { EMBER_IMPROVED_INSTRUMENTATION } from '@ember/canary-features';
10
-
11
- import { Object as EmberObject, A as emberA } from 'ember-runtime';
12
-
13
- import { ActionManager } from 'ember-views';
14
-
15
- function getActionAttributes(element) {
16
- let attributes = element.attributes;
17
- let actionAttrs = [];
18
-
19
- for (let i = 0; i < attributes.length; i++) {
20
- let attr = attributes.item(i);
21
-
22
- if (attr.name.indexOf('data-ember-action-') === 0) {
23
- actionAttrs.push(attr.name);
24
- }
25
- }
26
-
27
- return actionAttrs;
28
- }
29
-
30
- function getActionIds(element) {
31
- return getActionAttributes(element).map(attribute =>
32
- attribute.slice('data-ember-action-'.length)
33
- );
34
- }
35
-
36
- const isIE11 = !window.ActiveXObject && 'ActiveXObject' in window;
37
-
38
- if (EMBER_IMPROVED_INSTRUMENTATION) {
39
- moduleFor(
40
- 'Helpers test: element action instrumentation',
41
- class extends RenderingTest {
42
- teardown() {
43
- super.teardown();
44
- instrumentationReset();
45
- }
46
-
47
- ['@test action should fire interaction event with proper params']() {
48
- let subscriberCallCount = 0;
49
- let subscriberPayload = null;
50
-
51
- let ExampleComponent = Component.extend({
52
- actions: {
53
- foo() {},
54
- },
55
- });
56
-
57
- this.registerComponent('example-component', {
58
- ComponentClass: ExampleComponent,
59
- template: '<button {{action "foo" "bar"}}>Click me</button>',
60
- });
61
-
62
- instrumentationSubscribe('interaction.ember-action', {
63
- before() {
64
- subscriberCallCount++;
65
- },
66
- after(name, time, payload) {
67
- subscriberPayload = payload;
68
- },
69
- });
70
-
71
- this.render('{{example-component}}');
72
-
73
- this.assert.equal(subscriberCallCount, 0, 'subscriber has not been called');
74
-
75
- this.runTask(() => this.rerender());
76
-
77
- this.assert.equal(subscriberCallCount, 0, 'subscriber has not been called');
78
-
79
- this.runTask(() => {
80
- this.$('button').click();
81
- });
82
-
83
- this.assert.equal(subscriberCallCount, 1, 'subscriber has been called 1 time');
84
- this.assert.equal(subscriberPayload.name, 'foo', 'subscriber called with correct name');
85
- this.assert.equal(subscriberPayload.args[0], 'bar', 'subscriber called with correct args');
86
- }
87
- }
88
- );
89
- }
90
-
91
- moduleFor(
92
- 'Helpers test: element action',
93
- class extends RenderingTest {
94
- ['@test it can call an action on its enclosing component']() {
95
- let fooCallCount = 0;
96
-
97
- let ExampleComponent = Component.extend({
98
- actions: {
99
- foo() {
100
- fooCallCount++;
101
- },
102
- },
103
- });
104
-
105
- this.registerComponent('example-component', {
106
- ComponentClass: ExampleComponent,
107
- template: '<button {{action "foo"}}>Click me</button>',
108
- });
109
-
110
- this.render('{{example-component}}');
111
-
112
- this.assert.equal(fooCallCount, 0, 'foo has not been called');
113
-
114
- this.runTask(() => this.rerender());
115
-
116
- this.assert.equal(fooCallCount, 0, 'foo has not been called');
117
-
118
- this.runTask(() => {
119
- this.$('button').click();
120
- });
121
-
122
- this.assert.equal(fooCallCount, 1, 'foo has been called 1 time');
123
-
124
- this.runTask(() => {
125
- this.$('button').click();
126
- });
127
-
128
- this.assert.equal(fooCallCount, 2, 'foo has been called 2 times');
129
- }
130
-
131
- ['@test it can call an action with parameters']() {
132
- let fooArgs = [];
133
- let component;
134
-
135
- let ExampleComponent = Component.extend({
136
- member: 'a',
137
- init() {
138
- this._super(...arguments);
139
- component = this;
140
- },
141
- actions: {
142
- foo(thing) {
143
- fooArgs.push(thing);
144
- },
145
- },
146
- });
147
-
148
- this.registerComponent('example-component', {
149
- ComponentClass: ExampleComponent,
150
- template: '<button {{action "foo" member}}>Click me</button>',
151
- });
152
-
153
- this.render('{{example-component}}');
154
-
155
- this.assert.deepEqual(fooArgs, [], 'foo has not been called');
156
-
157
- this.runTask(() => this.rerender());
158
-
159
- this.assert.deepEqual(fooArgs, [], 'foo has not been called');
160
-
161
- this.runTask(() => {
162
- this.$('button').click();
163
- });
164
-
165
- this.assert.deepEqual(fooArgs, ['a'], 'foo has not been called');
166
-
167
- this.runTask(() => {
168
- component.set('member', 'b');
169
- });
170
-
171
- this.runTask(() => {
172
- this.$('button').click();
173
- });
174
-
175
- this.assert.deepEqual(fooArgs, ['a', 'b'], 'foo has been called with an updated value');
176
- }
177
-
178
- ['@test it should output a marker attribute with a guid']() {
179
- this.render('<button {{action "show"}}>me the money</button>');
180
-
181
- let button = this.$('button');
182
-
183
- let attributes = getActionAttributes(button[0]);
184
-
185
- this.assert.ok(
186
- button.attr('data-ember-action').match(''),
187
- 'An empty data-ember-action attribute was added'
188
- );
189
- this.assert.ok(
190
- attributes[0].match(/data-ember-action-\d+/),
191
- 'A data-ember-action-xyz attribute with a guid was added'
192
- );
193
- }
194
-
195
- ['@test it should allow alternative events to be handled']() {
196
- let showCalled = false;
197
-
198
- let ExampleComponent = Component.extend({
199
- actions: {
200
- show() {
201
- showCalled = true;
202
- },
203
- },
204
- });
205
-
206
- this.registerComponent('example-component', {
207
- ComponentClass: ExampleComponent,
208
- template: '<div id="show" {{action "show" on="mouseUp"}}></div>',
209
- });
210
-
211
- this.render('{{example-component}}');
212
-
213
- this.runTask(() => {
214
- this.$('#show').trigger('mouseup');
215
- });
216
-
217
- this.assert.ok(showCalled, 'show action was called on mouseUp');
218
- }
219
-
220
- ['@test inside a yield, the target points at the original target']() {
221
- let targetWatted = false;
222
- let innerWatted = false;
223
-
224
- let TargetComponent = Component.extend({
225
- actions: {
226
- wat() {
227
- targetWatted = true;
228
- },
229
- },
230
- });
231
-
232
- let InnerComponent = Component.extend({
233
- actions: {
234
- wat() {
235
- innerWatted = true;
236
- },
237
- },
238
- });
239
-
240
- this.registerComponent('inner-component', {
241
- ComponentClass: InnerComponent,
242
- template: '{{yield}}',
243
- });
244
-
245
- this.registerComponent('target-component', {
246
- ComponentClass: TargetComponent,
247
- template: strip`
248
- {{#inner-component}}
249
- <button {{action "wat"}}>Wat me!</button>
250
- {{/inner-component}}
251
- `,
252
- });
253
-
254
- this.render('{{target-component}}');
255
-
256
- this.runTask(() => {
257
- this.$('button').click();
258
- });
259
-
260
- this.assert.ok(targetWatted, 'the correct target was watted');
261
- this.assert.notOk(innerWatted, 'the inner target was not watted');
262
- }
263
-
264
- ['@test it should allow a target to be specified']() {
265
- let targetWatted = false;
266
-
267
- let TargetComponent = Component.extend({
268
- actions: {
269
- wat() {
270
- targetWatted = true;
271
- },
272
- },
273
- });
274
-
275
- let OtherComponent = Component.extend({});
276
-
277
- this.registerComponent('target-component', {
278
- ComponentClass: TargetComponent,
279
- template: '{{yield this}}',
280
- });
281
-
282
- this.registerComponent('other-component', {
283
- ComponentClass: OtherComponent,
284
- template: '<a {{action "wat" target=anotherTarget}}>Wat?</a>',
285
- });
286
-
287
- this.render(strip`
288
- {{#target-component as |parent|}}
289
- {{other-component anotherTarget=parent}}
290
- {{/target-component}}
291
- `);
292
-
293
- this.runTask(() => {
294
- this.$('a').click();
295
- });
296
-
297
- this.assert.equal(targetWatted, true, 'the specified target was watted');
298
- }
299
-
300
- ['@test it should lazily evaluate the target']() {
301
- let firstEdit = 0;
302
- let secondEdit = 0;
303
- let component;
304
-
305
- let first = {
306
- edit() {
307
- firstEdit++;
308
- },
309
- };
310
-
311
- let second = {
312
- edit() {
313
- secondEdit++;
314
- },
315
- };
316
-
317
- let ExampleComponent = Component.extend({
318
- init() {
319
- this._super(...arguments);
320
- component = this;
321
- },
322
- theTarget: first,
323
- });
324
-
325
- this.registerComponent('example-component', {
326
- ComponentClass: ExampleComponent,
327
- template: '<a {{action "edit" target=theTarget}}>Edit</a>',
328
- });
329
-
330
- this.render('{{example-component}}');
331
-
332
- this.runTask(() => {
333
- this.$('a').click();
334
- });
335
-
336
- this.assert.equal(firstEdit, 1);
337
-
338
- this.runTask(() => {
339
- set(component, 'theTarget', second);
340
- });
341
-
342
- this.runTask(() => {
343
- this.$('a').click();
344
- });
345
-
346
- this.assert.equal(firstEdit, 1);
347
- this.assert.equal(secondEdit, 1);
348
- }
349
-
350
- ['@test it should register an event handler']() {
351
- let editHandlerWasCalled = false;
352
- let shortcutHandlerWasCalled = false;
353
-
354
- let ExampleComponent = Component.extend({
355
- actions: {
356
- edit() {
357
- editHandlerWasCalled = true;
358
- },
359
- shortcut() {
360
- shortcutHandlerWasCalled = true;
361
- },
362
- },
363
- });
364
-
365
- this.registerComponent('example-component', {
366
- ComponentClass: ExampleComponent,
367
- template:
368
- '<a href="#" {{action "edit" allowedKeys="alt"}}>click me</a> <div {{action "shortcut" allowedKeys="any"}}>click me too</div>',
369
- });
370
-
371
- this.render('{{example-component}}');
372
-
373
- this.runTask(() => {
374
- this.$('a[data-ember-action]').trigger('click', { altKey: true });
375
- });
376
-
377
- this.assert.equal(editHandlerWasCalled, true, 'the event handler was called');
378
-
379
- this.runTask(() => {
380
- this.$('div[data-ember-action]').trigger('click', { ctrlKey: true });
381
- });
382
-
383
- this.assert.equal(
384
- shortcutHandlerWasCalled,
385
- true,
386
- 'the "any" shortcut\'s event handler was called'
387
- );
388
- }
389
-
390
- ['@test it handles whitelisted bound modifier keys']() {
391
- let editHandlerWasCalled = false;
392
- let shortcutHandlerWasCalled = false;
393
-
394
- let ExampleComponent = Component.extend({
395
- altKey: 'alt',
396
- anyKey: 'any',
397
- actions: {
398
- edit() {
399
- editHandlerWasCalled = true;
400
- },
401
- shortcut() {
402
- shortcutHandlerWasCalled = true;
403
- },
404
- },
405
- });
406
-
407
- this.registerComponent('example-component', {
408
- ComponentClass: ExampleComponent,
409
- template:
410
- '<a href="#" {{action "edit" allowedKeys=altKey}}>click me</a> <div {{action "shortcut" allowedKeys=anyKey}}>click me too</div>',
411
- });
412
-
413
- this.render('{{example-component}}');
414
-
415
- this.runTask(() => {
416
- this.$('a[data-ember-action]').trigger('click', { altKey: true });
417
- });
418
-
419
- this.assert.equal(editHandlerWasCalled, true, 'the event handler was called');
420
-
421
- this.runTask(() => {
422
- this.$('div[data-ember-action]').trigger('click', { ctrlKey: true });
423
- });
424
-
425
- this.assert.equal(
426
- shortcutHandlerWasCalled,
427
- true,
428
- 'the "any" shortcut\'s event handler was called'
429
- );
430
- }
431
-
432
- ['@test it handles whitelisted bound modifier keys with current value']() {
433
- let editHandlerWasCalled = false;
434
- let component;
435
-
436
- let ExampleComponent = Component.extend({
437
- init() {
438
- this._super(...arguments);
439
- component = this;
440
- },
441
- acceptedKeys: 'alt',
442
- actions: {
443
- edit() {
444
- editHandlerWasCalled = true;
445
- },
446
- },
447
- });
448
-
449
- this.registerComponent('example-component', {
450
- ComponentClass: ExampleComponent,
451
- template: '<a href="#" {{action "edit" allowedKeys=acceptedKeys}}>click me</a>',
452
- });
453
-
454
- this.render('{{example-component}}');
455
-
456
- this.runTask(() => {
457
- this.$('a[data-ember-action]').trigger('click', { altKey: true });
458
- });
459
-
460
- this.assert.equal(editHandlerWasCalled, true, 'the event handler was called');
461
-
462
- editHandlerWasCalled = false;
463
-
464
- this.runTask(() => {
465
- component.set('acceptedKeys', '');
466
- });
467
-
468
- this.runTask(() => {
469
- this.$('div[data-ember-action]').click();
470
- });
471
-
472
- this.assert.equal(editHandlerWasCalled, false, 'the event handler was not called');
473
- }
474
-
475
- ['@test should be able to use action more than once for the same event within a view']() {
476
- let editHandlerWasCalled = false;
477
- let deleteHandlerWasCalled = false;
478
- let originalHandlerWasCalled = false;
479
- let component;
480
-
481
- let ExampleComponent = Component.extend({
482
- init() {
483
- this._super(...arguments);
484
- component = this;
485
- },
486
- actions: {
487
- edit() {
488
- editHandlerWasCalled = true;
489
- },
490
- delete() {
491
- deleteHandlerWasCalled = true;
492
- },
493
- },
494
- click() {
495
- originalHandlerWasCalled = true;
496
- },
497
- });
498
-
499
- this.registerComponent('example-component', {
500
- ComponentClass: ExampleComponent,
501
- template:
502
- '<a id="edit" href="#" {{action "edit"}}>edit</a><a id="delete" href="#" {{action "delete"}}>delete</a>',
503
- });
504
-
505
- this.render('{{example-component}}');
506
-
507
- this.runTask(() => {
508
- this.$('#edit').click();
509
- });
510
-
511
- this.assert.equal(editHandlerWasCalled, true, 'the edit action was called');
512
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
513
- this.assert.equal(
514
- originalHandlerWasCalled,
515
- true,
516
- 'the click handler was called (due to bubbling)'
517
- );
518
-
519
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
520
-
521
- this.runTask(() => {
522
- this.$('#delete').click();
523
- });
524
-
525
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
526
- this.assert.equal(deleteHandlerWasCalled, true, 'the delete action was called');
527
- this.assert.equal(
528
- originalHandlerWasCalled,
529
- true,
530
- 'the click handler was called (due to bubbling)'
531
- );
532
-
533
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
534
-
535
- this.runTask(() => {
536
- this.wrap(component.element).click();
537
- });
538
-
539
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
540
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
541
- this.assert.equal(originalHandlerWasCalled, true, 'the click handler was called');
542
- }
543
-
544
- ['@test the event should not bubble if `bubbles=false` is passed']() {
545
- let editHandlerWasCalled = false;
546
- let deleteHandlerWasCalled = false;
547
- let originalHandlerWasCalled = false;
548
- let component;
549
-
550
- let ExampleComponent = Component.extend({
551
- init() {
552
- this._super(...arguments);
553
- component = this;
554
- },
555
- actions: {
556
- edit() {
557
- editHandlerWasCalled = true;
558
- },
559
- delete() {
560
- deleteHandlerWasCalled = true;
561
- },
562
- },
563
- click() {
564
- originalHandlerWasCalled = true;
565
- },
566
- });
567
-
568
- this.registerComponent('example-component', {
569
- ComponentClass: ExampleComponent,
570
- template:
571
- '<a id="edit" href="#" {{action "edit" bubbles=false}}>edit</a><a id="delete" href="#" {{action "delete" bubbles=false}}>delete</a>',
572
- });
573
-
574
- this.render('{{example-component}}');
575
-
576
- this.runTask(() => {
577
- this.$('#edit').click();
578
- });
579
-
580
- this.assert.equal(editHandlerWasCalled, true, 'the edit action was called');
581
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
582
- this.assert.equal(originalHandlerWasCalled, false, 'the click handler was not called');
583
-
584
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
585
-
586
- this.runTask(() => {
587
- this.$('#delete').click();
588
- });
589
-
590
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
591
- this.assert.equal(deleteHandlerWasCalled, true, 'the delete action was called');
592
- this.assert.equal(originalHandlerWasCalled, false, 'the click handler was not called');
593
-
594
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
595
-
596
- this.runTask(() => {
597
- this.wrap(component.element).click();
598
- });
599
-
600
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
601
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
602
- this.assert.equal(originalHandlerWasCalled, true, 'the click handler was called');
603
- }
604
-
605
- ['@test the event should not bubble if `bubbles=false` is passed bound']() {
606
- let editHandlerWasCalled = false;
607
- let deleteHandlerWasCalled = false;
608
- let originalHandlerWasCalled = false;
609
- let component;
610
-
611
- let ExampleComponent = Component.extend({
612
- init() {
613
- this._super(...arguments);
614
- component = this;
615
- },
616
- isFalse: false,
617
- actions: {
618
- edit() {
619
- editHandlerWasCalled = true;
620
- },
621
- delete() {
622
- deleteHandlerWasCalled = true;
623
- },
624
- },
625
- click() {
626
- originalHandlerWasCalled = true;
627
- },
628
- });
629
-
630
- this.registerComponent('example-component', {
631
- ComponentClass: ExampleComponent,
632
- template:
633
- '<a id="edit" href="#" {{action "edit" bubbles=isFalse}}>edit</a><a id="delete" href="#" {{action "delete" bubbles=isFalse}}>delete</a>',
634
- });
635
-
636
- this.render('{{example-component}}');
637
-
638
- this.runTask(() => {
639
- this.$('#edit').click();
640
- });
641
-
642
- this.assert.equal(editHandlerWasCalled, true, 'the edit action was called');
643
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
644
- this.assert.equal(originalHandlerWasCalled, false, 'the click handler was not called');
645
-
646
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
647
-
648
- this.runTask(() => {
649
- this.$('#delete').click();
650
- });
651
-
652
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
653
- this.assert.equal(deleteHandlerWasCalled, true, 'the delete action was called');
654
- this.assert.equal(originalHandlerWasCalled, false, 'the click handler was not called');
655
-
656
- editHandlerWasCalled = deleteHandlerWasCalled = originalHandlerWasCalled = false;
657
-
658
- this.runTask(() => {
659
- this.wrap(component.element).click();
660
- });
661
-
662
- this.assert.equal(editHandlerWasCalled, false, 'the edit action was not called');
663
- this.assert.equal(deleteHandlerWasCalled, false, 'the delete action was not called');
664
- this.assert.equal(originalHandlerWasCalled, true, 'the click handler was called');
665
- }
666
-
667
- ['@test the bubbling depends on the bound parameter']() {
668
- let editHandlerWasCalled = false;
669
- let originalHandlerWasCalled = false;
670
- let component;
671
-
672
- let ExampleComponent = Component.extend({
673
- init() {
674
- this._super(...arguments);
675
- component = this;
676
- },
677
- shouldBubble: false,
678
- actions: {
679
- edit() {
680
- editHandlerWasCalled = true;
681
- },
682
- },
683
- click() {
684
- originalHandlerWasCalled = true;
685
- },
686
- });
687
-
688
- this.registerComponent('example-component', {
689
- ComponentClass: ExampleComponent,
690
- template: '<a id="edit" href="#" {{action "edit" bubbles=shouldBubble}}>edit</a>',
691
- });
692
-
693
- this.render('{{example-component}}');
694
-
695
- this.runTask(() => {
696
- this.$('#edit').click();
697
- });
698
-
699
- this.assert.equal(editHandlerWasCalled, true, 'the edit action was called');
700
- this.assert.equal(originalHandlerWasCalled, false, 'the click handler was not called');
701
-
702
- editHandlerWasCalled = originalHandlerWasCalled = false;
703
-
704
- this.runTask(() => {
705
- component.set('shouldBubble', true);
706
- });
707
-
708
- this.runTask(() => {
709
- this.$('#edit').click();
710
- });
711
-
712
- this.assert.equal(editHandlerWasCalled, true, 'the edit action was called');
713
- this.assert.equal(originalHandlerWasCalled, true, 'the click handler was called');
714
- }
715
-
716
- ['@test it should work properly in an #each block']() {
717
- let editHandlerWasCalled = false;
718
-
719
- let ExampleComponent = Component.extend({
720
- items: emberA([1, 2, 3, 4]),
721
- actions: {
722
- edit() {
723
- editHandlerWasCalled = true;
724
- },
725
- },
726
- });
727
-
728
- this.registerComponent('example-component', {
729
- ComponentClass: ExampleComponent,
730
- template: '{{#each items as |item|}}<a href="#" {{action "edit"}}>click me</a>{{/each}}',
731
- });
732
-
733
- this.render('{{example-component}}');
734
-
735
- this.runTask(() => {
736
- this.$('a').click();
737
- });
738
-
739
- this.assert.equal(editHandlerWasCalled, true, 'the event handler was called');
740
- }
741
-
742
- ['@test it should work properly in a {{#with foo as |bar|}} block']() {
743
- let editHandlerWasCalled = false;
744
-
745
- let ExampleComponent = Component.extend({
746
- something: { ohai: 'there' },
747
- actions: {
748
- edit() {
749
- editHandlerWasCalled = true;
750
- },
751
- },
752
- });
753
-
754
- this.registerComponent('example-component', {
755
- ComponentClass: ExampleComponent,
756
- template:
757
- '{{#with something as |somethingElse|}}<a href="#" {{action "edit"}}>click me</a>{{/with}}',
758
- });
759
-
760
- this.render('{{example-component}}');
761
-
762
- this.runTask(() => {
763
- this.$('a').click();
764
- });
765
-
766
- this.assert.equal(editHandlerWasCalled, true, 'the event handler was called');
767
- }
768
-
769
- ['@test it should unregister event handlers when an element action is removed'](assert) {
770
- let ExampleComponent = Component.extend({
771
- actions: {
772
- edit() {},
773
- },
774
- });
775
-
776
- this.registerComponent('example-component', {
777
- ComponentClass: ExampleComponent,
778
- template: '{{#if isActive}}<a href="#" {{action "edit"}}>click me</a>{{/if}}',
779
- });
780
-
781
- this.render('{{example-component isActive=isActive}}', {
782
- isActive: true,
783
- });
784
-
785
- assert.equal(this.$('a[data-ember-action]').length, 1, 'The element is rendered');
786
-
787
- let actionId;
788
-
789
- actionId = getActionIds(this.$('a[data-ember-action]')[0])[0];
790
-
791
- assert.ok(ActionManager.registeredActions[actionId], 'An action is registered');
792
-
793
- this.runTask(() => this.rerender());
794
-
795
- assert.equal(this.$('a[data-ember-action]').length, 1, 'The element is still present');
796
-
797
- assert.ok(ActionManager.registeredActions[actionId], 'The action is still registered');
798
-
799
- this.runTask(() => set(this.context, 'isActive', false));
800
-
801
- assert.strictEqual(this.$('a[data-ember-action]').length, 0, 'The element is removed');
802
-
803
- assert.ok(!ActionManager.registeredActions[actionId], 'The action is unregistered');
804
-
805
- this.runTask(() => set(this.context, 'isActive', true));
806
-
807
- assert.equal(this.$('a[data-ember-action]').length, 1, 'The element is rendered');
808
-
809
- actionId = getActionIds(this.$('a[data-ember-action]')[0])[0];
810
-
811
- assert.ok(ActionManager.registeredActions[actionId], 'A new action is registered');
812
- }
813
-
814
- ['@test it should capture events from child elements and allow them to trigger the action']() {
815
- let editHandlerWasCalled = false;
816
-
817
- let ExampleComponent = Component.extend({
818
- actions: {
819
- edit() {
820
- editHandlerWasCalled = true;
821
- },
822
- },
823
- });
824
-
825
- this.registerComponent('example-component', {
826
- ComponentClass: ExampleComponent,
827
- template: '<div {{action "edit"}}><button>click me</button></div>',
828
- });
829
-
830
- this.render('{{example-component}}');
831
-
832
- this.runTask(() => {
833
- this.$('button').click();
834
- });
835
-
836
- this.assert.ok(
837
- editHandlerWasCalled,
838
- 'event on a child target triggered the action of its parent'
839
- );
840
- }
841
-
842
- ['@test it should allow bubbling of events from action helper to original parent event']() {
843
- let editHandlerWasCalled = false;
844
- let originalHandlerWasCalled = false;
845
-
846
- let ExampleComponent = Component.extend({
847
- actions: {
848
- edit() {
849
- editHandlerWasCalled = true;
850
- },
851
- },
852
- click() {
853
- originalHandlerWasCalled = true;
854
- },
855
- });
856
-
857
- this.registerComponent('example-component', {
858
- ComponentClass: ExampleComponent,
859
- template: '<a href="#" {{action "edit"}}>click me</a>',
860
- });
861
-
862
- this.render('{{example-component}}');
863
-
864
- this.runTask(() => {
865
- this.$('a').click();
866
- });
867
-
868
- this.assert.ok(
869
- editHandlerWasCalled && originalHandlerWasCalled,
870
- 'both event handlers were called'
871
- );
872
- }
873
-
874
- ['@test it should not bubble an event from action helper to original parent event if `bubbles=false` is passed']() {
875
- let editHandlerWasCalled = false;
876
- let originalHandlerWasCalled = false;
877
-
878
- let ExampleComponent = Component.extend({
879
- actions: {
880
- edit() {
881
- editHandlerWasCalled = true;
882
- },
883
- },
884
- click() {
885
- originalHandlerWasCalled = true;
886
- },
887
- });
888
-
889
- this.registerComponent('example-component', {
890
- ComponentClass: ExampleComponent,
891
- template: '<a href="#" {{action "edit" bubbles=false}}>click me</a>',
892
- });
893
-
894
- this.render('{{example-component}}');
895
-
896
- this.runTask(() => {
897
- this.$('a').click();
898
- });
899
-
900
- this.assert.ok(editHandlerWasCalled, 'the child event handler was called');
901
- this.assert.notOk(originalHandlerWasCalled, 'the parent handler was not called');
902
- }
903
-
904
- ['@test it should allow "send" as the action name (#594)']() {
905
- let sendHandlerWasCalled = false;
906
-
907
- let ExampleComponent = Component.extend({
908
- actions: {
909
- send() {
910
- sendHandlerWasCalled = true;
911
- },
912
- },
913
- });
914
-
915
- this.registerComponent('example-component', {
916
- ComponentClass: ExampleComponent,
917
- template: '<a href="#" {{action "send"}}>click me</a>',
918
- });
919
-
920
- this.render('{{example-component}}');
921
-
922
- this.runTask(() => {
923
- this.$('a').click();
924
- });
925
-
926
- this.assert.ok(sendHandlerWasCalled, 'the event handler was called');
927
- }
928
-
929
- ['@test it should send the view, event, and current context to the action']() {
930
- let passedTarget;
931
- let passedContext;
932
- let targetThis;
933
-
934
- let TargetComponent = Component.extend({
935
- init() {
936
- this._super(...arguments);
937
- targetThis = this;
938
- },
939
- actions: {
940
- edit(context) {
941
- passedTarget = this === targetThis;
942
- passedContext = context;
943
- },
944
- },
945
- });
946
-
947
- let aContext;
948
-
949
- let ExampleComponent = Component.extend({
950
- init() {
951
- this._super(...arguments);
952
- aContext = this;
953
- },
954
- });
955
-
956
- this.registerComponent('target-component', {
957
- ComponentClass: TargetComponent,
958
- template: '{{yield this}}',
959
- });
960
-
961
- this.registerComponent('example-component', {
962
- ComponentClass: ExampleComponent,
963
- template: strip`
964
- {{#target-component as |aTarget|}}
965
- <a id="edit" href="#" {{action "edit" this target=aTarget}}>click me</a>
966
- {{/target-component}}
967
- `,
968
- });
969
-
970
- this.render('{{example-component}}');
971
-
972
- this.runTask(() => {
973
- this.$('#edit').click();
974
- });
975
-
976
- this.assert.ok(passedTarget, 'the action is called with the target as this');
977
- this.assert.strictEqual(passedContext, aContext, 'the parameter is passed along');
978
- }
979
-
980
- ['@test it should only trigger actions for the event they were registered on']() {
981
- let editHandlerWasCalled = false;
982
-
983
- let ExampleComponent = Component.extend({
984
- actions: {
985
- edit() {
986
- editHandlerWasCalled = true;
987
- },
988
- },
989
- });
990
-
991
- this.registerComponent('example-component', {
992
- ComponentClass: ExampleComponent,
993
- template: '<a href="#" {{action "edit"}}>click me</a>',
994
- });
995
-
996
- this.render('{{example-component}}');
997
-
998
- this.runTask(() => {
999
- this.$('a').click();
1000
- });
1001
-
1002
- this.assert.ok(editHandlerWasCalled, 'the event handler was called on click');
1003
-
1004
- editHandlerWasCalled = false;
1005
-
1006
- this.runTask(() => {
1007
- this.$('a').trigger('mouseover');
1008
- });
1009
-
1010
- this.assert.notOk(editHandlerWasCalled, 'the event handler was not called on mouseover');
1011
- }
1012
-
1013
- ['@test it should allow multiple contexts to be specified']() {
1014
- let passedContexts;
1015
- let models = [EmberObject.create(), EmberObject.create()];
1016
-
1017
- let ExampleComponent = Component.extend({
1018
- modelA: models[0],
1019
- modelB: models[1],
1020
- actions: {
1021
- edit(...args) {
1022
- passedContexts = args;
1023
- },
1024
- },
1025
- });
1026
-
1027
- this.registerComponent('example-component', {
1028
- ComponentClass: ExampleComponent,
1029
- template: '<button {{action "edit" modelA modelB}}>click me</button>',
1030
- });
1031
-
1032
- this.render('{{example-component}}');
1033
-
1034
- this.runTask(() => {
1035
- this.$('button').click();
1036
- });
1037
-
1038
- this.assert.deepEqual(
1039
- passedContexts,
1040
- models,
1041
- 'the action was called with the passed contexts'
1042
- );
1043
- }
1044
-
1045
- ['@test it should allow multiple contexts to be specified mixed with string args']() {
1046
- let passedContexts;
1047
- let model = EmberObject.create();
1048
-
1049
- let ExampleComponent = Component.extend({
1050
- model: model,
1051
- actions: {
1052
- edit(...args) {
1053
- passedContexts = args;
1054
- },
1055
- },
1056
- });
1057
-
1058
- this.registerComponent('example-component', {
1059
- ComponentClass: ExampleComponent,
1060
- template: '<button {{action "edit" "herp" model}}>click me</button>',
1061
- });
1062
-
1063
- this.render('{{example-component}}');
1064
-
1065
- this.runTask(() => {
1066
- this.$('button').click();
1067
- });
1068
-
1069
- this.assert.deepEqual(
1070
- passedContexts,
1071
- ['herp', model],
1072
- 'the action was called with the passed contexts'
1073
- );
1074
- }
1075
-
1076
- ['@test it should not trigger action with special clicks']() {
1077
- let showCalled = false;
1078
- let component;
1079
-
1080
- let ExampleComponent = Component.extend({
1081
- init() {
1082
- this._super(...arguments);
1083
- component = this;
1084
- },
1085
- actions: {
1086
- show() {
1087
- showCalled = true;
1088
- },
1089
- },
1090
- });
1091
-
1092
- this.registerComponent('example-component', {
1093
- ComponentClass: ExampleComponent,
1094
- template: '<button {{action "show" href=true}}>Howdy</button>',
1095
- });
1096
-
1097
- this.render('{{example-component}}');
1098
-
1099
- let assert = this.assert;
1100
-
1101
- let checkClick = (prop, value, expected) => {
1102
- showCalled = false;
1103
- let event = this.wrap(component.element)
1104
- .findAll('button')
1105
- .trigger('click', { [prop]: value })[0];
1106
- if (expected) {
1107
- assert.ok(showCalled, `should call action with ${prop}:${value}`);
1108
-
1109
- // IE11 does not allow simulated events to have a valid `defaultPrevented`
1110
- if (!isIE11) {
1111
- assert.ok(event.defaultPrevented, 'should prevent default');
1112
- }
1113
- } else {
1114
- assert.notOk(showCalled, `should not call action with ${prop}:${value}`);
1115
- assert.notOk(event.defaultPrevented, 'should not prevent default');
1116
- }
1117
- };
1118
-
1119
- checkClick('ctrlKey', true, false);
1120
- checkClick('altKey', true, false);
1121
- checkClick('metaKey', true, false);
1122
- checkClick('shiftKey', true, false);
1123
-
1124
- checkClick('button', 0, true);
1125
- checkClick('button', 1, false);
1126
- checkClick('button', 2, false);
1127
- checkClick('button', 3, false);
1128
- checkClick('button', 4, false);
1129
- }
1130
-
1131
- ['@test it can trigger actions for keyboard events']() {
1132
- let showCalled = false;
1133
-
1134
- let ExampleComponent = Component.extend({
1135
- actions: {
1136
- show() {
1137
- showCalled = true;
1138
- },
1139
- },
1140
- });
1141
-
1142
- this.registerComponent('example-component', {
1143
- ComponentClass: ExampleComponent,
1144
- template: '<input type="text" {{action "show" on="keyUp"}}>',
1145
- });
1146
-
1147
- this.render('{{example-component}}');
1148
-
1149
- this.runTask(() => {
1150
- this.$('input').trigger('keyup', { char: 'a', which: 65 });
1151
- });
1152
-
1153
- this.assert.ok(showCalled, 'the action was called with keyup');
1154
- }
1155
-
1156
- ['@test a quoteless parameter should allow dynamic lookup of the actionName']() {
1157
- let lastAction;
1158
- let actionOrder = [];
1159
- let component;
1160
-
1161
- let ExampleComponent = Component.extend({
1162
- init() {
1163
- this._super(...arguments);
1164
- component = this;
1165
- },
1166
- hookMeUp: 'rock',
1167
- actions: {
1168
- rock() {
1169
- lastAction = 'rock';
1170
- actionOrder.push('rock');
1171
- },
1172
- paper() {
1173
- lastAction = 'paper';
1174
- actionOrder.push('paper');
1175
- },
1176
- scissors() {
1177
- lastAction = 'scissors';
1178
- actionOrder.push('scissors');
1179
- },
1180
- },
1181
- });
1182
-
1183
- this.registerComponent('example-component', {
1184
- ComponentClass: ExampleComponent,
1185
- template: '<a id="bound-param" {{action hookMeUp}}>Whistle tips go woop woooop</a>',
1186
- });
1187
-
1188
- this.render('{{example-component}}');
1189
-
1190
- let test = this;
1191
-
1192
- let testBoundAction = propertyValue => {
1193
- test.runTask(() => {
1194
- component.set('hookMeUp', propertyValue);
1195
- });
1196
-
1197
- test.runTask(() => {
1198
- this.wrap(component.element)
1199
- .findAll('#bound-param')
1200
- .click();
1201
- });
1202
-
1203
- test.assert.ok(lastAction, propertyValue, `lastAction set to ${propertyValue}`);
1204
- };
1205
-
1206
- testBoundAction('rock');
1207
- testBoundAction('paper');
1208
- testBoundAction('scissors');
1209
-
1210
- this.assert.deepEqual(
1211
- actionOrder,
1212
- ['rock', 'paper', 'scissors'],
1213
- 'action name was looked up properly'
1214
- );
1215
- }
1216
-
1217
- ['@test a quoteless string parameter should resolve actionName, including path']() {
1218
- let lastAction;
1219
- let actionOrder = [];
1220
- let component;
1221
-
1222
- let ExampleComponent = Component.extend({
1223
- init() {
1224
- this._super(...arguments);
1225
- component = this;
1226
- },
1227
- allactions: emberA([
1228
- { title: 'Rock', name: 'rock' },
1229
- { title: 'Paper', name: 'paper' },
1230
- { title: 'Scissors', name: 'scissors' },
1231
- ]),
1232
- actions: {
1233
- rock() {
1234
- lastAction = 'rock';
1235
- actionOrder.push('rock');
1236
- },
1237
- paper() {
1238
- lastAction = 'paper';
1239
- actionOrder.push('paper');
1240
- },
1241
- scissors() {
1242
- lastAction = 'scissors';
1243
- actionOrder.push('scissors');
1244
- },
1245
- },
1246
- });
1247
-
1248
- this.registerComponent('example-component', {
1249
- ComponentClass: ExampleComponent,
1250
- template:
1251
- '{{#each allactions as |allaction|}}<a id="{{allaction.name}}" {{action allaction.name}}>{{allaction.title}}</a>{{/each}}',
1252
- });
1253
-
1254
- this.render('{{example-component}}');
1255
-
1256
- let test = this;
1257
-
1258
- let testBoundAction = propertyValue => {
1259
- test.runTask(() => {
1260
- this.wrap(component.element)
1261
- .findAll(`#${propertyValue}`)
1262
- .click();
1263
- });
1264
-
1265
- test.assert.ok(lastAction, propertyValue, `lastAction set to ${propertyValue}`);
1266
- };
1267
-
1268
- testBoundAction('rock');
1269
- testBoundAction('paper');
1270
- testBoundAction('scissors');
1271
-
1272
- this.assert.deepEqual(
1273
- actionOrder,
1274
- ['rock', 'paper', 'scissors'],
1275
- 'action name was looked up properly'
1276
- );
1277
- }
1278
-
1279
- ['@test a quoteless function parameter should be called, including arguments']() {
1280
- let submitCalled = false;
1281
- let incomingArg;
1282
-
1283
- let arg = 'rough ray';
1284
-
1285
- let ExampleComponent = Component.extend({
1286
- submit(actualArg) {
1287
- incomingArg = actualArg;
1288
- submitCalled = true;
1289
- },
1290
- });
1291
-
1292
- this.registerComponent('example-component', {
1293
- ComponentClass: ExampleComponent,
1294
- template: `<a {{action submit '${arg}'}}>Hi</a>`,
1295
- });
1296
-
1297
- this.render('{{example-component}}');
1298
-
1299
- this.runTask(() => {
1300
- this.$('a').click();
1301
- });
1302
-
1303
- this.assert.ok(submitCalled, 'submit function called');
1304
- this.assert.equal(incomingArg, arg, 'argument passed');
1305
- }
1306
-
1307
- ['@test a quoteless parameter that does not resolve to a value asserts']() {
1308
- let ExampleComponent = Component.extend({
1309
- actions: {
1310
- ohNoeNotValid() {},
1311
- },
1312
- });
1313
-
1314
- this.registerComponent('example-component', {
1315
- ComponentClass: ExampleComponent,
1316
- template: '<a id="oops-bound-param" {{action ohNoeNotValid}}>Hi</a>',
1317
- });
1318
-
1319
- expectAssertion(() => {
1320
- this.render('{{example-component}}');
1321
- }, 'You specified a quoteless path, `ohNoeNotValid`, to the {{action}} helper ' + 'which did not resolve to an action name (a string). ' + 'Perhaps you meant to use a quoted actionName? (e.g. {{action "ohNoeNotValid"}}).');
1322
- }
1323
-
1324
- ['@test allows multiple actions on a single element']() {
1325
- let clickActionWasCalled = false;
1326
- let doubleClickActionWasCalled = false;
1327
-
1328
- let ExampleComponent = Component.extend({
1329
- actions: {
1330
- clicked() {
1331
- clickActionWasCalled = true;
1332
- },
1333
- doubleClicked() {
1334
- doubleClickActionWasCalled = true;
1335
- },
1336
- },
1337
- });
1338
-
1339
- this.registerComponent('example-component', {
1340
- ComponentClass: ExampleComponent,
1341
- template: strip`
1342
- <a href="#"
1343
- {{action "clicked" on="click"}}
1344
- {{action "doubleClicked" on="doubleClick"}}
1345
- >click me</a>`,
1346
- });
1347
-
1348
- this.render('{{example-component}}');
1349
-
1350
- this.runTask(() => {
1351
- this.$('a').trigger('click');
1352
- });
1353
-
1354
- this.assert.ok(clickActionWasCalled, 'the clicked action was called');
1355
-
1356
- this.runTask(() => {
1357
- this.$('a').trigger('dblclick');
1358
- });
1359
-
1360
- this.assert.ok(doubleClickActionWasCalled, 'the doubleClicked action was called');
1361
- }
1362
-
1363
- ['@test it should respect preventDefault option if provided']() {
1364
- let ExampleComponent = Component.extend({
1365
- actions: {
1366
- show() {},
1367
- },
1368
- });
1369
-
1370
- this.registerComponent('example-component', {
1371
- ComponentClass: ExampleComponent,
1372
- template: '<a {{action "show" preventDefault=false}}>Hi</a>',
1373
- });
1374
-
1375
- this.render('{{example-component}}');
1376
-
1377
- let event;
1378
-
1379
- this.runTask(() => {
1380
- event = this.$('a').click()[0];
1381
- });
1382
-
1383
- this.assert.equal(event.defaultPrevented, false, 'should not preventDefault');
1384
- }
1385
-
1386
- ['@test it should respect preventDefault option if provided bound']() {
1387
- let component;
1388
-
1389
- let ExampleComponent = Component.extend({
1390
- shouldPreventDefault: false,
1391
- init() {
1392
- this._super(...arguments);
1393
- component = this;
1394
- },
1395
- actions: {
1396
- show() {},
1397
- },
1398
- });
1399
-
1400
- this.registerComponent('example-component', {
1401
- ComponentClass: ExampleComponent,
1402
- template: '<a {{action "show" preventDefault=shouldPreventDefault}}>Hi</a>',
1403
- });
1404
-
1405
- this.render('{{example-component}}');
1406
-
1407
- let event;
1408
-
1409
- this.runTask(() => {
1410
- event = this.$('a').trigger(event)[0];
1411
- });
1412
-
1413
- this.assert.equal(event.defaultPrevented, false, 'should not preventDefault');
1414
-
1415
- this.runTask(() => {
1416
- component.set('shouldPreventDefault', true);
1417
- event = this.$('a').trigger('click')[0];
1418
- });
1419
-
1420
- // IE11 does not allow simulated events to have a valid `defaultPrevented`
1421
- if (!isIE11) {
1422
- this.assert.equal(event.defaultPrevented, true, 'should preventDefault');
1423
- }
1424
- }
1425
-
1426
- ['@test it should target the proper component when `action` is in yielded block [GH #12409]']() {
1427
- let outerActionCalled = false;
1428
- let innerClickCalled = false;
1429
-
1430
- let OuterComponent = Component.extend({
1431
- actions: {
1432
- hey() {
1433
- outerActionCalled = true;
1434
- },
1435
- },
1436
- });
1437
-
1438
- let MiddleComponent = Component.extend({});
1439
-
1440
- let InnerComponent = Component.extend({
1441
- click() {
1442
- innerClickCalled = true;
1443
- expectDeprecation(() => {
1444
- this.sendAction();
1445
- }, /You called (.*).sendAction\((.*)\) but Component#sendAction is deprecated. Please use closure actions instead./);
1446
- },
1447
- });
1448
-
1449
- this.registerComponent('outer-component', {
1450
- ComponentClass: OuterComponent,
1451
- template: strip`
1452
- {{#middle-component}}
1453
- {{inner-component action="hey"}}
1454
- {{/middle-component}}
1455
- `,
1456
- });
1457
-
1458
- this.registerComponent('middle-component', {
1459
- ComponentClass: MiddleComponent,
1460
- template: '{{yield}}',
1461
- });
1462
-
1463
- this.registerComponent('inner-component', {
1464
- ComponentClass: InnerComponent,
1465
- template: strip`
1466
- <button>Click Me</button>
1467
- {{yield}}
1468
- `,
1469
- });
1470
-
1471
- this.render('{{outer-component}}');
1472
-
1473
- this.runTask(() => {
1474
- this.$('button').click();
1475
- });
1476
-
1477
- this.assert.ok(outerActionCalled, 'the action fired on the proper target');
1478
- this.assert.ok(innerClickCalled, 'the click was triggered');
1479
- }
1480
-
1481
- ['@test element action with (mut undefinedThing) works properly']() {
1482
- let component;
1483
-
1484
- let ExampleComponent = Component.extend({
1485
- label: undefined,
1486
- init() {
1487
- this._super(...arguments);
1488
- component = this;
1489
- },
1490
- });
1491
-
1492
- this.registerComponent('example-component', {
1493
- ComponentClass: ExampleComponent,
1494
- template:
1495
- '<button {{action (mut label) "Clicked!"}}>{{if label label "Click me"}}</button>',
1496
- });
1497
-
1498
- this.render('{{example-component}}');
1499
-
1500
- this.assertText('Click me');
1501
-
1502
- this.assertStableRerender();
1503
-
1504
- this.runTask(() => {
1505
- this.$('button').click();
1506
- });
1507
-
1508
- this.assertText('Clicked!');
1509
-
1510
- this.runTask(() => {
1511
- component.set('label', 'Dun clicked');
1512
- });
1513
-
1514
- this.assertText('Dun clicked');
1515
-
1516
- this.runTask(() => {
1517
- this.$('button').click();
1518
- });
1519
-
1520
- this.assertText('Clicked!');
1521
-
1522
- this.runTask(() => {
1523
- component.set('label', undefined);
1524
- });
1525
-
1526
- this.assertText('Click me');
1527
- }
1528
-
1529
- ['@test it supports non-registered actions [GH#14888]']() {
1530
- this.render(
1531
- `
1532
- {{#if show}}
1533
- <button id='ddButton' {{action (mut show) false}}>
1534
- Show ({{show}})
1535
- </button>
1536
- {{/if}}
1537
- `,
1538
- { show: true }
1539
- );
1540
-
1541
- this.assert.equal(
1542
- this.$('button')
1543
- .text()
1544
- .trim(),
1545
- 'Show (true)'
1546
- );
1547
- // We need to focus in to simulate an actual click.
1548
- this.runTask(() => {
1549
- document.getElementById('ddButton').focus();
1550
- document.getElementById('ddButton').click();
1551
- });
1552
- }
1553
-
1554
- ["@test action handler that shifts element attributes doesn't trigger multiple invocations"]() {
1555
- let actionCount = 0;
1556
- let ExampleComponent = Component.extend({
1557
- selected: false,
1558
- actions: {
1559
- toggleSelected() {
1560
- actionCount++;
1561
- this.toggleProperty('selected');
1562
- },
1563
- },
1564
- });
1565
-
1566
- this.registerComponent('example-component', {
1567
- ComponentClass: ExampleComponent,
1568
- template:
1569
- '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>',
1570
- });
1571
-
1572
- this.render('{{example-component}}');
1573
-
1574
- this.runTask(() => {
1575
- this.$('button').click();
1576
- });
1577
-
1578
- this.assert.equal(actionCount, 1, 'Click action only fired once.');
1579
- this.assert.ok(
1580
- this.$('button').hasClass('selected'),
1581
- "Element with action handler has properly updated it's conditional class"
1582
- );
1583
-
1584
- this.runTask(() => {
1585
- this.$('button').click();
1586
- });
1587
-
1588
- this.assert.equal(actionCount, 2, 'Second click action only fired once.');
1589
- this.assert.ok(
1590
- !this.$('button').hasClass('selected'),
1591
- "Element with action handler has properly updated it's conditional class"
1592
- );
1593
- }
1594
- }
1595
- );