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.javascript.host.html;
16  
17  import static org.junit.Assert.assertFalse;
18  import static org.junit.Assert.assertTrue;
19  
20  import org.junit.Test;
21  
22  /**
23   * Tests for {@link HTMLDocument}.
24   *
25   * @author Ahmed Ashour
26   * @author Marc Guillemot
27   * @author Ronald Brill
28   * @author Frank Danek
29   */
30  public class HTMLDocument3Test {
31  
32      /**
33       * Test having < and > in attribute values.
34       */
35      @Test
36      public void canAlreadyBeParsed() {
37          assertTrue(HTMLDocument.canAlreadyBeParsed("<p>hallo</p>"));
38          assertTrue(HTMLDocument.canAlreadyBeParsed("<img src='foo' alt=\"<'>\"></img>"));
39  
40          // double close is ok
41          assertTrue(HTMLDocument.canAlreadyBeParsed("<script></script></script>"));
42  
43          // check for correct string quoting in script
44          assertTrue(HTMLDocument.canAlreadyBeParsed("<script>var test ='abc';</script>"));
45          assertTrue(HTMLDocument.canAlreadyBeParsed("<script>var test =\"abc\";</script>"));
46          assertFalse(HTMLDocument.canAlreadyBeParsed("<script>var test ='abc\";</script>"));
47          assertFalse(HTMLDocument.canAlreadyBeParsed("<script>var test ='abc;</script>"));
48          assertFalse(HTMLDocument.canAlreadyBeParsed("<script>var test =\"abc;</script>"));
49  
50          // check quoting only inside script tags
51          assertTrue(HTMLDocument.canAlreadyBeParsed("<script>var test ='abc';</script><p>it's fun</p>"));
52      }
53  }