Skip to content
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

PhantomJS test error: Attempting to define property on object that is not extensible #195

Closed
steveszc opened this issue May 22, 2017 · 9 comments · Fixed by #217
Closed

Comments

@steveszc
Copy link

Adding ember-modal-dialog 2.1.0 or 2.2.0 to any app running tests in PhantomJS causes the following error when a modal-dialog component is rendered in a component. This causes any integration test for a component using a modal-dialog to fail.

TypeError: Attempting to define property on object that is not extensible.

The error does not occur in 2.0, and does occurs in 2.1 and 2.2.

Reproduction: https://github.com/steveszc/ember-modal-dialog-test

@tinney
Copy link

tinney commented May 26, 2017

I dug into this error as we were getting it as well.

What I found this is due to using a computed field on a field using concatenatedProperties. Specifically around the computed('field.[]'...

@lukemelia
Copy link
Contributor

lukemelia commented May 27, 2017

@tinney Thanks for tracking that down. Next challenge is to figure out what to do about it...

@tsteuwer
Copy link

we are having this issue as well in 2.2.0. It does not happen in the browser but does running the tests in a CI (phantomjs).

@tsteuwer
Copy link

tsteuwer commented Jul 3, 2017

@lukemelia @tinney cancel my statement above. This actually does happen in IE11.

TypeError: Cannot define property '__ember_meta__': object is not extensible.

Update: this started happening in 2.1.0 with IE.

@kcincode
Copy link

We are noticing it in IE11 as well. I did notice that a 'modal' that we render off screen and use the show property to slide it on screen works fine. The one we just render when we toggle it is where we see the problem. Not sure if this helps or not.

@tsteuwer
Copy link

@kcin1018 can you tell me how you do that so we can bump ours back up? (Render off screen then show)

@kcincode
Copy link

kcincode commented Jul 10, 2017

Here is an example of what I did: https://gist.github.com/kcin1018/70d47d0de2cfdf614dacafdd304ddbfd

I created a twiddle, but that doesn't worth with IE.
https://ember-twiddle.com/70d47d0de2cfdf614dacafdd304ddbfd

@dodeja
Copy link

dodeja commented Aug 8, 2017

Any update on this?

@PrzemoRevolve
Copy link

PrzemoRevolve commented Sep 19, 2017

Hello :)
I've stumbled upon this bug, and managed to get past it by adding
wrapperClassNames="" overlayClassNames="" containerClassNames=""
in the template. With this both PhantomJS and IE11 work as expected.
I've forked @steveszc reproduction repo, and pushed there my changes: https://github.com/PrzemoRevolve/ember-modal-dialog-test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants