domJSON
domJSON copied to clipboard
Cannot import this inside jest tests
I got this error:
>npx jest
FAIL src/reviewer.test.ts (5.44s)
× renders test site (23ms)
● renders test site
TypeError: Cannot read property 'href' of undefined
7 |
> 8 | const domJSON = require('domjson');
| ^
at node_modules/domjson/dist/domJSON.js:19:28
at node_modules/domjson/dist/domJSON.js:7:23
at Object.<anonymous> (node_modules/domjson/dist/domJSON.js:15:3)
at Object.<anonymous> (src/reviewer.test.ts:8:21)
If I import require('jsdom-global')() as suggested on https://github.com/azaslavsky/domJSON/issues/26 (Usage w/ Jsdom: TypeError: Cannot read property 'href' of undefined), jest breaks on my tear down with this:
FAIL src/reviewer.test.ts
● Test suite failed to run
TypeError: Illegal invocation
at removeEventListener (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:131:15)
The problem lies with JSDOM and its implementation of the DOM Location API, not with this library.
What jest have to fix with his JSDOM implementation? (so I can report back there), related to:
- https://github.com/facebook/jest/issues/9833 - The
windowparameter has thislocationattribute - https://github.com/jsdom/jsdom/issues/512 - document.domain cannot be set and is incorrect if window.location is set
- https://github.com/jsdom/jsdom/issues/2121 - TypeError: Cannot read property '_location' of null