Guest User

Untitled

a guest
Mar 21st, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. import requestAnimationFrame from './tempPolyfills';
  2.  
  3. import { configure } from 'enzyme';
  4. import Adapter from 'enzyme-adapter-react-16';
  5.  
  6. configure({ adapter: new Adapter(), disableLifecycleMethods: true });
  7.  
  8.  
  9. const { JSDOM } = require('jsdom');
  10.  
  11. const jsdom = new JSDOM(`
  12. <!doctype html>
  13. <html>
  14. <head>
  15. <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=<our maps key>&libraries=places"></script>
  16. <script>console.log(Window.google)</script>
  17. </head>
  18. <body>
  19. </body>
  20. </html>`, {runScripts: "dangerously"});
  21. const { window } = jsdom;
  22.  
  23. function copyProps(src, target) {
  24. const props = Object.getOwnPropertyNames(src)
  25. .filter(prop => typeof target[prop] === 'undefined')
  26. .reduce((result, prop) => ({
  27. ...result,
  28. [prop]: Object.getOwnPropertyDescriptor(src, prop),
  29. }), {});
  30. Object.defineProperties(target, props);
  31. }
  32.  
  33. global.window = window;
  34. global.document = window.document;
  35. global.navigator = {
  36. userAgent: 'node.js',
  37. };
  38. copyProps(window, global);
Add Comment
Please, Sign In to add comment