diff --git a/packages/templating/deftemplate.js b/packages/templating/deftemplate.js index ff1766b1d3..eaab440f31 100644 --- a/packages/templating/deftemplate.js +++ b/packages/templating/deftemplate.js @@ -173,7 +173,7 @@ _.extend(Meteor, (function() { leadingWhitespaceKilled: (testDiv.firstChild.nodeType !== 3), // IE may insert an empty tbody tag in a table. - tbodyInserted: testDiv.getElementsByTagName("tbody").length > 0, + tbodyInsertion: testDiv.getElementsByTagName("tbody").length > 0, // IE loses some tags in some environments (requiring extra wrapper). tagsLost: testDiv.getElementsByTagName("link").length == 0 @@ -216,7 +216,9 @@ _.extend(Meteor, (function() { var doc = document; // node factory var frag = doc.createDocumentFragment(); - if (! rhtml.test(html)) { + if (! html.length) { + // empty, do nothing + } else if (! rhtml.test(html)) { // Just text. frag.appendChild(doc.createTextNode(html)); } else { @@ -237,7 +239,7 @@ _.extend(Meteor, (function() { container = container.lastChild; } - if (quirks.tbodyInserted && ! rtbody.test(html)) { + if (quirks.tbodyInsertion && ! rtbody.test(html)) { // Any tbody we find was created by the browser. var tbodies = container.getElementsByTagName("tbody"); _.each(tbodies, function(n) { diff --git a/tests/unit/client/liveui_test.js b/tests/unit/client/liveui_test.js index f455ca8bcb..1c4441b9d9 100644 --- a/tests/unit/client/liveui_test.js +++ b/tests/unit/client/liveui_test.js @@ -864,7 +864,7 @@ test("renderList - #each", function () { onscreen.appendChild(Template.test_renderList_each()); document.body.appendChild(onscreen); - assert_frag("~Before0~Middle~Else~After~", onscreen); + assert_frag("~Before0~Middle~Else~After~", onscreen); assert.length(_.keys(weather_listeners.here), 0); c.insert({x: 2, name: "A"}); @@ -889,7 +889,7 @@ test("renderList - #each", function () { assert.length(_.keys(weather_listeners.here), 1); c.update({}, {$set: {x: 5}}); - assert_frag("~Before0~Middle~Else~After~", onscreen); + assert_frag("~Before0Middle~Else~After~", onscreen); assert.length(_.keys(weather_listeners.here), 1); Meteor.flush(); assert.length(_.keys(weather_listeners.here), 0);