diff --git a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js index 53e68defe5..974e6b4a8c 100644 --- a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js +++ b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js @@ -449,39 +449,6 @@ describe('ReactDOMComponent', function() { expect(console.error.argsForCall[0][0]).toContain('clip-path'); }); - it('should only warn once about deprecated SVG attributes', function() { - spyOn(console, 'error'); - var container = document.createElement('div'); - ReactDOM.render( - - - - , - container - ); - expect(console.error.argsForCall.length).toBe(2); - expect(console.error.argsForCall[0][0]).toContain('clipPath'); - expect(console.error.argsForCall[0][0]).toContain('clip-path'); - expect(console.error.argsForCall[1][0]).toContain('strokeWidth'); - expect(console.error.argsForCall[1][0]).toContain('stroke-width'); - - ReactDOM.render( - - - - - , - container - ); - expect(console.error.argsForCall.length).toBe(3); - expect(console.error.argsForCall[0][0]).toContain('clipPath'); - expect(console.error.argsForCall[0][0]).toContain('clip-path'); - expect(console.error.argsForCall[1][0]).toContain('strokeWidth'); - expect(console.error.argsForCall[1][0]).toContain('stroke-width'); - expect(console.error.argsForCall[2][0]).toContain('strokeOpacity'); - expect(console.error.argsForCall[2][0]).toContain('stroke-opacity'); - }); - it('should update arbitrary hyphenated attributes for SVG tags', function() { var container = document.createElement('div'); diff --git a/src/renderers/dom/shared/devtools/ReactDOMSVGDeprecatedAttributeDevtool.js b/src/renderers/dom/shared/devtools/ReactDOMSVGDeprecatedAttributeDevtool.js index 164340c7a7..0bfd77f8fe 100644 --- a/src/renderers/dom/shared/devtools/ReactDOMSVGDeprecatedAttributeDevtool.js +++ b/src/renderers/dom/shared/devtools/ReactDOMSVGDeprecatedAttributeDevtool.js @@ -25,23 +25,20 @@ if (__DEV__) { var warnedSVGAttributes = {}; var warnDeprecatedSVGAttribute = function(name) { - if (reactProps.hasOwnProperty(name) && reactProps[name]) { - return; - } - if (!DOMProperty.properties.hasOwnProperty(name)) { return; } + + if (reactProps.hasOwnProperty(name) && reactProps[name] || + warnedSVGAttributes.hasOwnProperty(name) && warnedSVGAttributes[name]) { + return; + } + var { attributeName, attributeNamespace } = DOMProperty.properties[name]; if (attributeNamespace || name === attributeName) { return; } - if (warnedSVGAttributes.hasOwnProperty(name) && warnedSVGAttributes[name]) { - return; - } - warnedSVGAttributes[name] = true; - warning( false, 'SVG property %s is deprecated. Use the original attribute name ' +