1 /*
2 * Copyright (c) 2002-2025 Gargoyle Software Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * https://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 package org.htmlunit.html;
16
17 import org.htmlunit.SimpleWebTestCase;
18 import org.junit.jupiter.api.Test;
19
20 /**
21 * Tests for {@link HtmlTemplate}.
22 *
23 * @author Ronny Shapiro
24 * @author Ronald Brill
25 */
26 public class HtmlTemplate2Test extends SimpleWebTestCase {
27
28 /**
29 * @throws Exception if an error occurs
30 */
31 @Test
32 public void asXmlWithChildren() throws Exception {
33 final String html = DOCTYPE_HTML
34 + "<html>\n"
35 + "<head>\n"
36 + "</head>\n"
37 + "<body>\n"
38 + "<template id='template'>\n"
39 + "<div></div>\n"
40 + "</template>\n"
41 + "</body>\n"
42 + "</html>";
43
44 final HtmlPage htmlPage = loadPage(html);
45 assertEquals("<body>\r\n"
46 + " <template id=\"template\">\r\n"
47 + " <div></div>\r\n"
48 + " </template>\r\n"
49 + "</body>", htmlPage.getBody().asXml());
50 }
51
52 /**
53 * @throws Exception if an error occurs
54 */
55 @Test
56 public void asXmlWithoutChildren() throws Exception {
57 final String html = DOCTYPE_HTML
58 + "<html>\n"
59 + "<head>\n"
60 + "</head>\n"
61 + "<body>\n"
62 + "<template id='template'></template>\n"
63 + "</body>\n"
64 + "</html>";
65
66 final HtmlPage htmlPage = loadPage(html);
67 assertEquals("<body>\r\n"
68 + " <template id=\"template\"></template>\r\n"
69 + "</body>", htmlPage.getBody().asXml());
70 }
71 }