outerhtml.html (2660B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>HTML Templates: serialize template contents instead of template element</title> 5 <meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru"> 6 <meta name="assert" content="Template contents should be serialized instead of template element if serializing template element in XHTML document"> 7 <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#serializing-xhtml-documents"> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10 <script src='/html/resources/common.js'></script> 11 </head> 12 <body> 13 <div id="log"></div> 14 <script type="text/javascript"> 15 16 test(function () { 17 var doc = newXHTMLDocument(); 18 var template = doc.createElement('template'); 19 20 var div = doc.createElement('div'); 21 div.setAttribute('id', 'div1'); 22 div.innerHTML = 'some text'; 23 template.content.appendChild(div); 24 25 assert_equals(template.outerHTML, '<template xmlns="http://www.w3.org/1999/xhtml"><div id="div1">some text</div></template>', 26 'template element is serialized incorrectly'); 27 28 }, 'Template contents should be serialized instead of template element if serializing template element'); 29 30 31 32 test(function () { 33 var doc = newXHTMLDocument(); 34 var template = doc.createElement('template'); 35 var nestedTemplate = doc.createElement('template'); 36 37 template.content.appendChild(nestedTemplate); 38 39 var div = doc.createElement('div'); 40 div.setAttribute('id', 'div1'); 41 div.innerHTML = 'some text'; 42 nestedTemplate.content.appendChild(div); 43 44 assert_equals(template.outerHTML, '<template xmlns="http://www.w3.org/1999/xhtml"><template><div id="div1">some text</div></template></template>', 45 'template element is serialized incorrectly'); 46 47 48 }, 'Template contents should be serialized instead of template element if serializing template element. ' 49 + 'Test nested template'); 50 51 52 test(function () { 53 var doc = newXHTMLDocument(); 54 var template = doc.createElement('template'); 55 56 var div = doc.createElement('div'); 57 div.setAttribute('id', 'div1'); 58 div.innerHTML = 'some text'; 59 template.content.appendChild(div); 60 doc.body = doc.createElement('body'); 61 doc.body.appendChild(template); 62 63 assert_equals(doc.documentElement.outerHTML, '<html xmlns="http://www.w3.org/1999/xhtml"><body><template><div id="div1">some text</div></template></body></html>', 64 'template element is serialized incorrectly'); 65 66 }, 'Template contents should be serialized instead of template element if serializing template element. ' 67 + 'Test serializing whole document'); 68 69 </script> 70 </body> 71 </html>