View Javadoc
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  }