tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

template-is-a-foster-parent-element.html (2175B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>HTML Templates: Template is a foster parent element</title>
      5 <meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
      6 <meta name="assert" content="The last template element with either no table element is below it, or a table element immediately below it, in the stack of open elements is the foster parent element (NOT the template's parent!)">
      7 <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#foster-parent-addition">
      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 
     17 test(function () {
     18    var doc = newHTMLDocument();
     19 
     20    doc.body.innerHTML = '' +
     21    '<div id="tmplParent">' +
     22        '<template id="tmpl1">' +
     23            '<table id="tbl">' +
     24                '<tr><td>Cell 1</td></tr>' +
     25            // Misplaced <div>. It should be foster parented
     26            '<div id="orphanDiv">Orphan div content</div>' +
     27                '<tr><td>Cell 2</td></tr>' +
     28            '</table>' +
     29        '</template>' +
     30    '</div>';
     31 
     32    var template = doc.querySelector('#tmpl1');
     33    var div = template.content.querySelector('#orphanDiv');
     34 
     35    assert_equals(div.parentNode, template.content, 'Wrong foster parent element');
     36 
     37 }, 'Template is a foster parent element. Test <table> immediately below <template>');
     38 
     39 
     40 
     41 test(function () {
     42    var doc = newHTMLDocument();
     43 
     44    doc.body.innerHTML = '' +
     45    '<div id="tmplParent">' +
     46        '<template id="tmpl1">' +
     47                '<tr><td>Cell 1</td></tr>' +
     48            // Misplaced <div>. It should be foster parented
     49            '<div id="orphanDiv">Orphan div content</div>' +
     50                '<tr><td>Cell 2</td></tr>' +
     51        '</template>' +
     52    '</div>';
     53 
     54    var template = doc.querySelector('#tmpl1');
     55    var div = template.content.querySelector('#orphanDiv');
     56 
     57    assert_equals(div.parentNode, template.content, 'Wrong foster parent element');
     58 
     59 }, 'Template is a foster parent element. Test <template> element without <table>');
     60 
     61 </script>
     62 </body>
     63 </html>