Index: LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html b/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9226561920e27acd8ebdb03d07d4bf9ce5cc7b61 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html |
@@ -0,0 +1,115 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title>HTML Templates: Template element as a descendant of the body element.</title> |
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
+<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru"> |
+<meta name="assert" content="Template element can be a descendant of the body element"> |
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element"> |
+<script src="../../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../../resources/testharnessreport.js"></script> |
+<script src='../testcommon.js'></script> |
+<link rel="stylesheet" href="../../../../../../../resources/testharness.css"> |
+</head> |
+<body> |
+<div id="log"></div> |
+<script type="text/javascript"> |
+ |
+function templateIsAChild(element) { |
+ element.innerHTML = '<template>some text</template>'; |
+ |
+ assert_not_equals(element.querySelector('template'), null, |
+ 'Template element should be a descendant of the ' + element.tagName + ' element'); |
+} |
+ |
+function templateIsAnIndirectChild(element) { |
+ element.innerHTML = '<div><template>some text</template></div>'; |
+ |
+ assert_not_equals(element.querySelector('template'), null, |
+ 'Template element should be a descendant of the ' + element.tagName + ' element'); |
+} |
+ |
+function templateIsAnAppendedChild(doc, element) { |
+ var template = doc.createElement('template'); |
+ |
+ element.appendChild(template); |
+ |
+ assert_not_equals(element.querySelector('template'), null, |
+ 'Template element should be a descendant of the ' + element.tagName + ' element'); |
+} |
+ |
+function templateIsAnAppendedIndirectChild(doc, element) { |
+ var template = doc.createElement('template'); |
+ var div = doc.createElement('div'); |
+ div.appendChild(template); |
+ |
+ element.appendChild(div); |
+ |
+ assert_not_equals(element.querySelector('template'), null, |
+ 'Template element should be a descendant of the ' + element.tagName + ' element'); |
+} |
+ |
+var doc = newHTMLDocument(); |
+var frameset = doc.createElement('frameset'); |
+ |
+var parameters = [['Template element as a descendant of the BODY element. ' + |
+ 'Template element is created by innerHTML', |
+ doc.body], |
+ ['Template element as a descendant of the HEAD element. ' + |
+ 'Template element is created by innerHTML', |
+ doc.head], |
+ ['Template element as a descendant of the FRAMESET element. ' + |
+ 'Template element is created by innerHTML', |
+ frameset] |
+ ]; |
+generate_tests(templateIsAChild, parameters, |
+ 'Template element as a descendant of the HEAD, BODY and FRAMESET elements'); |
+ |
+ |
+ |
+parameters = [['Template element as an indirect descendant of the BODY element. ' + |
+ 'Template element is created by innerHTML', |
+ doc.body], |
+ ['Template element as an indirect descendant of the HEAD element. ' + |
+ 'Template element is created by innerHTML', |
+ doc.head], |
+ ['Template element as an indirect descendant of the FRAMESET element. ' + |
+ 'Template element is created by innerHTML', |
+ frameset] |
+ ]; |
+generate_tests(templateIsAnIndirectChild, parameters, |
+ 'Template element as an indirect descendant of the HEAD, BODY and FRAMESET elements'); |
+ |
+ |
+ |
+parameters = [['Template element as a descendant of the BODY element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, doc.body], |
+ ['Template element as a descendant of the HEAD element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, doc.head], |
+ ['Template element as a descendant of the FRAMESET element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, frameset] |
+ ]; |
+generate_tests(templateIsAnAppendedChild, parameters, |
+ 'Template element as a descendant of the HEAD, BODY and FRAMESET elements'); |
+ |
+ |
+ |
+parameters = [['Template element as an indirect descendant of the BODY element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, doc.body], |
+ ['Template element as an indirect descendant of the HEAD element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, doc.head], |
+ ['Template element as an indirect descendant of the FRAMESET element. ' + |
+ 'Template element is appended by appendChild()', |
+ doc, frameset] |
+ ]; |
+generate_tests(templateIsAnAppendedIndirectChild, parameters, |
+ 'Template element as a descendant of the HEAD, BODY and FRAMESET elements'); |
+ |
+</script> |
+</body> |
+</html> |