Merge pull request #1464 from spicyj/style-esc

Don't double-escape style names
This commit is contained in:
Paul O’Shannessy 2014-06-20 12:12:18 -07:00
commit f0fc42af77
2 changed files with 8 additions and 2 deletions

View File

@ -257,6 +257,12 @@ describe('ReactDOMComponent', function() {
expect(genMarkup({ className: 'a b' })).toHaveAttribute('class', 'a b');
expect(genMarkup({ className: '' })).toHaveAttribute('class', '');
});
it("should escape style names and values", function() {
expect(genMarkup({
style: {'b&ckground': '<3'}
})).toHaveAttribute('style', 'b&amp;ckground:&lt;3;');
});
});
describe('createContentMarkup', function() {

View File

@ -22,12 +22,11 @@
var CSSProperty = require('CSSProperty');
var dangerousStyleValue = require('dangerousStyleValue');
var escapeTextForBrowser = require('escapeTextForBrowser');
var hyphenateStyleName = require('hyphenateStyleName');
var memoizeStringOnly = require('memoizeStringOnly');
var processStyleName = memoizeStringOnly(function(styleName) {
return escapeTextForBrowser(hyphenateStyleName(styleName));
return hyphenateStyleName(styleName);
});
/**
@ -42,6 +41,7 @@ var CSSPropertyOperations = {
* "width:200px;height:0;"
*
* Undefined values are ignored so that declarative programming is easier.
* The result should be HTML-escaped before insertion into the DOM.
*
* @param {object} styles
* @return {?string}