diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html new file mode 100644 index 0000000000..d063acded9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html> +<head> +<title>HTML Templates: The template contents owner document type is HTML document</title> +<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> +<meta name="assert" content="The template contents owner document type is HTML document, if template is declared in HTML document"> +<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"> + +testInIFrame('../resources/template-contents.html', function(context) { + var doc = context.iframes[0].contentDocument; + var template = doc.querySelector('template'); + var content_owner = template.content.ownerDocument; + + assert_class_string(content_owner, 'Document', + 'Template content owner should be a document'); + assert_equals(content_owner.createElement('DIV').localName, 'div', + 'Template content owner should be an HTML document'); + +}, 'The template contents owner document type is HTML document ' + + '(case when document has browsing context and the template ' + + 'is created by HTML parser)'); + + +testInIFrame('../resources/template-contents.html', function(context) { + var doc = context.iframes[0].contentDocument; + var template = doc.createElement('template'); + var content_owner = template.content.ownerDocument; + var div = doc.createElement('DIV'); + template.appendChild(div); + + doc.body.appendChild(template); + + assert_class_string(content_owner, 'Document', + 'Template content owner should be a document'); + assert_equals(div.localName, 'div', + 'Template content owner should be an HTML document'); + +}, 'The template contents owner document type is HTML document ' + + '(case when document has browsing context and the template ' + + 'is created by createElement())'); + + +test(function() { + var doc = newHTMLDocument(); + var template = doc.createElement('template'); + var content_owner = template.content.ownerDocument; + var div = doc.createElement('DIV'); + template.appendChild(div); + + doc.body.appendChild(template); + + assert_class_string(content_owner, 'Document', + 'Template content owner should be a document'); + assert_equals(div.localName, 'div', + 'Template content owner should be an HTML document'); + +}, 'The template contents owner document type is HTML document ' + + '(case when document has no browsing context and the template is created ' + + 'by createElement())'); + +test(function() { + var doc = newHTMLDocument(); + doc.body.innerHTML = '<template><div>Hello!</div></template>'; + var template = doc.querySelector('template'); + var content_owner = template.content.ownerDocument; + + assert_class_string(content_owner, 'Document', + 'Template content owner should be a document'); + assert_equals(content_owner.createElement('DIV').localName, 'div', + 'Template content owner should be an HTML document'); + +}, 'The template contents owner document type is HTML document ' + + '(case when document has no browsing context and the template is created via innerHTML)'); +</script> +</body> +</html> |