diff --git a/src/renderers/dom/server/ReactMarkupChecksum.js b/src/renderers/dom/server/ReactMarkupChecksum.js index 01d72cc438..0d40c65d4d 100644 --- a/src/renderers/dom/server/ReactMarkupChecksum.js +++ b/src/renderers/dom/server/ReactMarkupChecksum.js @@ -22,9 +22,11 @@ var ReactMarkupChecksum = { */ addChecksumToMarkup: function(markup) { var checksum = adler32(markup); + + // Add checksum (handle both parent tags and self-closing tags) return markup.replace( - '>', - ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '">' + /\/?>/, + ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '"$&' ); }, diff --git a/src/renderers/dom/server/__tests__/ReactServerRendering-test.js b/src/renderers/dom/server/__tests__/ReactServerRendering-test.js index 386bc8523b..9d4de665e5 100644 --- a/src/renderers/dom/server/__tests__/ReactServerRendering-test.js +++ b/src/renderers/dom/server/__tests__/ReactServerRendering-test.js @@ -57,6 +57,16 @@ describe('ReactServerRendering', function() { ); }); + it('should generate simple markup for self-closing tags', function() { + var response = ReactServerRendering.renderToString( + + ); + expect(response).toMatch( + '' + ); + }); + it('should not register event listeners', function() { var EventPluginHub = require('EventPluginHub'); var cb = mocks.getMockFunction();