25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
937 B

  1. import win from "../../src/core/window"
  2. // import { configure } from "enzyme" // enzyme@3
  3. // import Adapter from "enzyme-adapter-react-15" // enzyme@3
  4. import { JSDOM } from "jsdom"
  5. function copyProps(src, target) {
  6. const props = Object.getOwnPropertyNames(src)
  7. .filter(prop => typeof target[prop] === "undefined")
  8. .reduce((result, prop) => ({
  9. ...result,
  10. [prop]: Object.getOwnPropertyDescriptor(src, prop),
  11. }), {})
  12. Object.defineProperties(target, props)
  13. }
  14. function setUpDomEnvironment() {
  15. const jsdom = new JSDOM("<!doctype html><html><body></body></html>", {
  16. url: "http://localhost/",
  17. })
  18. const { window } = jsdom
  19. global.window = window
  20. global.document = window.document
  21. global.navigator = {
  22. userAgent: "node.js",
  23. }
  24. copyProps(win, window) // use UI's built-in window wrapper
  25. copyProps(window, global)
  26. }
  27. setUpDomEnvironment()
  28. // configure({ adapter: new Adapter() }) // enzyme@3