Navigation Menu

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

[Angular 2] | ZoneJS not working #1513

Closed
kuashe opened this issue Jun 3, 2016 · 4 comments
Closed

[Angular 2] | ZoneJS not working #1513

kuashe opened this issue Jun 3, 2016 · 4 comments
Labels

Comments

@kuashe
Copy link

kuashe commented Jun 3, 2016

Using this HTML page

<html>
  <head>
    <title>Angular 2 QuickStart</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
  <!-- 3. Display the application -->

    <script src="https://npmcdn.com/zone.js@0.6.12?main=browser"></script>
  <body>
    <button id='foo' >Click me ! </button>
  </body>

</html>

And this code

var fs = require("fs")
var jsdom = require("jsdom");
var doc = jsdom.jsdom( fs.readFileSync("index.html") , {
    virtualConsole: jsdom.createVirtualConsole().sendTo(console),

    features: {
      FetchExternalResources : ["script"],
       ProcessExternalResources: ["script"]
    }
});

I have the following error

Error: Uncaught [TypeError: Cannot set property onreadystatechange of [object Object] which has only a getter]

@ollwenjones
Copy link

Understand why this would be tough, but would love the option to skip the browser in Angular 2+ tests, just as I do in React.
👍

@thymikee
Copy link

thymikee commented Apr 4, 2017

jsdom must run in a function wrapped Zone.js context. I had the same problem when I was working on using Jest in Angular and it's already solved problem. IMO It has nothing to do with jsdom and this should be closed.

@kuashe If you're curious, here's a jest-preset-angular which enables you to test Angular apps in jsdom. What's better, it's several times faster than Karma with Chrome.

@vangorra
Copy link

vangorra commented Apr 6, 2017

Confirmed jsdom working with zone.js using jest-preset-angular. Doesn't look like a jsdom issue.

@Swiip
Copy link

Swiip commented Apr 6, 2017

Please take a look at my PR #1610. I know it was not good enough to be merged. But the diff points what is wrong between zone and jsdom. I'm running integration tests on Angular 2 with pure jsdom and this patch for some times now.

@kuashe kuashe closed this as completed Jun 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants