Comments (9)
You can work around this by defining a viewportListeners: []
property on the component, but that doesn't feel right.
from ember-in-viewport.
Just wanted to report I also ran into the same issue and defining viewportListeners: []
worked.
from ember-in-viewport.
The above solution is OK in my book. Testing the "in viewport" behavior is very difficult / non-trivial and I would avoid doing so in your integration test.
from ember-in-viewport.
@poteto just to clarify, the error occurs when simply rendering a component in an integration test. I personally don't have an issue with just defining viewportListeners
though since, in my case, I was overriding them so it kind of makes sense.
import Ember from 'ember';
import InViewportMixin from 'ember-in-viewport';
export default Ember.Component.extend(InViewportMixin, {
viewportListeners: [],
viewportOptionsOverride: on('didInsertElement', function() {
this.setProperties({
viewportSpy: true,
viewportListeners: [
{ context: window, event: 'scroll.scrollable' },
{ context: window, event: 'resize.resizable' },
{ context: document, event: 'touchmove.scrollable' }
]
});
})
});
from ember-in-viewport.
Yeah, it fails because the initializer isn't invoked in the integration test. I can add a guard to the mixin in case it is undefined
from ember-in-viewport.
Just ran into this issue myself and made a quick PR (#52).
from ember-in-viewport.
Ran into this issue, it was blowing up my mocha tests with undefined is not an object (evaluating 'this.cache.subject')
and Assertion Failed: You cannot use the same root element (#ember-testing) multiple times in an Ember.Application
Not sure how it's related, but making @elidupuis' change fixes it.
from ember-in-viewport.
It looks like it's probably the same error because the first one is trying to access the undefined properties (which are set in init
). The second is simply because your tests weren't tearing down the setup of the previous test properly due to the initial error.
I had similar behavior and had to created a Mixin
inside the application that extended the addon.
from ember-in-viewport.
ahhh @danielleadams I hadn't put enough thought into it. I should know to always look at the first error when there are two, but the 2nd seemed more prevalent so I was stupidly focusing on that one. Thanks! Maybe next time it won't take me 2 hours to figure out :D
To anyone ending up here from the google, I just added viewportListeners: []
to the component that is using the mixin.
from ember-in-viewport.
Related Issues (20)
- Changelog HOT 1
- Failing to load more if items dont fill the screen HOT 1
- Pass more data back to callbacks
- Running Very Slowly HOT 9
- onExit doesn't get fired on IE HOT 3
- TypeError: Cannot read property 'viewportConfig' of undefined HOT 4
- Test failure in Ember 3.20
- Use {{in-viewport}} modifier multiple times on a page only trigger the last one's callback HOT 2
- Lazy load rAf implementation HOT 3
- onEvent(callback) API doesn't work HOT 1
- viewportSpy: false triggering onEnter everytime HOT 5
- Add enter/exit logging if enabled
- Bug in Ember 3.20 HOT 5
- onExit doesn't fire unless viewportSpy is enabled
- How to access didScroll using service method? HOT 1
- Safari/IOS Flicker Bug
- Update to ember-auto-import@2 HOT 2
- assign is deprecated
- Convert to v2 addon HOT 1
- Support % based rootMargin
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-in-viewport.