Skip to content

Commit

Permalink
[Android] update to Gherkin5.
Browse files Browse the repository at this point in the history
  • Loading branch information
brasmusson committed Mar 18, 2017
1 parent 372d2f8 commit c249030
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 14 deletions.
Expand Up @@ -20,7 +20,6 @@
import cucumber.runtime.java.ObjectFactoryLoader; import cucumber.runtime.java.ObjectFactoryLoader;
import cucumber.runtime.model.CucumberFeature; import cucumber.runtime.model.CucumberFeature;
import dalvik.system.DexFile; import dalvik.system.DexFile;
import gherkin.pickles.Pickle;


import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
Expand Down Expand Up @@ -68,9 +67,9 @@ public class CucumberExecutor {
private final Runtime runtime; private final Runtime runtime;


/** /**
* The actual {@link Pickle}s to run stored in {@link PickleStruct}s. * The actual {@link PickleEvent}s to run stored in {@link PickleStruct}s.
*/ */
private final List<PickleStruct> pickles; private final List<PickleStruct> pickleEvents;


/** /**
* Creates a new instance for the given parameters. * Creates a new instance for the given parameters.
Expand All @@ -91,7 +90,7 @@ public CucumberExecutor(final Arguments arguments, final Instrumentation instrum
ResourceLoader resourceLoader = new AndroidResourceLoader(context); ResourceLoader resourceLoader = new AndroidResourceLoader(context);
this.runtime = new Runtime(resourceLoader, classLoader, createBackends(), runtimeOptions); this.runtime = new Runtime(resourceLoader, classLoader, createBackends(), runtimeOptions);
List<CucumberFeature> cucumberFeatures = runtimeOptions.cucumberFeatures(resourceLoader, runtime.getEventBus()); List<CucumberFeature> cucumberFeatures = runtimeOptions.cucumberFeatures(resourceLoader, runtime.getEventBus());
this.pickles = FeatureCompiler.compile(cucumberFeatures, this.runtime); this.pickleEvents = FeatureCompiler.compile(cucumberFeatures, this.runtime);
} }


/** /**
Expand All @@ -109,8 +108,8 @@ public void execute() {
final StepDefinitionReporter stepDefinitionReporter = runtimeOptions.stepDefinitionReporter(classLoader); final StepDefinitionReporter stepDefinitionReporter = runtimeOptions.stepDefinitionReporter(classLoader);
runtime.reportStepDefinitions(stepDefinitionReporter); runtime.reportStepDefinitions(stepDefinitionReporter);


for (final PickleStruct pickle : pickles) { for (final PickleStruct pickleEvent : pickleEvents) {
runtime.getRunner().runPickle(pickle.pickle, pickle.language); runtime.getRunner().runPickle(pickleEvent.pickleEvent, pickleEvent.language);
} }


runtime.getEventBus().send(new TestRunFinished(runtime.getEventBus().getTime())); runtime.getEventBus().send(new TestRunFinished(runtime.getEventBus().getTime()));
Expand All @@ -120,7 +119,7 @@ public void execute() {
* @return the number of actual scenarios, including outlined * @return the number of actual scenarios, including outlined
*/ */
public int getNumberOfConcreteScenarios() { public int getNumberOfConcreteScenarios() {
return pickles.size(); return pickleEvents.size();
} }


private void trySetCucumberOptionsToSystemProperties(final Arguments arguments) { private void trySetCucumberOptionsToSystemProperties(final Arguments arguments) {
Expand Down
Expand Up @@ -2,6 +2,7 @@


import cucumber.runtime.Runtime; import cucumber.runtime.Runtime;
import cucumber.runtime.model.CucumberFeature; import cucumber.runtime.model.CucumberFeature;
import gherkin.events.PickleEvent;
import gherkin.pickles.Compiler; import gherkin.pickles.Compiler;
import gherkin.pickles.Pickle; import gherkin.pickles.Pickle;


Expand All @@ -23,9 +24,10 @@ public static List<PickleStruct> compile(final List<CucumberFeature> cucumberFea
List<PickleStruct> pickles = new ArrayList<PickleStruct>(); List<PickleStruct> pickles = new ArrayList<PickleStruct>();
Compiler compiler = new Compiler(); Compiler compiler = new Compiler();
for (final CucumberFeature feature : cucumberFeatures) { for (final CucumberFeature feature : cucumberFeatures) {
for (final Pickle pickle : compiler.compile(feature.getGherkinFeature(), feature.getPath())) { for (final Pickle pickle : compiler.compile(feature.getGherkinFeature())) {
if (runtime.matchesFilters(pickle)) { final PickleEvent pickleEvent = new PickleEvent(feature.getPath(), pickle);
pickles.add(new PickleStruct(pickle, feature.getLanguage())); if (runtime.matchesFilters(pickleEvent)) {
pickles.add(new PickleStruct(pickleEvent, feature.getLanguage()));
} }
} }
} }
Expand Down
@@ -1,16 +1,16 @@
package cucumber.runtime.android; package cucumber.runtime.android;


import gherkin.pickles.Pickle; import gherkin.events.PickleEvent;


/** /**
* Data class to hold the compiled pickles together with their language. * Data class to hold the compiled pickles together with their language.
*/ */
public class PickleStruct { public class PickleStruct {
public final Pickle pickle; public final PickleEvent pickleEvent;
public final String language; public final String language;


public PickleStruct(Pickle pickle, String language) { public PickleStruct(PickleEvent pickleEvent, String language) {
this.pickle = pickle; this.pickleEvent = pickleEvent;
this.language = language; this.language = language;
} }
} }

0 comments on commit c249030

Please sign in to comment.