• 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/HTMLOptionElementImpl.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 com.meterware.httpunit.protocol.ParameterProcessor;
23

24
import java.io.IOException;
25

26
import org.w3c.dom.Node;
27
import org.w3c.dom.html.HTMLOptionElement;
28

29
public class HTMLOptionElementImpl extends HTMLControl implements HTMLOptionElement {
1✔
30

31
    private static final long serialVersionUID = 1L;
32
    private Boolean _selected;
33

34
    @Override
35
    ElementImpl create() {
36
        return new HTMLOptionElementImpl();
1✔
37
    }
38

39
    @Override
40
    public boolean getDefaultSelected() {
41
        return getBooleanAttribute("selected");
1✔
42
    }
43

44
    @Override
45
    public int getIndex() {
46
        return getSelect().getIndexOf(this);
1✔
47
    }
48

49
    public void setIndex(int i) {
50
    } // obsolete - required for compatibility with JDK 1.3
×
51

52
    @Override
53
    public String getLabel() {
54
        return getAttributeWithNoDefault("label");
1✔
55
    }
56

57
    @Override
58
    public boolean getSelected() {
59
        return _selected != null ? _selected.booleanValue() : getDefaultSelected();
1✔
60
    }
61

62
    @Override
63
    public String getText() {
64
        return asText();
1✔
65
    }
66

67
    @Override
68
    public void setDefaultSelected(boolean defaultSelected) {
69
    }
×
70

71
    @Override
72
    public void setLabel(String label) {
73
        setAttribute("label", label);
1✔
74
    }
1✔
75

76
    public void setSelected(boolean selected) {
77
        if (selected && getSelect().getType().equals(HTMLSelectElementImpl.TYPE_SELECT_ONE)) {
1✔
78
            getSelect().clearSelected();
1✔
79
        }
80
        _selected = selected ? Boolean.TRUE : Boolean.FALSE;
1✔
81
    }
1✔
82

83
    private HTMLSelectElementImpl getSelect() {
84
        Node parent = getParentNode();
1✔
85
        while (parent != null && !"select".equalsIgnoreCase(parent.getNodeName())) {
1!
86
            parent = parent.getParentNode();
×
87
        }
88
        return (HTMLSelectElementImpl) parent;
1✔
89
    }
90

91
    @Override
92
    public String getValue() {
93
        return getAttributeWithNoDefault("value");
1✔
94
    }
95

96
    @Override
97
    public void setValue(String value) {
98
        setAttribute("value", value);
1✔
99
    }
1✔
100

101
    @Override
102
    public void reset() {
103
        _selected = null;
1✔
104
    }
1✔
105

106
    void addValueIfSelected(ParameterProcessor processor, String name, String characterSet) throws IOException {
107
        if (getSelected()) {
1✔
108
            String value = getValue();
1✔
109
            if (value == null) {
1✔
110
                value = readDisplayedValue();
1✔
111
            }
112
            processor.addParameter(name, value, characterSet);
1✔
113
        }
114
    }
1✔
115

116
    private String readDisplayedValue() {
117
        Node nextSibling = getNextSibling();
1✔
118
        while (nextSibling != null && nextSibling.getNodeType() != Node.TEXT_NODE
1!
119
                && nextSibling.getNodeType() != Node.ELEMENT_NODE) {
×
120
            nextSibling = nextSibling.getNextSibling();
×
121
        }
122
        if (nextSibling == null || nextSibling.getNodeType() != Node.TEXT_NODE) {
1!
123
            return "";
×
124
        }
125
        return nextSibling.getNodeValue();
1✔
126
    }
127

128
}
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