@samitouri / QOS-React-2 / commits / dfeeb3f673

Fix checksum hash attribute insertion for self-closing root tags. Fixes #4323

Jim committed Jul 9, 2015 at 12:10 UTC dfeeb3f673e183f1394835039b37dbee4797cc67
2 files changed +14 -2
src/renderers/dom/server/ReactMarkupChecksum.js
+4 -2
@@ -22,9 +22,11 @@ var ReactMarkupChecksum = {
22 */
23 addChecksumToMarkup: function(markup) {
24 var checksum = adler32(markup);
25 +
26 + // Add checksum (handle both parent tags and self-closing tags)
27 return markup.replace(
26 - '>',
27 - ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '">'
28 + /\/?>/,
29 + ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '"$&'
30 );
31 },
32
src/renderers/dom/server/__tests__/ReactServerRendering-test.js
+10
@@ -57,6 +57,16 @@ describe('ReactServerRendering', function() {
57 );
58 });
59
60 + it('should generate simple markup for self-closing tags', function() {
61 + var response = ReactServerRendering.renderToString(
62 + <img />
63 + );
64 + expect(response).toMatch(
65 + '<img ' + ID_ATTRIBUTE_NAME + '="[^"]+" ' +
66 + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="[^"]+"/>'
67 + );
68 + });
69 +
70 it('should not register event listeners', function() {
71 var EventPluginHub = require('EventPluginHub');
72 var cb = mocks.getMockFunction();