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

hazendaz / httpunit / 656

06 Dec 2025 09:11PM UTC coverage: 80.452% (+0.02%) from 80.435%
656

push

github

hazendaz
[maven-release-plugin] prepare for next development iteration

3213 of 4105 branches covered (78.27%)

Branch coverage included in aggregate %.

8245 of 10137 relevant lines covered (81.34%)

0.81 hits per line

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

64.71
/src/main/java/com/meterware/httpunit/javascript/JavaScriptEngineFactory.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.javascript;
21

22
import com.meterware.httpunit.HTMLElement;
23
import com.meterware.httpunit.HttpUnitUtils;
24
import com.meterware.httpunit.WebResponse;
25
import com.meterware.httpunit.scripting.ScriptableDelegate;
26
import com.meterware.httpunit.scripting.ScriptingEngineFactory;
27
import com.meterware.httpunit.scripting.ScriptingHandler;
28

29
/**
30
 * An implementation of the scripting engine factory which selects a Rhino-based implementation of JavaScript.
31
 **/
32
public class JavaScriptEngineFactory implements ScriptingEngineFactory {
1✔
33

34
    @Override
35
    public boolean isEnabled() {
36
        try {
37
            Class.forName("org.mozilla.javascript.Context");
1✔
38
            return true;
1✔
39
        } catch (Exception e) {
×
40
            System.err.println("Rhino classes (js.jar) not found - Javascript disabled");
×
41
            return false;
×
42
        }
43
    }
44

45
    @Override
46
    public void associate(WebResponse response) {
47
        try {
48
            JavaScript.run(response);
1✔
49
        } catch (RuntimeException e) {
×
50
            throw e;
×
51
        } catch (Exception e) {
×
52
            HttpUnitUtils.handleException(e);
×
53
            throw new RuntimeException(e.toString());
×
54
        }
1✔
55
    }
1✔
56

57
    @Override
58
    public void load(WebResponse response) {
59
        try {
60
            JavaScript.load(response);
1✔
61
        } catch (RuntimeException e) {
1✔
62
            throw e;
1✔
63
        } catch (Exception e) {
×
64
            e.printStackTrace();
×
65
            throw new RuntimeException(e.toString());
×
66
        }
1✔
67
    }
1✔
68

69
    @Override
70
    public void setThrowExceptionsOnError(boolean throwExceptions) {
71
        JavaScript.setThrowExceptionsOnError(throwExceptions);
1✔
72
    }
1✔
73

74
    @Override
75
    public boolean isThrowExceptionsOnError() {
76
        return JavaScript.isThrowExceptionsOnError();
×
77
    }
78

79
    @Override
80
    public String[] getErrorMessages() {
81
        return ScriptingEngineImpl.getErrorMessages();
1✔
82
    }
83

84
    /**
85
     * delegate the handling for Script exceptions
86
     */
87
    @Override
88
    public void handleScriptException(Exception e, String badScript) {
89
        ScriptingEngineImpl.handleScriptException(e, badScript);
1✔
90
    }
1✔
91

92
    @Override
93
    public void clearErrorMessages() {
94
        ScriptingEngineImpl.clearErrorMessages();
1✔
95
    }
1✔
96

97
    @Override
98
    public ScriptingHandler createHandler(HTMLElement elementBase) {
99
        ScriptableDelegate delegate = elementBase.newScriptable();
1✔
100
        delegate.setScriptEngine(elementBase.getParentDelegate().getScriptEngine(delegate));
1✔
101
        return delegate;
1✔
102
    }
103

104
    @Override
105
    public ScriptingHandler createHandler(WebResponse response) {
106
        return response.createJavascriptScriptingHandler();
1✔
107
    }
108

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