OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <title>HTML Templates: The template contents is a DocumentFragment</title> | |
5 <meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> | |
6 <meta name="assert" content="The template contents must be a DocumentFragment"> | |
7 <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#def
initions"> | |
8 <script src="../../../../../../../resources/testharness.js"></script> | |
9 <script src="../../../../../../../resources/testharnessreport.js"></script> | |
10 <script src='/html/resources/common.js'></script> | |
11 <link rel="stylesheet" href="../../../../../../../resources/testharness.css"> | |
12 </head> | |
13 <body> | |
14 <div id="log"></div> | |
15 <script type="text/javascript"> | |
16 | |
17 | |
18 test(function() { | |
19 var doc = newHTMLDocument(); | |
20 var template = doc.createElement('template'); | |
21 | |
22 doc.body.appendChild(template); | |
23 | |
24 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
25 'Template content should be a DocumentFragment'); | |
26 | |
27 assert_class_string(template.content, 'DocumentFragment', | |
28 'Template content class should be a DocumentFragment'); | |
29 | |
30 }, 'The template contents must be a DocumentFragment (empty template)'); | |
31 | |
32 | |
33 test(function() { | |
34 var doc = newHTMLDocument(); | |
35 var template = doc.createElement('template'); | |
36 | |
37 template.innerHTML = '<div>This is a div</div><span>This is a span</span>'; | |
38 | |
39 doc.body.appendChild(template); | |
40 | |
41 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
42 'Template content should be a DocumentFragment'); | |
43 | |
44 assert_class_string(template.content, 'DocumentFragment', | |
45 'Template content class should be a DocumentFragment'); | |
46 | |
47 }, 'The template contents must be a DocumentFragment (non empty template)'); | |
48 | |
49 | |
50 | |
51 test(function() { | |
52 var doc = newHTMLDocument(); | |
53 var template = doc.createElement('template'); | |
54 | |
55 template.innerHTML = '<div>This is a div</div>'; | |
56 | |
57 doc.body.appendChild(template); | |
58 | |
59 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
60 'Template content should be a documentFragment'); | |
61 | |
62 }, 'The template contents must be a DocumentFragment (non empty template ' | |
63 + 'containing div which is an Element instance)'); | |
64 | |
65 | |
66 test(function() { | |
67 var doc = newHTMLDocument(); | |
68 var template = doc.createElement('template'); | |
69 | |
70 template.innerHTML = 'Some text'; | |
71 | |
72 doc.body.appendChild(template); | |
73 | |
74 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
75 'Template content should be a documentFragment'); | |
76 | |
77 assert_class_string(template.content, 'DocumentFragment', | |
78 'Template content class should be a DocumentFragment'); | |
79 | |
80 }, 'The template contents must be a DocumentFragment (not empty template ' | |
81 + 'containing text node)'); | |
82 | |
83 | |
84 test(function() { | |
85 var doc = newHTMLDocument(); | |
86 var template = doc.createElement('template'); | |
87 | |
88 template.innerHTML = '<template id="t2">Some text</template>'; | |
89 | |
90 doc.body.appendChild(template); | |
91 | |
92 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
93 'Template content should be a documentFragment'); | |
94 assert_class_string(template.content, 'DocumentFragment', | |
95 'Template content class should be a DocumentFragment'); | |
96 | |
97 var nestedTemplate = template.content.querySelector("#t2"); | |
98 assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
99 'Nested template content should be a documentFragment'); | |
100 | |
101 assert_class_string(nestedTemplate.content, 'DocumentFragment', | |
102 'Nested template content class should be a DocumentFragment'); | |
103 | |
104 | |
105 }, 'The template contents must be a DocumentFragment (nested template ' | |
106 + 'containing a text node)'); | |
107 | |
108 | |
109 testInIFrame('../resources/template-contents-empty.html', function(context) { | |
110 var doc = context.iframes[0].contentDocument; | |
111 | |
112 var template = doc.querySelector('template'); | |
113 | |
114 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
115 'Template content should be a documentFragment'); | |
116 assert_class_string(template.content, 'DocumentFragment', | |
117 'Template content class should be a DocumentFragment'); | |
118 | |
119 | |
120 }, 'The template contents must be a DocumentFragment (the empty template tag ' | |
121 + 'inside HTML file loaded in iframe)'); | |
122 | |
123 | |
124 testInIFrame('../resources/template-contents.html', function(context) { | |
125 var doc = context.iframes[0].contentDocument; | |
126 | |
127 var template = doc.querySelector('template'); | |
128 | |
129 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
130 'Template content should be a documentFragment'); | |
131 assert_class_string(template.content, 'DocumentFragment', | |
132 'Template content class should be a DocumentFragment'); | |
133 | |
134 }, 'The template contents must be a DocumentFragment (non empty template ' | |
135 + 'tag inside HTML file loaded in iframe)'); | |
136 | |
137 | |
138 testInIFrame('../resources/template-contents-text.html', function(context) { | |
139 var doc = context.iframes[0].contentDocument; | |
140 | |
141 var template = doc.querySelector('template'); | |
142 | |
143 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
144 'Template content should be a documentFragment'); | |
145 assert_class_string(template.content, 'DocumentFragment', | |
146 'Template content class should be a DocumentFragment'); | |
147 | |
148 }, 'The template contents must be a DocumentFragment (the template tag ' | |
149 + 'with some text inside HTML file loaded in iframe)'); | |
150 | |
151 | |
152 testInIFrame('../resources/template-contents-nested.html', function(context) { | |
153 var doc = context.iframes[0].contentDocument; | |
154 | |
155 var template = doc.querySelector('template'); | |
156 | |
157 assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
158 'Template content should be a documentFragment'); | |
159 assert_class_string(template.content, 'DocumentFragment', | |
160 'Template content class should be a DocumentFragment'); | |
161 | |
162 var nestedTemplate = template.content.querySelector("template"); | |
163 | |
164 assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE, | |
165 'Nested template content should be a documentFragment'); | |
166 assert_class_string(nestedTemplate.content, 'DocumentFragment', | |
167 'Nested template content class should be a DocumentFragment'); | |
168 | |
169 }, 'The template contents must be a DocumentFragment (the template tag ' | |
170 + 'with nested template tag inside HTML file loaded in iframe)'); | |
171 </script> | |
172 </body> | |
173 </html> | |
OLD | NEW |