• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hazendaz / httpunit / 639

05 Dec 2025 03:41AM UTC coverage: 80.509%. Remained the same
639

push

github

hazendaz
[jautodoc] All the source package

3213 of 4105 branches covered (78.27%)

Branch coverage included in aggregate %.

8249 of 10132 relevant lines covered (81.42%)

0.81 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.77
/src/main/java/com/meterware/servletunit/XMLUtils.java
1
/*
2
 * MIT License
3
 *
4
 * Copyright 2011-2025 Russell Gold
5
 *
6
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
7
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
8
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
9
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions
12
 * of the Software.
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
15
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
17
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
18
 * DEALINGS IN THE SOFTWARE.
19
 */
20
package com.meterware.servletunit;
21

22
import org.w3c.dom.Element;
23
import org.w3c.dom.Node;
24
import org.w3c.dom.NodeList;
25
import org.xml.sax.SAXException;
26

27
/**
28
 * The Class XMLUtils.
29
 */
30
abstract class XMLUtils {
×
31

32
    /**
33
     * Gets the child node value.
34
     *
35
     * @param root
36
     *            the root
37
     * @param childNodeName
38
     *            the child node name
39
     *
40
     * @return the child node value
41
     *
42
     * @throws SAXException
43
     *             the SAX exception
44
     */
45
    static String getChildNodeValue(Element root, String childNodeName) throws SAXException {
46
        return getChildNodeValue(root, childNodeName, null);
1✔
47
    }
48

49
    /**
50
     * Gets the child node value.
51
     *
52
     * @param root
53
     *            the root
54
     * @param childNodeName
55
     *            the child node name
56
     * @param defaultValue
57
     *            the default value
58
     *
59
     * @return the child node value
60
     *
61
     * @throws SAXException
62
     *             the SAX exception
63
     */
64
    static String getChildNodeValue(Element root, String childNodeName, String defaultValue) throws SAXException {
65
        NodeList nl = root.getElementsByTagName(childNodeName);
1✔
66
        if (nl.getLength() == 1) {
1✔
67
            return getTextValue(nl.item(0)).trim();
1✔
68
        }
69
        if (defaultValue == null) {
1!
70
            throw new SAXException("Node <" + root.getNodeName() + "> has no child named <" + childNodeName + ">");
×
71
        }
72
        return defaultValue;
1✔
73
    }
74

75
    /**
76
     * Gets the text value.
77
     *
78
     * @param node
79
     *            the node
80
     *
81
     * @return the text value
82
     *
83
     * @throws SAXException
84
     *             the SAX exception
85
     */
86
    static String getTextValue(Node node) throws SAXException {
87
        Node textNode = node.getFirstChild();
1✔
88
        if (textNode == null) {
1✔
89
            return "";
1✔
90
        }
91
        if (textNode.getNodeType() != Node.TEXT_NODE) {
1!
92
            throw new SAXException("No text value found for <" + node.getNodeName() + "> node");
×
93
        }
94
        return textNode.getNodeValue();
1✔
95
    }
96

97
    /**
98
     * Checks for child node.
99
     *
100
     * @param root
101
     *            the root
102
     * @param childNodeName
103
     *            the child node name
104
     *
105
     * @return true, if successful
106
     */
107
    static boolean hasChildNode(Element root, String childNodeName) {
108
        NodeList nl = root.getElementsByTagName(childNodeName);
1✔
109
        return nl.getLength() > 0;
1✔
110
    }
111

112
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc