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 DomAttr}.
22 *
23 * @author Marc Guillemot
24 * @author Ronald Brill
25 */
26 public class DomAttrTest extends SimpleWebTestCase {
27
28 /**
29 * @throws Exception if the test fails
30 */
31 @Test
32 public void getCanonicalXPath() throws Exception {
33 final String html = DOCTYPE_HTML + "<html id='foo'><body></body></html>";
34 final HtmlPage page = loadPage(html);
35 final DomAttr attr = page.getHtmlElementById("foo").getAttributeNode("id");
36
37 assertEquals("/html/@id", attr.getCanonicalXPath());
38 }
39
40 /**
41 * @throws Exception if the test fails
42 */
43 @Test
44 public void textContent() throws Exception {
45 final String html = DOCTYPE_HTML + "<html id='foo'><body></body></html>";
46 final HtmlPage page = loadPage(html);
47 final DomAttr attr = page.getDocumentElement().getAttributeNode("id");
48
49 assertEquals("foo", attr.getTextContent());
50 attr.setTextContent("hello");
51 assertEquals("hello", attr.getTextContent());
52
53 assertEquals(page.getDocumentElement(), page.getHtmlElementById("hello"));
54 }
55 }