@samitouri / QOS-React-2 / commits / 517ed859b4

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