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.model.CucumberFeature;
import dalvik.system.DexFile;
import gherkin.pickles.Pickle;

import java.io.IOException;
import java.util.ArrayList;
Expand Down Expand Up @@ -68,9 +67,9 @@ public class CucumberExecutor {
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.
Expand All @@ -91,7 +90,7 @@ public CucumberExecutor(final Arguments arguments, final Instrumentation instrum
ResourceLoader resourceLoader = new AndroidResourceLoader(context);
this.runtime = new Runtime(resourceLoader, classLoader, createBackends(), runtimeOptions);
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);
runtime.reportStepDefinitions(stepDefinitionReporter);

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

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
*/
public int getNumberOfConcreteScenarios() {
return pickles.size();
return pickleEvents.size();
}

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

import cucumber.runtime.Runtime;
import cucumber.runtime.model.CucumberFeature;
import gherkin.events.PickleEvent;
import gherkin.pickles.Compiler;
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>();
Compiler compiler = new Compiler();
for (final CucumberFeature feature : cucumberFeatures) {
for (final Pickle pickle : compiler.compile(feature.getGherkinFeature(), feature.getPath())) {
if (runtime.matchesFilters(pickle)) {
pickles.add(new PickleStruct(pickle, feature.getLanguage()));
for (final Pickle pickle : compiler.compile(feature.getGherkinFeature())) {
final PickleEvent pickleEvent = new PickleEvent(feature.getPath(), pickle);
if (runtime.matchesFilters(pickleEvent)) {
pickles.add(new PickleStruct(pickleEvent, feature.getLanguage()));
}
}
}
Expand Down
@@ -1,16 +1,16 @@
package cucumber.runtime.android;

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

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

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

0 comments on commit c249030

Please sign in to comment.