diff options
Diffstat (limited to 'testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html')
-rw-r--r-- | testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html new file mode 100644 index 0000000000..677dfaf3ef --- /dev/null +++ b/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> +<head> +<title>HTML Templates: Template is not a foster parent element</title> +<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> +<meta name="assert" content="When template element shouldn't be a foster parent then regular rules of foster parenting should be applied"> +<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#foster-parent-addition"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/resources/common.js"></script> +</head> +<body> +<div id="log"></div> +<script type="text/javascript"> + + +test(function () { + var doc = newHTMLDocument(); + + doc.body.innerHTML = '' + + '<div id="tmplParent">' + + '<template id="tmpl1">' + + '<div id="fosterParent">' + + '<table id="tbl">' + + '<tr><td>Cell 1</td></tr>' + + // Misplaced <div>. It should be foster parented + '<div id="orphanDiv">Orphan div content</div>' + + '<tr><td>Cell 2</td></tr>' + + '</table>' + + '</div>' + + '</template>' + + '</div>'; + + var template = doc.querySelector('#tmpl1'); + var fosterParent = template.content.querySelector('#fosterParent'); + var div = template.content.querySelector('#orphanDiv'); + + assert_equals(div.parentNode, fosterParent, 'Wrong foster parent element'); + +}, 'Template is not a foster parent element. ' + + 'Test the case when <template> is higher in stack of open elements'); + + + +test(function () { + var doc = newHTMLDocument(); + + doc.body.innerHTML = '' + + '<div id="fosterParent">' + + '<table id="tbl">' + + '<tr><td><template id="tmpl1">Template content</template></td></tr>' + + // Misplaced <div>. It should be foster parented + '<div id="orphanDiv">Orphan div content</div>' + + '<tr><td>Cell 2</td></tr>' + + '</table>' + + '</div>' + + '</div>'; + + var t = doc.querySelector('#tmpl1'); + var fosterParent = doc.querySelector('#fosterParent'); + var div = doc.querySelector('#orphanDiv'); + + assert_equals(div.parentNode, fosterParent, 'Wrong foster parent element'); + +}, 'Template is not a foster parent element. ' + + 'Test the case when <template> is lower in stack of open elements'); + +</script> +</body> +</html> |