From d4105cd0adfdcc312f433e1ec93a5b3147c121f7 Mon Sep 17 00:00:00 2001 From: Cheng Lou Date: Tue, 26 Jul 2016 16:08:49 -0700 Subject: [PATCH] Reword messages. --- .../link/__tests__/ReactLinkPropTypes-test.js | 21 +++++++++++-------- .../__tests__/ReactContextValidator-test.js | 6 ++++-- .../__tests__/ReactElementValidator-test.js | 7 ++++--- .../classic/types/ReactPropTypes.js | 8 +++---- .../types/__tests__/ReactPropTypes-test.js | 14 +++++++------ .../ReactJSXElementValidator-test.js | 7 ++++--- src/test/__tests__/ReactTestUtils-test.js | 4 ++-- 7 files changed, 38 insertions(+), 29 deletions(-) diff --git a/src/addons/link/__tests__/ReactLinkPropTypes-test.js b/src/addons/link/__tests__/ReactLinkPropTypes-test.js index 0cfb8cfa9b4ec..560b94e0c6722 100644 --- a/src/addons/link/__tests__/ReactLinkPropTypes-test.js +++ b/src/addons/link/__tests__/ReactLinkPropTypes-test.js @@ -18,8 +18,8 @@ var ReactPropTypeLocations = require('ReactPropTypeLocations'); var ReactPropTypesSecret = require('ReactPropTypesSecret'); var invalidMessage = 'Invalid prop `testProp` supplied to `testComponent`.'; -var requiredMessage = - 'Required prop `testProp` was not specified in `testComponent`.'; +var requiredMessage = 'The prop `testProp` is marked as required in ' + + '`testComponent`, but its value is `undefined`.'; function typeCheckFail(declaration, value, message) { var props = {testProp: value}; @@ -53,23 +53,26 @@ describe('ReactLink', function() { typeCheckFail( LinkPropTypes.link(React.PropTypes.any), {}, - 'Required prop `testProp.value` was not specified in `testComponent`.' + 'The prop `testProp.value` is marked as required in `testComponent`, ' + + 'but its value is `undefined`.' ); typeCheckFail( LinkPropTypes.link(React.PropTypes.any), {value: 123}, - 'Required prop `testProp.requestChange` was not specified in `testComponent`.' + 'The prop `testProp.requestChange` is marked as required in ' + + '`testComponent`, but its value is `undefined`.' ); typeCheckFail( LinkPropTypes.link(React.PropTypes.any), {requestChange: emptyFunction}, - 'Required prop `testProp.value` was not specified in `testComponent`.' + 'The prop `testProp.value` is marked as required in `testComponent`, ' + + 'but its value is `undefined`.' ); typeCheckFail( LinkPropTypes.link(React.PropTypes.any), {value: null, requestChange: null}, - 'Required prop `testProp.value` was specified in `testComponent`, but ' + - 'its value is `null`.' + 'The prop `testProp.value` is marked as required in `testComponent`, ' + + 'but its value is `null`.' ); }); @@ -123,8 +126,8 @@ describe('ReactLink', function() { }); it('should warn for missing required values', function() { - var specifiedButIsNullMsg = 'Required prop `testProp` was specified in ' + - '`testComponent`, but its value is `null`.'; + var specifiedButIsNullMsg = 'The prop `testProp` is marked as required ' + + 'in `testComponent`, but its value is `null`.'; typeCheckFail(LinkPropTypes.link().isRequired, null, specifiedButIsNullMsg); typeCheckFail(LinkPropTypes.link().isRequired, undefined, requiredMessage); typeCheckFail( diff --git a/src/isomorphic/classic/__tests__/ReactContextValidator-test.js b/src/isomorphic/classic/__tests__/ReactContextValidator-test.js index 37e77d7de8f11..10b0c22e35d2a 100644 --- a/src/isomorphic/classic/__tests__/ReactContextValidator-test.js +++ b/src/isomorphic/classic/__tests__/ReactContextValidator-test.js @@ -152,7 +152,8 @@ describe('ReactContextValidator', function() { expect(console.error.calls.count()).toBe(1); expect(normalizeCodeLocInfo(console.error.calls.argsFor(0)[0])).toBe( 'Warning: Failed context type: ' + - 'Required context `foo` was not specified in `Component`.\n' + + 'The context `foo` is marked as required in `Component`, but its value ' + + 'is `undefined`.\n' + ' in Component (at **)' ); @@ -229,7 +230,8 @@ describe('ReactContextValidator', function() { expect(console.error.calls.count()).toBe(1); expect(normalizeCodeLocInfo(console.error.calls.argsFor(0)[0])).toBe( 'Warning: Failed childContext type: ' + - 'Required child context `foo` was not specified in `Component`.\n' + + 'The child context `foo` is marked as required in `Component`, but its ' + + 'value is `undefined`.\n' + ' in Component (at **)' ); diff --git a/src/isomorphic/classic/element/__tests__/ReactElementValidator-test.js b/src/isomorphic/classic/element/__tests__/ReactElementValidator-test.js index 540950e6bc3da..d646e1ae98434 100644 --- a/src/isomorphic/classic/element/__tests__/ReactElementValidator-test.js +++ b/src/isomorphic/classic/element/__tests__/ReactElementValidator-test.js @@ -360,7 +360,7 @@ describe('ReactElementValidator', function() { expect(console.error.calls.count()).toBe(1); expect(console.error.calls.argsFor(0)[0]).toBe( - 'Warning: Failed prop type: Required prop `prop` was specified in ' + + 'Warning: Failed prop type: The prop `prop` is marked as required in ' + '`Component`, but its value is `null`.\n' + ' in Component' ); @@ -385,7 +385,7 @@ describe('ReactElementValidator', function() { expect(console.error.calls.count()).toBe(1); expect(console.error.calls.argsFor(0)[0]).toBe( - 'Warning: Failed prop type: Required prop `prop` was specified in ' + + 'Warning: Failed prop type: The prop `prop` is marked as required in ' + '`Component`, but its value is `null`.\n' + ' in Component' ); @@ -413,7 +413,8 @@ describe('ReactElementValidator', function() { expect(console.error.calls.count()).toBe(2); expect(console.error.calls.argsFor(0)[0]).toBe( 'Warning: Failed prop type: ' + - 'Required prop `prop` was not specified in `Component`.\n' + + 'The prop `prop` is marked as required in `Component`, but its value ' + + 'is `undefined`.\n' + ' in Component' ); diff --git a/src/isomorphic/classic/types/ReactPropTypes.js b/src/isomorphic/classic/types/ReactPropTypes.js index b59b1a4d90c94..51563fb7c8671 100644 --- a/src/isomorphic/classic/types/ReactPropTypes.js +++ b/src/isomorphic/classic/types/ReactPropTypes.js @@ -146,13 +146,13 @@ function createChainableTypeChecker(validate) { if (isRequired) { if (props[propName] === null) { return new Error( - `Required ${locationName} \`${propFullName}\` was specified in ` + - `\`${componentName}\`, but its value is \`null\`.` + `The ${locationName} \`${propFullName}\` is marked as required ` + + `in \`${componentName}\`, but its value is \`null\`.` ); } return new Error( - `Required ${locationName} \`${propFullName}\` was not specified in ` + - `\`${componentName}\`.` + `The ${locationName} \`${propFullName}\` is marked as required in ` + + `\`${componentName}\`, but its value is \`undefined\`.` ); } return null; diff --git a/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js b/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js index 478bfb1557b29..c7377e8992263 100644 --- a/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js +++ b/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js @@ -36,10 +36,10 @@ function typeCheckFail(declaration, value, message) { } function typeCheckFailRequiredValues(declaration) { - var specifiedButIsNullMsg = 'Required prop `testProp` was specified in ' + - '`testComponent`, but its value is `null`.'; - var unspecifiedMsg = - 'Required prop `testProp` was not specified in `testComponent`.'; + var specifiedButIsNullMsg = 'The prop `testProp` is marked as required in ' + + '`testComponent`, but its value is `null`.'; + var unspecifiedMsg = 'The prop `testProp` is marked as required in ' + + '`testComponent`, but its value is \`undefined\`.'; var props1 = {testProp: null}; var error1 = declaration( props1, @@ -941,7 +941,8 @@ describe('ReactPropTypes', function() { typeCheckFail( PropTypes.shape({key: PropTypes.number.isRequired}), {}, - 'Required prop `testProp.key` was not specified in `testComponent`.' + 'The prop `testProp.key` is marked as required in `testComponent`, ' + + 'but its value is `undefined`.' ); }); @@ -952,7 +953,8 @@ describe('ReactPropTypes', function() { secondKey: PropTypes.number.isRequired, }), {}, - 'Required prop `testProp.key` was not specified in `testComponent`.' + 'The prop `testProp.key` is marked as required in `testComponent`, ' + + 'but its value is `undefined`.' ); }); diff --git a/src/isomorphic/modern/element/__tests__/ReactJSXElementValidator-test.js b/src/isomorphic/modern/element/__tests__/ReactJSXElementValidator-test.js index 7fee1dc2cf940..4f5417e08413d 100644 --- a/src/isomorphic/modern/element/__tests__/ReactJSXElementValidator-test.js +++ b/src/isomorphic/modern/element/__tests__/ReactJSXElementValidator-test.js @@ -249,7 +249,7 @@ describe('ReactJSXElementValidator', function() { expect( console.error.calls.argsFor(0)[0].replace(/\(at .+?:\d+\)/g, '(at **)') ).toBe( - 'Warning: Failed prop type: Required prop `prop` was specified in ' + + 'Warning: Failed prop type: The prop `prop` is marked as required in ' + '`RequiredPropComponent`, but its value is `null`.\n' + ' in RequiredPropComponent (at **)' ); @@ -264,7 +264,7 @@ describe('ReactJSXElementValidator', function() { expect( console.error.calls.argsFor(0)[0].replace(/\(at .+?:\d+\)/g, '(at **)') ).toBe( - 'Warning: Failed prop type: Required prop `prop` was specified in ' + + 'Warning: Failed prop type: The prop `prop` is marked as required in ' + '`RequiredPropComponent`, but its value is `null`.\n' + ' in RequiredPropComponent (at **)' ); @@ -281,7 +281,8 @@ describe('ReactJSXElementValidator', function() { console.error.calls.argsFor(0)[0].replace(/\(at .+?:\d+\)/g, '(at **)') ).toBe( 'Warning: Failed prop type: ' + - 'Required prop `prop` was not specified in `RequiredPropComponent`.\n' + + 'The prop `prop` is marked as required in `RequiredPropComponent`, but ' + + 'its value is `undefined`.\n' + ' in RequiredPropComponent (at **)' ); diff --git a/src/test/__tests__/ReactTestUtils-test.js b/src/test/__tests__/ReactTestUtils-test.js index 9ce01f665b0ed..b4fb9d9b98cfb 100644 --- a/src/test/__tests__/ReactTestUtils-test.js +++ b/src/test/__tests__/ReactTestUtils-test.js @@ -296,8 +296,8 @@ describe('ReactTestUtils', function() { expect( console.error.calls.argsFor(0)[0].replace(/\(at .+?:\d+\)/g, '(at **)') ).toBe( - 'Warning: Failed context type: Required context `name` was not ' + - 'specified in `SimpleComponent`.\n' + + 'Warning: Failed context type: The context `name` is marked as ' + + 'required in `SimpleComponent`, but its value is `undefined`.\n' + ' in SimpleComponent (at **)' ); });