diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html new file mode 100644 index 000000000..4a61dc8d3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html @@ -0,0 +1,172 @@ +<!DOCTYPE html> +<html> +<head> +<title>HTML Templates: The template contents is a DocumentFragment</title> +<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> +<meta name="assert" content="The template contents must be a DocumentFragment"> +<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions"> +<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(); + var template = doc.createElement('template'); + + doc.body.appendChild(template); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a DocumentFragment'); + + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (empty template)'); + + +test(function() { + var doc = newHTMLDocument(); + var template = doc.createElement('template'); + + template.innerHTML = '<div>This is a div</div><span>This is a span</span>'; + + doc.body.appendChild(template); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a DocumentFragment'); + + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (non empty template)'); + + + +test(function() { + var doc = newHTMLDocument(); + var template = doc.createElement('template'); + + template.innerHTML = '<div>This is a div</div>'; + + doc.body.appendChild(template); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + +}, 'The template contents must be a DocumentFragment (non empty template ' + + 'containing div which is an Element instance)'); + + +test(function() { + var doc = newHTMLDocument(); + var template = doc.createElement('template'); + + template.innerHTML = 'Some text'; + + doc.body.appendChild(template); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (not empty template ' + + 'containing text node)'); + + +test(function() { + var doc = newHTMLDocument(); + var template = doc.createElement('template'); + + template.innerHTML = '<template id="t2">Some text</template>'; + + doc.body.appendChild(template); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + + var nestedTemplate = template.content.querySelector("#t2"); + assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Nested template content should be a documentFragment'); + + assert_class_string(nestedTemplate.content, 'DocumentFragment', + 'Nested template content class should be a DocumentFragment'); + + +}, 'The template contents must be a DocumentFragment (nested template ' + + 'containing a text node)'); + + +testInIFrame('../resources/template-contents-empty.html', function(context) { + var doc = context.iframes[0].contentDocument; + + var template = doc.querySelector('template'); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + + +}, 'The template contents must be a DocumentFragment (the empty template tag ' + + 'inside HTML file loaded in iframe)'); + + +testInIFrame('../resources/template-contents.html', function(context) { + var doc = context.iframes[0].contentDocument; + + var template = doc.querySelector('template'); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (non empty template ' + + 'tag inside HTML file loaded in iframe)'); + + +testInIFrame('../resources/template-contents-text.html', function(context) { + var doc = context.iframes[0].contentDocument; + + var template = doc.querySelector('template'); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (the template tag ' + + 'with some text inside HTML file loaded in iframe)'); + + +testInIFrame('../resources/template-contents-nested.html', function(context) { + var doc = context.iframes[0].contentDocument; + + var template = doc.querySelector('template'); + + assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Template content should be a documentFragment'); + assert_class_string(template.content, 'DocumentFragment', + 'Template content class should be a DocumentFragment'); + + var nestedTemplate = template.content.querySelector("template"); + + assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, + 'Nested template content should be a documentFragment'); + assert_class_string(nestedTemplate.content, 'DocumentFragment', + 'Nested template content class should be a DocumentFragment'); + +}, 'The template contents must be a DocumentFragment (the template tag ' + + 'with nested template tag inside HTML file loaded in iframe)'); +</script> +</body> +</html> |