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

hazendaz / httpunit / 636

05 Dec 2025 03:27AM UTC coverage: 80.509%. Remained the same
636

push

github

hazendaz
Cleanup more old since tags

you guessed it, at this point going to jautodoc the rest so the warnings on builds go away ;)

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

77.78
/src/main/java/com/meterware/httpunit/dom/HTMLCollectionImpl.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.httpunit.dom;
21

22
import org.mozilla.javascript.Scriptable;
23
import org.mozilla.javascript.ScriptableObject;
24
import org.w3c.dom.Node;
25
import org.w3c.dom.NodeList;
26
import org.w3c.dom.html.HTMLCollection;
27
import org.w3c.dom.html.HTMLElement;
28

29
public class HTMLCollectionImpl extends ScriptableObject implements HTMLCollection {
1✔
30

31
    private static final long serialVersionUID = 1L;
32
    private NodeList _list;
33

34
    public static HTMLCollectionImpl createHTMLCollectionImpl(NodeList list) {
35
        HTMLCollectionImpl htmlCollection = new HTMLCollectionImpl();
1✔
36
        htmlCollection.initialize(list);
1✔
37
        return htmlCollection;
1✔
38
    }
39

40
    private void initialize(NodeList list) {
41
        _list = list;
1✔
42
    }
1✔
43

44
    // ------------------------------------------ HTMLCollection methods
45
    // --------------------------------------------------
46

47
    @Override
48
    public int getLength() {
49
        return _list.getLength();
1✔
50
    }
51

52
    @Override
53
    public Node item(int index) {
54
        return _list.item(index);
1✔
55
    }
56

57
    @Override
58
    public Node namedItem(String name) {
59
        if (name == null) {
1!
60
            return null;
×
61
        }
62

63
        Node nodeByName = null;
1✔
64
        for (int i = 0; null == nodeByName && i < getLength(); i++) {
1!
65
            Node node = item(i);
1✔
66
            if (!(node instanceof HTMLElementImpl)) {
1!
67
                continue;
×
68
            }
69
            if (name.equalsIgnoreCase(((HTMLElement) node).getId())) {
1✔
70
                return node;
1✔
71
            }
72
            if (name.equalsIgnoreCase(((HTMLElementImpl) node).getAttributeWithNoDefault("name"))) {
1✔
73
                nodeByName = node;
1✔
74
            }
75
        }
76
        return nodeByName;
1✔
77
    }
78

79
    // ------------------------------------------ ScriptableObject methods
80
    // --------------------------------------------------
81

82
    @Override
83
    public String getClassName() {
84
        return getClass().getName();
×
85
    }
86

87
    @Override
88
    public Object get(String propertyName, Scriptable scriptable) {
89
        Object result = super.get(propertyName, scriptable);
1✔
90
        if (result != NOT_FOUND) {
1!
91
            return result;
×
92
        }
93

94
        Object namedProperty = ScriptingSupport.getNamedProperty(this, propertyName, scriptable);
1✔
95
        if (namedProperty != NOT_FOUND) {
1✔
96
            return namedProperty;
1✔
97
        }
98

99
        Node namedItem = namedItem(propertyName);
1✔
100
        return namedItem == null ? NOT_FOUND : namedItem;
1!
101
    }
102

103
    @Override
104
    public Object get(int index, Scriptable start) {
105
        if (index < 0 || index >= _list.getLength()) {
1!
106
            return NOT_FOUND;
×
107
        }
108
        return item(index);
1✔
109
    }
110
}
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