@samitouri / QOS-React-2 / commits / 9937f0c8bd

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({