Comments (10)
This is definitely an issue with internal destroyables. One thing to note is, the setupLifelineValidation
helper was intended to ensure that consumers had correctly setup runDisposables
when they were using lifeline. This helped ensure there was continuity between the associated APIs. Now that we use the destroyable functionality, we no longer need to call runDisposables
, and hence no longer really need setupLifelineValidation
.
from ember-lifeline.
@snewcomer - What version of ember-source? Also, just FWIW, the updates done in #852 do mean that all destroyables would assert (not just ember-lifeline
objects).
from ember-lifeline.
Seeing this on two apps at 3.20.4
.
Certainly seems like a really important assertion. Do you think we will have less issues on future 3.22 release? If not, any ideas how I can go about finding the source of these? I tried prying but didn't lead me anywhere.
from ember-lifeline.
Can you provide a repro that I could dig into?
from ember-lifeline.
If this streamlined destroyable API is an internal implementation of this library (destroyables from the user point of view are "just handled" now), do you think this test helper has validity for users? Is it rather something for the library to assert it has wired up the destroyables correctly?
I'll see if I can come up with a repo tonight.
from ember-lifeline.
@snewcomer - The ultimate goal is for @ember/test-helpers or ember-qunit itself to make the assertion, but internally since we migrated to the newer implementation we wanted to be able to avoid duplicating all the code.
FWIW, I am specifically referring to https://github.com/emberjs/rfcs/blob/master/text/0580-destroyables.md#assertdestroyablesdestroyed.
from ember-lifeline.
@rwjblue Here is a repo with two rendering tests - acceptance test passes, integration test fails. Both render the same glimmer component. Note in the apps I work on, there were undestroyables in acceptance tests.
https://github.com/snewcomer/destroyable-lifeline-bug
from ember-lifeline.
Also seeing this is our internal app (3.20.6) after upgrading this addon to the latest version: hundreds of “undestyroyed” objects (mocks in tests, tracking payloads, Ember objects, etc).
from ember-lifeline.
I think we can dust off @snewcomer's repo and work from there.
from ember-lifeline.
I changed the version of Ember in Scott's repro - tests pass, then they fail after 3.20.2
3.18.1 ✅
3.20.0 ✅
3.20.1 ✅
3.20.2 🔴 <<<< Update Glimmer rendering engine to 0.54.2. Fixes an issue with (private for now) destroyables work to enable the destroyables polyfill to work more appropriately.
3.20.6 🔴
3.24.4 🔴
3.27.x 🔴
from ember-lifeline.
Related Issues (20)
- For Ember 4 compatibility, add "for" and "since" attributes to options in all calls to deprecate() HOT 1
- test-support types not found after upgrade to 7.0.0
- Type imports only available in dist/ and src/
- "registeredDisposables.keys is not a function" when two tests in one module
- Ability to convert Ember.Evented usage HOT 5
- IE11 support
- [IE11] support for `{ once: true }` HOT 1
- Issue with @types/ember after upgrade HOT 1
- Loosen type from EmberObject to interface HOT 4
- assert.expect has unexpected behavior HOT 5
- Typescript errors when running in host app HOT 5
- After Ember 3.2 upgrade, didRender() hook in a component with poll is not fired appropriately in qunit tests HOT 8
- PollTask doesn't check if the task is cancelled or not HOT 2
- Assertion in `addEventListener` does not line up with what is advertised in the docs HOT 1
- Watch / polyfill / update ongoing "destructors" RFC HOT 2
- pollTask should have pollTaskEnd and/or pollTaskUntil(n) helpers
- Parameter type error HOT 1
- Run dependabot less frequently HOT 2
- Documentation and code do not agree on runDisposables HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-lifeline.