-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Glimmer Pre-flight Checklist #13644
Labels
Comments
Thanks for putting this together @chadhietala |
This was referenced Jun 10, 2016
45 tasks
This was referenced Jun 14, 2016
I'll take a stab at |
@mmun - I updated the description to mark it as 🔒 'ed. |
fivetanley
pushed a commit
to fivetanley/ember.js
that referenced
this issue
Jun 19, 2016
Before, the test rendered the following: ```handlebars <div data-foo="{{if cond1 \"T1\" \"F1\"}}"></div> <div data-foo="{{if cond2 \"T2\" \"F2\"}}"></div> ``` The test was only asserting against the value of the `data-foo` of the first div, causing it fo fail because it was missing the value of the `data-foo` in the second div. This is because the test was using `wrappedTemplateFor`, which is a convenience method which only expects *one* template to be rendered at a time. Instead, we use `wrapperFor` and two `templateFor` calls to instead create only *one* div and assert against it. What's rendered in the test now looks like: ```handlebars <div data-foo="{{if cond1 \"T1\" \"F1\"}}{{if cond2 \"T2\" \"F2\"}}"></div> ``` refs emberjs#13644
fivetanley
pushed a commit
to fivetanley/ember.js
that referenced
this issue
Jun 19, 2016
In Ember, you can remove duplicates in an array by providing the `key` option to the `{{#each}}` helper. For example, if given the following `model` property: ```javascript [ { "id": "1", "name": "Robert Jackson" }, { "id": "1", "name": "Robert Jackson with diff name but same ID" }, { "id": "2", "name": "Katie Gengler" } ] ``` And the following template: ```handlebars {{#each model key="id" as |person| {{person.name}} {{/each}} ``` It would render the following: ```html Robert Jackson Katie Gengler ``` Even though we have two objects with "Robert Jackson" as the name, they share the same "id", so Ember will only render the first object it encounters with that "id" while iterating. That's why "Robert Jackson" shows up but not "Robert Jackson with diff name but same ID". This test was adding in a new object (in our case `{text: ' '}`), but an object with `{text: ' '}` already existed in the setup line. Because it was cached by the same `'text'` value, it did not show up in the subsequent rerender. We change it to a different text value so we can assert it was added correctly in the list. refs emberjs#13644
I'm working on a change in Glimmer to fix the following:
See glimmerjs/glimmer-vm#197 for more info. |
Merged
I'm working on fixing array iteration. PR here: #13763 Related tests:
|
fivetanley
pushed a commit
to fivetanley/ember.js
that referenced
this issue
Jul 17, 2016
chancancode
pushed a commit
that referenced
this issue
Jul 17, 2016
I believe this is taken care of, closing... |
toddjordan
pushed a commit
to toddjordan/ember.js
that referenced
this issue
Sep 9, 2016
Before, the test rendered the following: ```handlebars <div data-foo="{{if cond1 \"T1\" \"F1\"}}"></div> <div data-foo="{{if cond2 \"T2\" \"F2\"}}"></div> ``` The test was only asserting against the value of the `data-foo` of the first div, causing it fo fail because it was missing the value of the `data-foo` in the second div. This is because the test was using `wrappedTemplateFor`, which is a convenience method which only expects *one* template to be rendered at a time. Instead, we use `wrapperFor` and two `templateFor` calls to instead create only *one* div and assert against it. What's rendered in the test now looks like: ```handlebars <div data-foo="{{if cond1 \"T1\" \"F1\"}}{{if cond2 \"T2\" \"F2\"}}"></div> ``` refs emberjs#13644
toddjordan
pushed a commit
to toddjordan/ember.js
that referenced
this issue
Sep 9, 2016
In Ember, you can remove duplicates in an array by providing the `key` option to the `{{#each}}` helper. For example, if given the following `model` property: ```javascript [ { "id": "1", "name": "Robert Jackson" }, { "id": "1", "name": "Robert Jackson with diff name but same ID" }, { "id": "2", "name": "Katie Gengler" } ] ``` And the following template: ```handlebars {{#each model key="id" as |person| {{person.name}} {{/each}} ``` It would render the following: ```html Robert Jackson Katie Gengler ``` Even though we have two objects with "Robert Jackson" as the name, they share the same "id", so Ember will only render the first object it encounters with that "id" while iterating. That's why "Robert Jackson" shows up but not "Robert Jackson with diff name but same ID". This test was adding in a new object (in our case `{text: ' '}`), but an object with `{text: ' '}` already existed in the setup line. Because it was cached by the same `'text'` value, it did not show up in the subsequent rerender. We change it to a different text value so we can assert it was added correctly in the list. refs emberjs#13644
toddjordan
pushed a commit
to toddjordan/ember.js
that referenced
this issue
Sep 9, 2016
toddjordan
pushed a commit
to toddjordan/ember.js
that referenced
this issue
Sep 9, 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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{{each-in}}
🔒 @Joelkang [Glimmer2] Add each-in support #13492Testing
Failing Tests
actions
objectactions
object are triggered on the current state when routes are nestedasLayout
not being a thingasLayout
not being a thingasLayout
not being a thingasLayout
not being a thingasLayout
not being a thingasLayout
not being a thingtriggerEvent
with mouseenter triggers native events with simulated X/Y coordinatesPotentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615Potentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615click
triggers appropriate events in order Potentially fails because [Glimmer2] Implement input #13615 is not mergedtriggerEvent
can be used to trigger arbitrary events Potentially fails because [Glimmer2] Implement input #13615 is not mergedfillIn
takes context into considerationPotentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615fillIn
focuses on the elementPotentially fails because [Glimmer2] Implement input #13615 is not mergedNot fixed by [Glimmer2] Implement input #13615isTop
on the provided function HTMLBars compiler is hardcoded fails because meta it not implementedisMethod
on the provided function HTMLBars compiler is hardcoded fails because meta it not implementedaction
is in yielded block 🔒 @chadhietala{{input}}
tests Should be resolved in [Glimmer2] Implement input #13615{{render}}
test failuresCruff that can be removed?
Real world applications
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.
The text was updated successfully, but these errors were encountered: