summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html
diff options
context:
space:
mode:
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.html70
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>