-
Notifications
You must be signed in to change notification settings - Fork 3.3k
/
Copy pathGlobalRuleRequest.java
37 lines (33 loc) · 1.09 KB
/
GlobalRuleRequest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package org.junit.internal.requests;
import org.junit.internal.runners.ErrorReportingRunner;
import org.junit.runner.Request;
import org.junit.runner.Runner;
import org.junit.runner.manipulation.GlobalRuleRunner;
/**
* A {@link Request} that adds global rules to the {@link Runner}.
*/
public final class GlobalRuleRequest extends Request {
private final Request request;
private final GlobalRuleRunner ruleRunner;
/**
* Creates a Request with global rules
*
* @param request a {@link Request} describing your Tests
* @param ruleRunner {@link GlobalRuleRunner} to apply to the Tests described in
* <code>request</code>
*/
public GlobalRuleRequest(Request request, GlobalRuleRunner ruleRunner) {
this.request = request;
this.ruleRunner = ruleRunner;
}
@Override
public Runner getRunner() {
try {
Runner runner = request.getRunner();
ruleRunner.apply(runner);
return runner;
} catch (Exception e) {
return new ErrorReportingRunner(GlobalRuleRunner.class, e);
}
}
}