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();