@samitouri / QOS-React-2 / commits / 9d58e9a27b

Deprecate replaceProps

This isn't supported on plain JS classes anyway, so this is just adding a warning in DEV before the code throws.

Paul O’Shannessy committed Mar 10, 2015 at 10:44 UTC 9d58e9a27b5b8a385d605ada95772bc19421f491
4 files changed +16 -3
src/modern/class/ReactComponent.js
+1
@@ -100,6 +100,7 @@ if (__DEV__) {
100 var deprecatedAPIs = {
101 getDOMNode: 'getDOMNode',
102 isMounted: 'isMounted',
103 + replaceProps: 'replaceProps',
104 replaceState: 'replaceState',
105 setProps: 'setProps'
106 };
src/modern/class/__tests__/ReactCoffeeScriptClass-test.coffee
+5 -1
@@ -318,7 +318,8 @@ describe 'ReactCoffeeScriptClass', ->
318 expect(-> instance.replaceState {}).toThrow()
319 expect(-> instance.isMounted()).toThrow()
320 expect(-> instance.setProps name: 'bar').toThrow()
321 - expect(console.warn.calls.length).toBe 4
321 + expect(-> instance.replaceProps name: 'bar').toThrow()
322 + expect(console.warn.calls.length).toBe 5
323 expect(console.warn.calls[0].args[0]).toContain(
324 'getDOMNode(...) is deprecated in plain JavaScript React classes'
325 )
@@ -331,6 +332,9 @@ describe 'ReactCoffeeScriptClass', ->
332 expect(console.warn.calls[3].args[0]).toContain(
333 'setProps(...) is deprecated in plain JavaScript React classes'
334 )
335 + expect(console.warn.calls[4].args[0]).toContain(
336 + 'replaceProps(...) is deprecated in plain JavaScript React classes'
337 + )
338
339 it 'supports this.context passed via getChildContext', ->
340 class Bar
src/modern/class/__tests__/ReactES6Class-test.js
+5 -1
@@ -354,7 +354,8 @@ describe('ReactES6Class', function() {
354 expect(() => instance.replaceState({})).toThrow();
355 expect(() => instance.isMounted()).toThrow();
356 expect(() => instance.setProps({name: 'bar'})).toThrow();
357 - expect(console.warn.calls.length).toBe(4);
357 + expect(() => instance.replaceProps({name: 'bar'})).toThrow();
358 + expect(console.warn.calls.length).toBe(5);
359 expect(console.warn.calls[0].args[0]).toContain(
360 'getDOMNode(...) is deprecated in plain JavaScript React classes'
361 );
@@ -367,6 +368,9 @@ describe('ReactES6Class', function() {
368 expect(console.warn.calls[3].args[0]).toContain(
369 'setProps(...) is deprecated in plain JavaScript React classes'
370 );
371 + expect(console.warn.calls[4].args[0]).toContain(
372 + 'replaceProps(...) is deprecated in plain JavaScript React classes'
373 + );
374 });
375
376 it('supports this.context passed via getChildContext', function() {
src/modern/class/__tests__/ReactTypeScriptClass-test.ts
+5 -1
@@ -451,7 +451,8 @@ describe('ReactTypeScriptClass', function() {
451 expect(() => instance.replaceState({})).toThrow();
452 expect(() => instance.isMounted()).toThrow();
453 expect(() => instance.setProps({ name: 'bar' })).toThrow();
454 - expect(warn.mock.calls.length).toBe(4);
454 + expect(() => instance.replaceProps({ name: 'bar' })).toThrow();
455 + expect(warn.mock.calls.length).toBe(5);
456 expect(warn.mock.calls[0][0]).toContain(
457 'getDOMNode(...) is deprecated in plain JavaScript React classes'
458 );
@@ -464,6 +465,9 @@ describe('ReactTypeScriptClass', function() {
465 expect(warn.mock.calls[3][0]).toContain(
466 'setProps(...) is deprecated in plain JavaScript React classes'
467 );
468 + expect(warn.mock.calls[4][0]).toContain(
469 + 'replaceProps(...) is deprecated in plain JavaScript React classes'
470 + );
471 });
472
473 it('supports this.context passed via getChildContext', function() {