-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Labels
Description
Below is the pre-flight checklist to launch Glimmer. If you are going to take a test to fix please leave a comment on this thread. Please mention this issue in your PR so we can track more effectively.
Features
-
{{render}} -
sendAction[Glimmer2] Add support for target actions and move related ember-view tests to new harness #13532 🔒 @Joelkang -
{{mut}}and{{readonly}}[Glimmer2] Add mut helper and update readonly helper #13541 🔒 @Joelkang -
{{input}}[Glimmer2] Implement input #13615 🔒 @asakusuma - Closure components 🔒 @zackthehuman
- Local Lookup 🔒 @asakusuma
-
{{each-in}}🔒 @Joelkang [Glimmer2] Add each-in support #13492
Testing
Failing Tests
- attrs property of a component without a template should not collide with internal structures
- Components receive the top-level view as their ownerView
- Using {{link-to}} does not cause an exception if it is rendered without a router.js instance
- The {{link-to}} helper supports 'classNameBindings' with custom values [GH #11699]
- The Special page returning an error invokes SpecialRoute's error handler
- ApplicationRoute's default error handler can be overridden
- Events are triggered on the controller if a matching action name is implemented
- Events are triggered on the current state when defined in
actionsobject - Events defined in
actionsobject are triggered on the current state when routes are nested - Actions are not triggered on the controller if a matching action name is implemented as a method
- actions can be triggered with multiple arguments
- Router accounts for rootURL on page load when using history location
- Custom Route#serialize method still works [DEPRECATED]
- The template is not re-rendered when the route's context changes
- The template is not re-rendered when two routes present the exact same template & controller
- Route should tear down multiple outlets
- Route supports clearing outlet explicitly
- Route supports clearing outlet using string parameter Dies due to
asLayoutnot being a thing - Route silently fails when cleaning an outlet from an inactive view Dies due to
asLayoutnot being a thing - Specifying non-existent controller name in route#render throws Dies due to
asLayoutnot being a thing - Redirecting with null model doesn't error out
- Can disconnect a named outlet at the top level Dies due to
asLayoutnot being a thing - Tolerates stacked renders Dies due to
asLayoutnot being a thing - Allows any route to disconnectOutlet another route's templates Dies due to
asLayoutnot being a thing - Slow promises returned from ApplicationRoute#model enter ApplicationLoadingRoute if present
- Slow promises returned from ApplicationRoute#model enter application_loading if template present
- Rejected promises returned from ApplicationRoute transition into top-level application_error
- Nodes without view instances are instrumented
- the default resolver looks up templates in Ember.TEMPLATES
- Ember Islands-style setup
- template with data-template-name should add a new template to Ember.TEMPLATES David Hamilton
- template with id instead of data-template-name should add a new template to Ember.TEMPLATES
- template without data-template-name or id should default to application
-
triggerEventwith mouseenter triggers native events with simulated X/Y coordinates - helpers can be chained with then
Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - Actions inside an outlet go to the associated controller Pending PR [Glimmer2] Add support for target actions and move related ember-view tests to new harness #13532
- helpers can be chained to each other
Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - helpers don't need to be chained
Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - Nested async helpers
Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - Multiple async helpers Potentially fails because [Glimmer2] Implement input #13615 is not merged
- Helpers nested in thens
Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - visiting a URL that causes another transition should yield the correct URL Potentially fails because [Glimmer2] Implement input #13615 is not merged
- visiting a URL and then visiting a second URL with a transition should yield the correct URL Potentially fails because [Glimmer2] Implement input #13615 is not merged
-
clicktriggers appropriate events in order Potentially fails because [Glimmer2] Implement input #13615 is not merged - `triggerEvent accepts an optional options hash without context Potentially fails because [Glimmer2] Implement input #13615 is not merged
- Using {{link-to}} does not cause an exception if it is rendered before the router has started routing
- `triggerEvent can limit searching for a selector to a scope Potentially fails because [Glimmer2] Implement input #13615 is not merged
-
triggerEventcan be used to trigger arbitrary events Potentially fails because [Glimmer2] Implement input #13615 is not merged -
fillIntakes context into considerationPotentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 -
fillInfocuses on the elementPotentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615 - `triggerEvent accepts an optional options hash and context Potentially fails because [Glimmer2] Implement input #13615 is not merged
- includes the current revision in the compiled template HTMLBars compiler is hardcoded fails because meta it not implemented
- the template revision is different than the HTMLBars default revision
- sets
isTopon the provided function HTMLBars compiler is hardcoded fails because meta it not implemented - sets
isMethodon the provided function HTMLBars compiler is hardcoded fails because meta it not implemented - should accept bindings as a string or an Ember.binding
- blacklists href bindings based on protocol 🔒 @zackthehuman
- should be able to modify a provided attr into local state #11571 / #11559 Should be addressed as part of [Glimmer2] Add mut helper and update readonly helper #13541
- getAttr() should return the same value as get() Should be addressed as part of [Glimmer2] Add mut helper and update readonly helper #13541
- Closure components module Should be addressed by @zackthehuman
- lookup of component takes priority over property
- rerendering component with attrs from parent 🔒 @chadhietala [Glimmer2] Add test for glimmer re-renders #13772
- component should rerender when a property is changed during children's rendering
- component helper with actions
- Local Lookup tests
- Inline style tests 🔒 @chadhietala
- a nice error is shown when a bound action function is undefined and it is passed as attrs.foo May need [Glimmer2] Add mut helper and update readonly helper #13541
- mut values can be wrapped in actions, are settable Should be covered in [Glimmer2] Add mut helper and update readonly helper #13541
- mut values can be wrapped in actions, are settable with a curry Should be covered in [Glimmer2] Add mut helper and update readonly helper #13541
- objects that define INVOKE can be casted to actions Should be covered in [Glimmer2] Add mut helper and update readonly helper #13541
- class-based helper is torn down
- class-based helper used in subexpression is destroyed
- it should target the proper component when
actionis in yielded block 🔒 @chadhietala -
{{input}}tests Should be resolved in [Glimmer2] Implement input #13615 - should property escape unsafe hrefs 🔒 @zackthehuman
- input placeholder attribute This is properties vs attributes
- input maxlength attribute This is properties vs attributes
- cursor position is not lost when updating content @mmun may need to look
- Mutable bindings integration tests Should be addressed in [Glimmer2] Add mut helper and update readonly helper #13541
- SVG element tests 🔒 @chadhietala [Glimmer2] Unskip SVG tests #13812
- Syntax test: {{#each-in}}
- {{each}} it can render duplicate primitive items
- {{each}} it can render duplicate objects
- {{each}} it maintains DOM stability for stable keys when list is updated 🔒 @fivetanley [glimmer2] fix #each with key option test #13721
- {{unbound}} it does not update when the unbound helper is used 🔒 @fivetanley [glimmer2] fix unbound helper test #13717
- Attributes are not going through a normalizing append. Failing test can set dynamic style with -html-safe
{{render}} test failures
- Can this.render({into:...}) the render helper
- Can disconnect from the render helper
- Can this.render({into:...}) the render helper's children
- Can disconnect from the render helper's children
- Can this.render({into:...}) nested render helpers
Cruff that can be removed?
- should not affect rendering if rerender is called before initial render happens Seem to be testing view lifecycle
- should not affect rendering if destroyElement is called before initial render happens
- should replace DOM representation if rerender() is called after element is created
- rerender of top level view during rendering should throw
- component should receive the viewRegistry from the parentView [Glimmer2] Components should have access to the view registry #13505
Real world applications
- Ensure ember-twiddle works
- Simple apps work
- Ember inspector
- Get a production app running
- Deploy an app to production to do a sanity check
- Remove the glimmer flag on master
Unspecified Behavior
The following are tests that are failing and will back port if we find out this is a widely used use case, however the semantics here are just wrong.
- get helper value should be updatable using {{input}} and (mut) - dynamic key Should be part of [Glimmer2] Implement input #13615 [Glimmer2] Add support for target actions and move related ember-view tests to new harness #13532
- get helper value should be updatable using {{input}} and (mut) - dynamic nested key Should be part of [Glimmer2] Implement input #13615 [Glimmer2] Add support for target actions and move related ember-view tests to new harness #13532
- get helper value should be updatable using {{input}} and (mut) - static key Should be part of [Glimmer2] Implement input #13615 [Glimmer2] Add support for target actions and move related ember-view tests to new harness #13532
- helper form updates on parent re-render This functionality seems weird
NullVoxPopulijosemarluedke, openhouse and Crabar
