Make ReactEventTopLevelCallback-test pass
This module-level mock() seems to have been interfering with other tests (26 specs failing). We don't have any other tests that do a module-level mock() so I'm going to assume it isn't supported in the open-source test runner right now. I changed it so only ReactEventEmitter.handleTopLevel is mocked; doing so made ReactEventEmitter complain that TopLevelCallbackCreator wasn't defined so I switched the ReactMount references to use React directly so that ReactDefaultInjection would kick in properly. With this, all the tests pass.
Ben Alpert committed
Nov 19, 2013 at 23:43 UTC
9937f0c8bd9fcb4b7424458c1ae5670a7670fb85
1 file changed
+17
-12
src/core/__tests__/ReactEventTopLevelCallback-test.js
+17
-12
@@ -22,23 +22,28 @@ require('mock-modules')
22
.dontMock('ReactEventTopLevelCallback')
23
.dontMock('ReactMount')
24
.dontMock('ReactInstanceHandles')
25
- .dontMock('ReactDOM')
26
- .mock('ReactEventEmitter');
25
+ .dontMock('ReactDOM');
26
27
var EVENT_TARGET_PARAM = 1;
28
29
describe('ReactEventTopLevelCallback', function() {
30
+ var mocks;
31
+
32
+ var React;
33
var ReactEventTopLevelCallback;
32
- var ReactMount;
34
var ReactDOM;
34
- var ReactEventEmitter; // mocked
35
+ var ReactEventEmitter;
36
37
beforeEach(function() {
38
require('mock-modules').dumpCache();
39
+ mocks = require('mocks');
40
+
41
+ React = require('React');
42
ReactEventTopLevelCallback = require('ReactEventTopLevelCallback');
39
- ReactMount = require('ReactMount');
43
ReactDOM = require('ReactDOM');
41
- ReactEventEmitter = require('ReactEventEmitter'); // mocked
44
+ ReactEventEmitter = require('ReactEventEmitter');
45
+
46
+ ReactEventEmitter.handleTopLevel = mocks.getMockFunction();
47
});
48
49
describe('Propagation', function() {
@@ -47,8 +52,8 @@ describe('ReactEventTopLevelCallback', function() {
52
var childControl = ReactDOM.div({}, 'Child');
53
var parentContainer = document.createElement('div');
54
var parentControl = ReactDOM.div({}, 'Parent');
50
- ReactMount.renderComponent(childControl, childContainer);
51
- ReactMount.renderComponent(parentControl, parentContainer);
55
+ React.renderComponent(childControl, childContainer);
56
+ React.renderComponent(parentControl, parentContainer);
57
parentControl.getDOMNode().appendChild(childContainer);
58
59
var callback = ReactEventTopLevelCallback.createTopLevelCallback('test');
@@ -69,9 +74,9 @@ describe('ReactEventTopLevelCallback', function() {
74
var parentControl = ReactDOM.div({}, 'Parent');
75
var grandParentContainer = document.createElement('div');
76
var grandParentControl = ReactDOM.div({}, 'Parent');
72
- ReactMount.renderComponent(childControl, childContainer);
73
- ReactMount.renderComponent(parentControl, parentContainer);
74
- ReactMount.renderComponent(grandParentControl, grandParentContainer);
77
+ React.renderComponent(childControl, childContainer);
78
+ React.renderComponent(parentControl, parentContainer);
79
+ React.renderComponent(grandParentControl, grandParentContainer);
80
parentControl.getDOMNode().appendChild(childContainer);
81
grandParentControl.getDOMNode().appendChild(parentContainer);
82
@@ -95,7 +100,7 @@ describe('ReactEventTopLevelCallback', function() {
100
var control = ReactDOM.div({}, [
101
ReactDOM.div({id: 'outer'}, inner)
102
]);
98
- ReactMount.renderComponent(control, container);
103
+ React.renderComponent(control, container);
104
105
var callback = ReactEventTopLevelCallback.createTopLevelCallback('test');
106
callback({