Fix EnterLeaveEventPlugin Test in jsdom
This is a follow-up to #803. In jsdom (used for internal testing), `<iframe>` does not properly create a default document. This makes the `EnterLeaveEventPlugin` tests work for jsdom, too. Open source does not need this because it uses PhantomJS.
Tim Yung committed
Jan 10, 2014 at 20:07 UTC
73d9d286ee84770c10fd84022fde92bd2efc8eaa
1 file changed
+9
-1
src/eventPlugins/__tests__/EnterLeaveEventPlugin-test.js
+9
-1
@@ -17,6 +17,8 @@
17
* @emails react-core
18
*/
19
20
+/*jslint evil: true */
21
+
22
"use strict";
23
24
var EnterLeaveEventPlugin;
@@ -42,7 +44,13 @@ describe('EnterLeaveEventPlugin', function() {
44
var iframe = document.createElement('iframe');
45
document.body.appendChild(iframe);
46
45
- var component = React.renderComponent(<div />, iframe.contentDocument.body);
47
+ var iframeDocument = iframe.contentDocument;
48
+
49
+ if (!iframeDocument.innerHTML) {
50
+ iframeDocument.innerHTML = '<html><head></head><body></body></html>';
51
+ }
52
+
53
+ var component = React.renderComponent(<div />, iframeDocument.body);
54
var div = component.getDOMNode();
55
56
var extracted = EnterLeaveEventPlugin.extractEvents(