Skip to content

Commit 67a8d85

Browse files
committed
[Core] Remove UnreportedStepExecutor
1 parent 158a4f7 commit 67a8d85

File tree

6 files changed

+1
-69
lines changed

6 files changed

+1
-69
lines changed

core/src/main/java/cucumber/runner/Runner.java

+1-35
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,15 @@
1313
import cucumber.runtime.RuntimeOptions;
1414
import cucumber.runtime.PickleStepDefinitionMatch;
1515
import cucumber.runtime.UndefinedPickleStepDefinitionMatch;
16-
import cucumber.runtime.UnreportedStepExecutor;
1716
import gherkin.events.PickleEvent;
18-
import gherkin.pickles.Argument;
19-
import gherkin.pickles.PickleLocation;
20-
import gherkin.pickles.PickleRow;
2117
import gherkin.pickles.PickleStep;
22-
import gherkin.pickles.PickleString;
23-
import gherkin.pickles.PickleTable;
2418
import gherkin.pickles.PickleTag;
2519

2620
import java.util.ArrayList;
2721
import java.util.Collection;
28-
import java.util.Collections;
2922
import java.util.List;
3023

31-
public class Runner implements UnreportedStepExecutor {
24+
public class Runner {
3225
private final Glue glue;
3326
private final EventBus bus;
3427
private final Collection<? extends Backend> backends;
@@ -41,37 +34,10 @@ public Runner(Glue glue, EventBus bus, Collection<? extends Backend> backends, R
4134
this.backends = backends;
4235
for (Backend backend : backends) {
4336
backend.loadGlue(glue, runtimeOptions.getGlue());
44-
backend.setUnreportedStepExecutor(this);
4537
}
4638

4739
}
4840

49-
//TODO: Maybe this should go into the cucumber step execution model and it should return the result of that execution!
50-
@Override
51-
public void runUnreportedStep(String featurePath, String language, String stepName, int line, List<PickleRow> dataTableRows, PickleString docString) throws Throwable {
52-
List<Argument> arguments = new ArrayList<Argument>();
53-
if (dataTableRows != null && !dataTableRows.isEmpty()) {
54-
arguments.add(new PickleTable(dataTableRows));
55-
} else if (docString != null) {
56-
arguments.add(docString);
57-
}
58-
PickleStep step = new PickleStep(stepName, arguments, Collections.<PickleLocation>emptyList());
59-
60-
PickleStepDefinitionMatch match = glue.stepDefinitionMatch(featurePath, step);
61-
if (match == null) {
62-
UndefinedStepException error = new UndefinedStepException(step);
63-
64-
StackTraceElement[] originalTrace = error.getStackTrace();
65-
StackTraceElement[] newTrace = new StackTraceElement[originalTrace.length + 1];
66-
newTrace[0] = new StackTraceElement("✽", "StepDefinition", featurePath, line);
67-
System.arraycopy(originalTrace, 0, newTrace, 1, originalTrace.length);
68-
error.setStackTrace(newTrace);
69-
70-
throw error;
71-
}
72-
match.runStep(language, null);
73-
}
74-
7541
public void runPickle(PickleEvent pickle) {
7642
buildBackendWorlds(); // Java8 step definitions will be added to the glue here
7743
TestCase testCase = createTestCaseForPickle(pickle);

core/src/main/java/cucumber/runtime/Backend.java

-6
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,6 @@ public interface Backend {
1111
*/
1212
void loadGlue(Glue glue, List<String> gluePaths);
1313

14-
/**
15-
* Invoked once, handing the backend a reference to a step executor
16-
* in case the backend needs to call steps defined within other steps
17-
*/
18-
void setUnreportedStepExecutor(UnreportedStepExecutor executor);
19-
2014
/**
2115
* Invoked before a new scenario starts. Implementations should do any necessary
2216
* setup of new, isolated state here.

core/src/main/java/cucumber/runtime/UnreportedStepExecutor.java

-11
This file was deleted.

java/src/main/java/cucumber/runtime/java/JavaBackend.java

-7
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
import cucumber.runtime.Backend;
1515
import cucumber.runtime.ClassFinder;
1616
import cucumber.runtime.CucumberException;
17-
import cucumber.runtime.DuplicateStepDefinitionException;
1817
import cucumber.runtime.Env;
1918
import cucumber.runtime.Glue;
2019
import cucumber.runtime.HookDefinition;
2120
import cucumber.runtime.StepDefinition;
22-
import cucumber.runtime.UnreportedStepExecutor;
2321
import cucumber.runtime.Utils;
2422
import cucumber.runtime.io.ResourceLoader;
2523
import cucumber.runtime.io.ResourceLoaderClassFinder;
@@ -111,11 +109,6 @@ public void loadGlue(Glue glue, Method method, Class<?> glueCodeClass) {
111109
methodScanner.scan(this, method, glueCodeClass);
112110
}
113111

114-
@Override
115-
public void setUnreportedStepExecutor(UnreportedStepExecutor executor) {
116-
//Not used here yet
117-
}
118-
119112
@Override
120113
public void buildWorld() {
121114
objectFactory.start();

junit/src/test/java/cucumber/runtime/stub/StubBackend.java

-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import io.cucumber.stepexpression.TypeRegistry;
44
import cucumber.runtime.Backend;
55
import cucumber.runtime.Glue;
6-
import cucumber.runtime.UnreportedStepExecutor;
76
import cucumber.runtime.io.ResourceLoader;
87
import cucumber.runtime.snippets.FunctionNameGenerator;
98
import gherkin.pickles.PickleStep;
@@ -23,10 +22,6 @@ public StubBackend(ResourceLoader resourceLoader, TypeRegistry typeRegistry) {
2322
public void loadGlue(Glue glue, List<String> gluePaths) {
2423
}
2524

26-
@Override
27-
public void setUnreportedStepExecutor(UnreportedStepExecutor executor) {
28-
}
29-
3025
@Override
3126
public void buildWorld() {
3227
}

testng/src/test/java/cucumber/runtime/stub/StubBackend.java

-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import io.cucumber.stepexpression.TypeRegistry;
44
import cucumber.runtime.Backend;
55
import cucumber.runtime.Glue;
6-
import cucumber.runtime.UnreportedStepExecutor;
76
import cucumber.runtime.io.ResourceLoader;
87
import cucumber.runtime.snippets.FunctionNameGenerator;
98
import gherkin.pickles.PickleStep;
@@ -23,10 +22,6 @@ public StubBackend(ResourceLoader resourceLoader, TypeRegistry typeRegistry) {
2322
public void loadGlue(Glue glue, List<String> gluePaths) {
2423
}
2524

26-
@Override
27-
public void setUnreportedStepExecutor(UnreportedStepExecutor executor) {
28-
}
29-
3025
@Override
3126
public void buildWorld() {
3227
}

0 commit comments

Comments
 (0)