Upgrade to Jasmine 2
Dmitrii Abramov committed
May 13, 2016 at 22:42 UTC
517ed859b47a0c2641507ee55859f0f829a6cda2
13 files changed
+74
-76
package.json
-2
@@ -87,7 +87,6 @@
87
"scriptPreprocessor": "scripts/jest/preprocessor.js",
88
"setupEnvScriptFile": "scripts/jest/environment.js",
89
"setupTestFrameworkScriptFile": "scripts/jest/test-framework-setup.js",
90
- "testRunner": "jasmine1",
90
"testFileExtensions": [
91
"coffee",
92
"js",
@@ -99,7 +98,6 @@
98
"<rootDir>/src",
99
"node_modules/fbjs"
100
],
102
- "testRunner": "node_modules/jest-cli/src/testRunners/jasmine/jasmine2.js",
101
"unmockedModulePathPatterns": [
102
""
103
]
src/isomorphic/classic/class/__tests__/ReactClass-test.js
+6
-6
@@ -69,8 +69,8 @@ describe('ReactClass-spec', function() {
69
return <span>{this.props.prop}</span>;
70
},
71
});
72
- expect(console.error.argsForCall.length).toBe(1);
73
- expect(console.error.argsForCall[0][0]).toBe(
72
+ expect(console.error.calls.count()).toBe(1);
73
+ expect(console.error.calls.argsFor(0)[0]).toBe(
74
'Warning: Component: prop type `prop` is invalid; ' +
75
'it must be a function, usually from React.PropTypes.'
76
);
@@ -87,8 +87,8 @@ describe('ReactClass-spec', function() {
87
return <span>{this.props.prop}</span>;
88
},
89
});
90
- expect(console.error.argsForCall.length).toBe(1);
91
- expect(console.error.argsForCall[0][0]).toBe(
90
+ expect(console.error.calls.count()).toBe(1);
91
+ expect(console.error.calls.argsFor(0)[0]).toBe(
92
'Warning: Component: context type `prop` is invalid; ' +
93
'it must be a function, usually from React.PropTypes.'
94
);
@@ -105,8 +105,8 @@ describe('ReactClass-spec', function() {
105
return <span>{this.props.prop}</span>;
106
},
107
});
108
- expect(console.error.argsForCall.length).toBe(1);
109
- expect(console.error.argsForCall[0][0]).toBe(
108
+ expect(console.error.calls.count()).toBe(1);
109
+ expect(console.error.calls.argsFor(0)[0]).toBe(
110
'Warning: Component: child context type `prop` is invalid; ' +
111
'it must be a function, usually from React.PropTypes.'
112
);
src/isomorphic/classic/element/__tests__/ReactElement-test.js
+2
-2
@@ -149,8 +149,8 @@ describe('ReactElement', function() {
149
React.createElement('div', {foo: 1});
150
expect(console.error).not.toHaveBeenCalled();
151
React.createElement('div', Object.create({foo: 1}));
152
- expect(console.error.argsForCall.length).toBe(1);
153
- expect(console.error.argsForCall[0][0]).toContain(
152
+ expect(console.error.calls.count()).toBe(1);
153
+ expect(console.error.calls.argsFor(0)[0]).toContain(
154
'React.createElement(...): Expected props argument to be a plain object. ' +
155
'Properties defined in its prototype chain will be ignored.'
156
);
src/renderers/dom/client/__tests__/ReactDOM-test.js
+6
-6
@@ -133,15 +133,15 @@ describe('ReactDOM', function() {
133
});
134
135
var myDiv = document.createElement('div');
136
- expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrow(
136
+ expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrowError(
137
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
138
'to be a function. Instead received: string.'
139
);
140
- expect(() => ReactDOM.render(<A />, myDiv, {})).toThrow(
140
+ expect(() => ReactDOM.render(<A />, myDiv, {})).toThrowError(
141
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
142
'to be a function. Instead received: Object.'
143
);
144
- expect(() => ReactDOM.render(<A />, myDiv, new Foo())).toThrow(
144
+ expect(() => ReactDOM.render(<A />, myDiv, new Foo())).toThrowError(
145
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
146
'to be a function. Instead received: Foo (keys: a, b).'
147
);
@@ -164,15 +164,15 @@ describe('ReactDOM', function() {
164
var myDiv = document.createElement('div');
165
ReactDOM.render(<A />, myDiv);
166
167
- expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrow(
167
+ expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrowError(
168
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
169
'to be a function. Instead received: string.'
170
);
171
- expect(() => ReactDOM.render(<A />, myDiv, {})).toThrow(
171
+ expect(() => ReactDOM.render(<A />, myDiv, {})).toThrowError(
172
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
173
'to be a function. Instead received: Object.'
174
);
175
- expect(() => ReactDOM.render(<A />, myDiv, new Foo())).toThrow(
175
+ expect(() => ReactDOM.render(<A />, myDiv, new Foo())).toThrowError(
176
'ReactDOM.render(...): Expected the last optional `callback` argument ' +
177
'to be a function. Instead received: Foo (keys: a, b).'
178
);
src/renderers/dom/client/syntheticEvents/__tests__/SyntheticEvent-test.js
+6
-6
@@ -89,7 +89,7 @@ describe('SyntheticEvent', function() {
89
// once for each property accessed
90
expect(console.error.calls.count()).toBe(3);
91
// assert the first warning for accessing `type`
92
- expect(console.error.argsFor(0)[0]).toBe(
92
+ expect(console.error.calls.argsFor(0)[0]).toBe(
93
'Warning: This synthetic event is reused for performance reasons. If ' +
94
'you\'re seeing this, you\'re accessing the property `type` on a ' +
95
'released/nullified synthetic event. This is set to null. If you must ' +
@@ -105,7 +105,7 @@ describe('SyntheticEvent', function() {
105
syntheticEvent.destructor();
106
expect(syntheticEvent.type = 'MouseEvent').toBe('MouseEvent');
107
expect(console.error.calls.count()).toBe(1);
108
- expect(console.error.argsFor(0)[0]).toBe(
108
+ expect(console.error.calls.argsFor(0)[0]).toBe(
109
'Warning: This synthetic event is reused for performance reasons. If ' +
110
'you\'re seeing this, you\'re setting the property `type` on a ' +
111
'released/nullified synthetic event. This is effectively a no-op. If you must ' +
@@ -120,7 +120,7 @@ describe('SyntheticEvent', function() {
120
SyntheticEvent.release(syntheticEvent);
121
syntheticEvent.preventDefault();
122
expect(console.error.calls.count()).toBe(1);
123
- expect(console.error.argsFor(0)[0]).toBe(
123
+ expect(console.error.calls.argsFor(0)[0]).toBe(
124
'Warning: This synthetic event is reused for performance reasons. If ' +
125
'you\'re seeing this, you\'re accessing the method `preventDefault` on a ' +
126
'released/nullified synthetic event. This is a no-op function. If you must ' +
@@ -135,7 +135,7 @@ describe('SyntheticEvent', function() {
135
SyntheticEvent.release(syntheticEvent);
136
syntheticEvent.stopPropagation();
137
expect(console.error.calls.count()).toBe(1);
138
- expect(console.error.argsFor(0)[0]).toBe(
138
+ expect(console.error.calls.argsFor(0)[0]).toBe(
139
'Warning: This synthetic event is reused for performance reasons. If ' +
140
'you\'re seeing this, you\'re accessing the method `stopPropagation` on a ' +
141
'released/nullified synthetic event. This is a no-op function. If you must ' +
@@ -162,7 +162,7 @@ describe('SyntheticEvent', function() {
162
event.nativeEvent; // eslint-disable-line no-unused-expressions
163
164
expect(console.error.calls.count()).toBe(1);
165
- expect(console.error.argsFor(0)[0]).toBe(
165
+ expect(console.error.calls.argsFor(0)[0]).toBe(
166
'Warning: This synthetic event is reused for performance reasons. If ' +
167
'you\'re seeing this, you\'re accessing the property `nativeEvent` on a ' +
168
'released/nullified synthetic event. This is set to null. If you must ' +
@@ -179,7 +179,7 @@ describe('SyntheticEvent', function() {
179
expect(syntheticEvent.foo).toBe('bar');
180
if (typeof Proxy === 'function') {
181
expect(console.error.calls.count()).toBe(1);
182
- expect(console.error.argsFor(0)[0]).toBe(
182
+ expect(console.error.calls.argsFor(0)[0]).toBe(
183
'Warning: This synthetic event is reused for performance reasons. If ' +
184
'you\'re seeing this, you\'re adding a new property in the synthetic ' +
185
'event object. The property is never released. ' +
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
+3
-3
@@ -951,7 +951,7 @@ describe('ReactDOMComponent', function() {
951
it('should support custom elements which extend native elements', function() {
952
if (ReactDOMFeatureFlags.useCreateElement) {
953
var container = document.createElement('div');
954
- spyOn(document, 'createElement').andCallThrough();
954
+ spyOn(document, 'createElement').and.callThrough();
955
ReactDOM.render(<div is="custom-div" />, container);
956
expect(document.createElement).toHaveBeenCalledWith('div', 'custom-div');
957
} else {
@@ -1096,7 +1096,7 @@ describe('ReactDOMComponent', function() {
1096
1097
ReactDOM.unmountComponentAtNode(container);
1098
1099
- expect(tracker.stopTracking.calls.length).toBe(1);
1099
+ expect(tracker.stopTracking.calls.count()).toBe(1);
1100
});
1101
1102
it('should clean up input textarea tracking', function() {
@@ -1108,7 +1108,7 @@ describe('ReactDOMComponent', function() {
1108
1109
ReactDOM.unmountComponentAtNode(container);
1110
1111
- expect(tracker.stopTracking.calls.length).toBe(1);
1111
+ expect(tracker.stopTracking.calls.count()).toBe(1);
1112
});
1113
1114
it('unmounts children before unsetting DOM node info', function() {
src/renderers/dom/shared/__tests__/ReactDOMDebugTool-test.js
+15
-15
@@ -27,31 +27,31 @@ describe('ReactDOMDebugTool', function() {
27
28
ReactDOMDebugTool.addDevtool(devtool1);
29
ReactDOMDebugTool.onTestEvent();
30
- expect(handler1.calls.length).toBe(1);
31
- expect(handler2.calls.length).toBe(0);
30
+ expect(handler1.calls.count()).toBe(1);
31
+ expect(handler2.calls.count()).toBe(0);
32
33
ReactDOMDebugTool.onTestEvent();
34
- expect(handler1.calls.length).toBe(2);
35
- expect(handler2.calls.length).toBe(0);
34
+ expect(handler1.calls.count()).toBe(2);
35
+ expect(handler2.calls.count()).toBe(0);
36
37
ReactDOMDebugTool.addDevtool(devtool2);
38
ReactDOMDebugTool.onTestEvent();
39
- expect(handler1.calls.length).toBe(3);
40
- expect(handler2.calls.length).toBe(1);
39
+ expect(handler1.calls.count()).toBe(3);
40
+ expect(handler2.calls.count()).toBe(1);
41
42
ReactDOMDebugTool.onTestEvent();
43
- expect(handler1.calls.length).toBe(4);
44
- expect(handler2.calls.length).toBe(2);
43
+ expect(handler1.calls.count()).toBe(4);
44
+ expect(handler2.calls.count()).toBe(2);
45
46
ReactDOMDebugTool.removeDevtool(devtool1);
47
ReactDOMDebugTool.onTestEvent();
48
- expect(handler1.calls.length).toBe(4);
49
- expect(handler2.calls.length).toBe(3);
48
+ expect(handler1.calls.count()).toBe(4);
49
+ expect(handler2.calls.count()).toBe(3);
50
51
ReactDOMDebugTool.removeDevtool(devtool2);
52
ReactDOMDebugTool.onTestEvent();
53
- expect(handler1.calls.length).toBe(4);
54
- expect(handler2.calls.length).toBe(3);
53
+ expect(handler1.calls.count()).toBe(4);
54
+ expect(handler2.calls.count()).toBe(3);
55
});
56
57
it('warns once when an error is thrown in devtool', () => {
@@ -63,13 +63,13 @@ describe('ReactDOMDebugTool', function() {
63
});
64
65
ReactDOMDebugTool.onTestEvent();
66
- expect(console.error.calls.length).toBe(1);
67
- expect(console.error.argsForCall[0][0]).toContain(
66
+ expect(console.error.calls.count()).toBe(1);
67
+ expect(console.error.calls.argsFor(0)[0]).toContain(
68
'exception thrown by devtool while handling ' +
69
'onTestEvent: Error: Hi.'
70
);
71
72
ReactDOMDebugTool.onTestEvent();
73
- expect(console.error.calls.length).toBe(1);
73
+ expect(console.error.calls.count()).toBe(1);
74
});
75
});
src/renderers/shared/__tests__/ReactDebugTool-test.js
+15
-15
@@ -27,31 +27,31 @@ describe('ReactDebugTool', function() {
27
28
ReactDebugTool.addDevtool(devtool1);
29
ReactDebugTool.onTestEvent();
30
- expect(handler1.calls.length).toBe(1);
31
- expect(handler2.calls.length).toBe(0);
30
+ expect(handler1.calls.count()).toBe(1);
31
+ expect(handler2.calls.count()).toBe(0);
32
33
ReactDebugTool.onTestEvent();
34
- expect(handler1.calls.length).toBe(2);
35
- expect(handler2.calls.length).toBe(0);
34
+ expect(handler1.calls.count()).toBe(2);
35
+ expect(handler2.calls.count()).toBe(0);
36
37
ReactDebugTool.addDevtool(devtool2);
38
ReactDebugTool.onTestEvent();
39
- expect(handler1.calls.length).toBe(3);
40
- expect(handler2.calls.length).toBe(1);
39
+ expect(handler1.calls.count()).toBe(3);
40
+ expect(handler2.calls.count()).toBe(1);
41
42
ReactDebugTool.onTestEvent();
43
- expect(handler1.calls.length).toBe(4);
44
- expect(handler2.calls.length).toBe(2);
43
+ expect(handler1.calls.count()).toBe(4);
44
+ expect(handler2.calls.count()).toBe(2);
45
46
ReactDebugTool.removeDevtool(devtool1);
47
ReactDebugTool.onTestEvent();
48
- expect(handler1.calls.length).toBe(4);
49
- expect(handler2.calls.length).toBe(3);
48
+ expect(handler1.calls.count()).toBe(4);
49
+ expect(handler2.calls.count()).toBe(3);
50
51
ReactDebugTool.removeDevtool(devtool2);
52
ReactDebugTool.onTestEvent();
53
- expect(handler1.calls.length).toBe(4);
54
- expect(handler2.calls.length).toBe(3);
53
+ expect(handler1.calls.count()).toBe(4);
54
+ expect(handler2.calls.count()).toBe(3);
55
});
56
57
it('warns once when an error is thrown in devtool', () => {
@@ -63,14 +63,14 @@ describe('ReactDebugTool', function() {
63
});
64
65
ReactDebugTool.onTestEvent();
66
- expect(console.error.calls.length).toBe(1);
67
- expect(console.error.argsForCall[0][0]).toContain(
66
+ expect(console.error.calls.count()).toBe(1);
67
+ expect(console.error.calls.argsFor(0)[0]).toContain(
68
'exception thrown by devtool while handling ' +
69
'onTestEvent: Error: Hi.'
70
);
71
72
ReactDebugTool.onTestEvent();
73
- expect(console.error.calls.length).toBe(1);
73
+ expect(console.error.calls.count()).toBe(1);
74
});
75
76
it('returns isProfiling state', () => {
src/renderers/shared/__tests__/ReactPerf-test.js
+6
-6
@@ -389,28 +389,28 @@ describe('ReactPerf', function() {
389
var measurements = measure(() => {});
390
spyOn(console, 'error');
391
ReactPerf.getMeasurementsSummaryMap(measurements);
392
- expect(console.error.calls.length).toBe(1);
393
- expect(console.error.argsForCall[0][0]).toContain(
392
+ expect(console.error.calls.count()).toBe(1);
393
+ expect(console.error.calls.argsFor(0)[0]).toContain(
394
'`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' +
395
'`ReactPerf.getWasted(...)` instead.'
396
);
397
398
ReactPerf.getMeasurementsSummaryMap(measurements);
399
- expect(console.error.calls.length).toBe(1);
399
+ expect(console.error.calls.count()).toBe(1);
400
});
401
402
it('warns once when using printDOM', function() {
403
var measurements = measure(() => {});
404
spyOn(console, 'error');
405
ReactPerf.printDOM(measurements);
406
- expect(console.error.calls.length).toBe(1);
407
- expect(console.error.argsForCall[0][0]).toContain(
406
+ expect(console.error.calls.count()).toBe(1);
407
+ expect(console.error.calls.argsFor(0)[0]).toContain(
408
'`ReactPerf.printDOM(...)` is deprecated. Use ' +
409
'`ReactPerf.printOperations(...)` instead.'
410
);
411
412
ReactPerf.printDOM(measurements);
413
- expect(console.error.calls.length).toBe(1);
413
+ expect(console.error.calls.count()).toBe(1);
414
});
415
416
it('returns isRunning state', () => {
src/renderers/shared/stack/reconciler/__tests__/ReactCompositeComponent-test.js
+3
-3
@@ -447,12 +447,12 @@ describe('ReactCompositeComponent', function() {
447
return <div />;
448
},
449
});
450
- expect(console.error.calls.length).toBe(0);
450
+ expect(console.error.calls.count()).toBe(0);
451
var instance = ReactDOM.render(<Component />, container);
452
expect(renderPasses).toBe(2);
453
expect(instance.state.value).toBe(1);
454
- expect(console.error.calls.length).toBe(1);
455
- expect(console.error.argsForCall[0][0]).toBe(
454
+ expect(console.error.calls.count()).toBe(1);
455
+ expect(console.error.calls.argsFor(0)[0]).toBe(
456
'Warning: setState(...): Cannot call setState() inside getChildContext()'
457
);
458
});
src/renderers/shared/stack/reconciler/__tests__/ReactUpdates-test.js
+9
-9
@@ -953,15 +953,15 @@ describe('ReactUpdates', function() {
953
});
954
var component = ReactTestUtils.renderIntoDocument(<A />);
955
956
- expect(() => component.setState({}, 'no')).toThrow(
956
+ expect(() => component.setState({}, 'no')).toThrowError(
957
'setState(...): Expected the last optional `callback` argument ' +
958
'to be a function. Instead received: string.'
959
);
960
- expect(() => component.setState({}, {})).toThrow(
960
+ expect(() => component.setState({}, {})).toThrowError(
961
'setState(...): Expected the last optional `callback` argument ' +
962
'to be a function. Instead received: Object.'
963
);
964
- expect(() => component.setState({}, new Foo())).toThrow(
964
+ expect(() => component.setState({}, new Foo())).toThrowError(
965
'setState(...): Expected the last optional `callback` argument ' +
966
'to be a function. Instead received: Foo (keys: a, b).'
967
);
@@ -982,15 +982,15 @@ describe('ReactUpdates', function() {
982
});
983
var component = ReactTestUtils.renderIntoDocument(<A />);
984
985
- expect(() => component.replaceState({}, 'no')).toThrow(
985
+ expect(() => component.replaceState({}, 'no')).toThrowError(
986
'replaceState(...): Expected the last optional `callback` argument ' +
987
'to be a function. Instead received: string.'
988
);
989
- expect(() => component.replaceState({}, {})).toThrow(
989
+ expect(() => component.replaceState({}, {})).toThrowError(
990
'replaceState(...): Expected the last optional `callback` argument ' +
991
'to be a function. Instead received: Object.'
992
);
993
- expect(() => component.replaceState({}, new Foo())).toThrow(
993
+ expect(() => component.replaceState({}, new Foo())).toThrowError(
994
'replaceState(...): Expected the last optional `callback` argument ' +
995
'to be a function. Instead received: Foo (keys: a, b).'
996
);
@@ -1011,15 +1011,15 @@ describe('ReactUpdates', function() {
1011
});
1012
var component = ReactTestUtils.renderIntoDocument(<A />);
1013
1014
- expect(() => component.forceUpdate('no')).toThrow(
1014
+ expect(() => component.forceUpdate('no')).toThrowError(
1015
'forceUpdate(...): Expected the last optional `callback` argument ' +
1016
'to be a function. Instead received: string.'
1017
);
1018
- expect(() => component.forceUpdate({})).toThrow(
1018
+ expect(() => component.forceUpdate({})).toThrowError(
1019
'forceUpdate(...): Expected the last optional `callback` argument ' +
1020
'to be a function. Instead received: Object.'
1021
);
1022
- expect(() => component.forceUpdate(new Foo())).toThrow(
1022
+ expect(() => component.forceUpdate(new Foo())).toThrowError(
1023
'forceUpdate(...): Expected the last optional `callback` argument ' +
1024
'to be a function. Instead received: Foo (keys: a, b).'
1025
);
src/shared/utils/__tests__/traverseAllChildren-test.js
+2
-2
@@ -82,7 +82,7 @@ describe('traverseAllChildren', function() {
82
);
83
expect(traverseContext.length).toEqual(1);
84
expect(console.error.calls.count()).toBe(1);
85
- expect(console.error.calls.ForCall(0)[0]).toContain(
85
+ expect(console.error.calls.argsFor(0)[0]).toContain(
86
'Warning: Each child in an array or iterator should have a unique "key" prop.'
87
);
88
});
@@ -328,7 +328,7 @@ describe('traverseAllChildren', function() {
328
);
329
330
expect(console.error.calls.count()).toBe(1);
331
- expect(console.error.calls.ForCall(0)[0]).toContain(
331
+ expect(console.error.calls.argsFor(0)[0]).toContain(
332
'Warning: Each child in an array or iterator should have a unique "key" prop.'
333
);
334
});
src/test/__tests__/ReactTestUtils-test.js
+1
-1
@@ -537,7 +537,7 @@ describe('ReactTestUtils', function() {
537
ReactDOM.findDOMNode(instance),
538
{clientX: CLIENT_X}
539
);
540
- expect(console.error.calls.length).toBe(0);
540
+ expect(console.error.calls.count()).toBe(0);
541
});
542
543
it('can scry with stateless components involved', function() {