<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function() {
    if (window.testRunner)
        testRunner.dumpAsText();

    var template = document.getElementById('template');
    template.appendChild(document.createElement('span')).innerText = 'should not serialize';
    var innerTemplate = template.content.firstChild.firstElementChild;
    innerTemplate.appendChild(document.createElement('span')).innerText = 'should not serialize either';

    template.innerHTML = template.innerHTML;
    if (template.childNodes.length != 1) // The only child should be the span that was added above.
        return;

    document.getElementById('output').innerText = template.innerHTML;
    var template2 = document.createElement('template');
    template2.innerHTML = '<template></template>';
}
</script>
</head>
<body>
<p>The test asserts that template contents are serialized with innerHTML and its children are ignored.</p>
<template id="template"><div>Contents 1
  <template>Contents 2</template>
</div></template>
<div id="output">
</div>
</body>
</html>