Browse files

Merge remote-tracking branch 'upstream/master'

  • Loading branch information...
2 parents a2195de + bab2b13 commit 3e970a58850886637133ddfe61d312a3f4a5fb37 @vasiliygagin committed Feb 2, 2012
Showing with 171 additions and 64 deletions.
  1. +5 −2 History.md
  2. +2 −1 README.md
  3. +1 −1 clojure/pom.xml
  4. +4 −1 clojure/src/main/java/cucumber/runtime/clojure/ClojureHookDefinition.java
  5. +3 −0 clojure/src/test/resources/cucumber/runtime/clojure/stepdefs.clj
  6. +1 −5 core/pom.xml
  7. +6 −9 core/src/main/java/cucumber/cli/Main.java
  8. +9 −1 core/src/main/java/cucumber/formatter/FormatterFactory.java
  9. +7 −3 core/src/main/java/cucumber/formatter/HTMLFormatter.java
  10. +3 −4 core/src/main/java/cucumber/formatter/MultiFormatter.java
  11. +4 −0 core/src/main/java/cucumber/formatter/NullReporter.java
  12. +5 −0 core/src/main/java/cucumber/formatter/ProgressFormatter.java
  13. +4 −0 core/src/main/java/cucumber/runtime/FeatureBuilder.java
  14. +2 −2 core/src/main/java/cucumber/runtime/RuntimeGlue.java
  15. +2 −1 core/src/main/java/cucumber/runtime/Utils.java
  16. +7 −1 core/src/test/java/cucumber/formatter/FormatterFactoryTest.java
  17. +1 −0 core/src/test/java/cucumber/formatter/HTMLFormatterTest.java
  18. +5 −0 core/src/test/java/cucumber/formatter/TestFormatter.java
  19. +52 −3 core/src/test/java/cucumber/runtime/RuntimeTest.java
  20. +19 −0 core/src/test/java/cucumber/runtime/UtilsTest.java
  21. +2 −2 core/src/test/java/cucumber/runtime/autocomplete/StepdefGeneratorTest.java
  22. +1 −1 examples/groovy-calculator/pom.xml
  23. +1 −1 examples/java-calculator/pom.xml
  24. +1 −1 examples/java-webbit-websockets-selenium/pom.xml
  25. +1 −1 examples/scala-calculator/pom.xml
  26. +1 −1 groovy/pom.xml
  27. +1 −1 guice/pom.xml
  28. +1 −1 ioke/pom.xml
  29. +1 −1 java/pom.xml
  30. +0 −2 java/src/test/java/cucumber/runtime/java/JavaBackendTest.java
  31. +1 −1 jruby/pom.xml
  32. +1 −1 junit/pom.xml
  33. +1 −0 junit/src/main/java/cucumber/junit/Cucumber.java
  34. +5 −0 junit/src/main/java/cucumber/junit/JUnitReporter.java
  35. +1 −1 jython/pom.xml
  36. +1 −1 openejb/pom.xml
  37. +1 −1 picocontainer/pom.xml
  38. +4 −9 pom.xml
  39. +1 −1 rhino/pom.xml
  40. +1 −1 scala/pom.xml
  41. +1 −1 spring/pom.xml
  42. +1 −1 weld/pom.xml
View
7 History.md
@@ -1,6 +1,9 @@
-## In Git
+## [1.0.0.RC13](https://github.com/cucumber/cucumber-jvm/compare/v1.0.0.RC12...v1.0.0.RC13)
-* [JUnit] Better reporting of BEfore and After blocks (Aslak Hellesøy)
+* [Clojure] Fixed hooks ([#175](https://github.com/cucumber/cucumber-jvm/pull/175) Ronaldo M. Ferraz)
+* [Core] Properly flush and close formatters ([#173](https://github.com/cucumber/cucumber-jvm/pull/173) Aslak Hellesøy, David Kowis)
+* [Core] Use Gherkin's internal Gson (Aslak Hellesøy)
+* [JUnit] Better reporting of Before and After blocks (Aslak Hellesøy)
* [Core] Bugfix: Scenario Outlines failing ([#170](https://github.com/cucumber/cucumber-jvm/issues/170) David Kowis, Aslak Hellesøy)
* [OpenEJB] It's back (was excluded from previous releases because it depended on unreleased libs). (Aslak Hellesøy)
View
3 README.md
@@ -20,6 +20,7 @@ Cucumber-JVM also integrates with the following Dependency Injection containers:
* PicoContainer
* Spring
* CDI/Weld
+* OpenEJB
## Downloading / Installation
@@ -80,7 +81,7 @@ You will find an example in Git under examples/java-calculator. You should be ab
## Building Cucumber-JVM
-Cucumber-JVM is built with [Maven](http://mvn.apache.org/).
+Cucumber-JVM is built with [Maven](http://maven.apache.org/).
mvn clean install
View
2 clojure/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-clojure</artifactId>
View
5 clojure/src/main/java/cucumber/runtime/clojure/ClojureHookDefinition.java
@@ -9,6 +9,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.List;
import static java.util.Arrays.asList;
@@ -24,7 +25,9 @@ public ClojureHookDefinition(String[] tagExpressions, IFn closure) {
// Clojure's AFunction.invokeWithArgs doesn't take varargs :-/
private Method lookupInvokeMethod(Object[] args) throws NoSuchMethodException {
- return IFn.class.getMethod("invoke", (Class<?>[]) Utils.listOf(args.length, String.class).toArray());
+ List<Class<Object>> classes = Utils.listOf(args.length, Object.class);
+ Class<?>[] params = classes.toArray(new Class<?>[classes.size()]);
+ return IFn.class.getMethod("invoke", params);
}
@Override
View
3 clojure/src/test/resources/cucumber/runtime/clojure/stepdefs.clj
@@ -1,5 +1,8 @@
(use 'cucumber.runtime.clojure.belly)
+(Before)
+(After)
+
(Given #"^I have (\d+) cukes in my belly$"
#(eat (Float. %1)))
View
6 core/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-core</artifactId>
@@ -26,10 +26,6 @@
<artifactId>diffutils</artifactId>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </dependency>
- <dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-html</artifactId>
</dependency>
View
15 core/src/main/java/cucumber/cli/Main.java
@@ -34,7 +34,7 @@ public static void run(String[] argv, ClassLoader classLoader, RuntimeFactory ru
String dotCucumber = null;
boolean isDryRun = false;
- FormatterFactory formatterFactory = new FormatterFactory();
+ FormatterFactory formatterFactory = new FormatterFactory(classLoader);
MultiFormatter multiFormatter = new MultiFormatter(classLoader);
while (!args.isEmpty()) {
@@ -87,8 +87,12 @@ public static void run(String[] argv, ClassLoader classLoader, RuntimeFactory ru
if (dotCucumber != null) {
writeDotCucumber(featurePaths, dotCucumber, runtime);
}
- run(featurePaths, filters, multiFormatter, runtime);
+ Formatter formatter = multiFormatter.formatterProxy();
+ Reporter reporter = multiFormatter.reporterProxy();
+ runtime.run(featurePaths, filters, formatter, reporter);
+ formatter.done();
printSummary(runtime);
+ formatter.close();
System.exit(runtime.exitStatus());
}
@@ -98,13 +102,6 @@ private static void writeDotCucumber(List<String> featurePaths, String dotCucumb
runtime.writeStepdefsJson(featurePaths, dotCucumber);
}
- private static void run(List<String> featurePaths, List<Object> filters, MultiFormatter multiFormatter, Runtime runtime) throws IOException {
- Formatter formatter = multiFormatter.formatterProxy();
- Reporter reporter = multiFormatter.reporterProxy();
- runtime.run(featurePaths, filters, formatter, reporter);
- formatter.done();
- }
-
private static void printSummary(Runtime runtime) {
new SummaryPrinter(System.out).print(runtime);
}
View
10 core/src/main/java/cucumber/formatter/FormatterFactory.java
@@ -3,6 +3,7 @@
import cucumber.runtime.CucumberException;
import gherkin.formatter.Formatter;
import gherkin.formatter.JSONFormatter;
+import gherkin.formatter.JSONPrettyFormatter;
import gherkin.formatter.PrettyFormatter;
import java.io.File;
@@ -12,13 +13,20 @@
public class FormatterFactory {
+ private final ClassLoader classLoader;
+
private static final Map<String, String> BUILTIN_FORMATTERS = new HashMap<String, String>() {{
put("progress", ProgressFormatter.class.getName());
put("html", HTMLFormatter.class.getName());
put("json", JSONFormatter.class.getName());
+ put("json-pretty", JSONPrettyFormatter.class.getName());
put("pretty", PrettyFormatter.class.getName());
}};
+ public FormatterFactory(ClassLoader classLoader) {
+ this.classLoader = classLoader;
+ }
+
public Formatter createFormatter(String formatterName, Object out) {
String className = BUILTIN_FORMATTERS.containsKey(formatterName) ? BUILTIN_FORMATTERS.get(formatterName) : formatterName;
return createFormatterFromClassName(className, out);
@@ -53,7 +61,7 @@ private Formatter createFormatterFromClassName(String className, Object out) {
private Class<Formatter> getFormatterClass(String className) {
try {
- return (Class<Formatter>) Class.forName(className);
+ return (Class<Formatter>) classLoader.loadClass(className);
} catch (ClassNotFoundException e) {
throw new CucumberException("Formatter class not found: " + className, e);
}
View
10 core/src/main/java/cucumber/formatter/HTMLFormatter.java
@@ -1,8 +1,8 @@
package cucumber.formatter;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
import cucumber.runtime.CucumberException;
+import gherkin.deps.com.google.gson.Gson;
+import gherkin.deps.com.google.gson.GsonBuilder;
import gherkin.formatter.Formatter;
import gherkin.formatter.Mappable;
import gherkin.formatter.NiceAppendable;
@@ -104,10 +104,14 @@ public void syntaxError(String state, String event, List<String> legalEvents, St
@Override
public void done() {
jsOut().append("});");
- jsOut().close();
copyReportFiles();
}
+ @Override
+ public void close() {
+ jsOut().close();
+ }
+
private void writeToJsReport(String functionName, Mappable statement) {
String json = gson.toJson(statement.toMap());
writeToJsReport(functionName, json);
View
7 core/src/main/java/cucumber/formatter/MultiFormatter.java
@@ -9,6 +9,9 @@
import java.util.ArrayList;
import java.util.List;
+/**
+ * Utility for creating a formatter that delegates to multiple underlying formatters.
+ */
public class MultiFormatter {
private final List<Formatter> formatters = new ArrayList<Formatter>();
private final ClassLoader classLoader;
@@ -21,10 +24,6 @@ public void add(Formatter formatter) {
formatters.add(formatter);
}
- public boolean isEmpty() {
- return formatters.isEmpty();
- }
-
public Formatter formatterProxy() {
return (Formatter) Proxy.newProxyInstance(classLoader, new Class<?>[]{Formatter.class}, new InvocationHandler() {
@Override
View
4 core/src/main/java/cucumber/formatter/NullReporter.java
@@ -55,6 +55,10 @@ public void done() {
}
@Override
+ public void close() {
+ }
+
+ @Override
public void result(Result result) {
}
View
5 core/src/main/java/cucumber/formatter/ProgressFormatter.java
@@ -83,6 +83,11 @@ public void done() {
}
@Override
+ public void close() {
+ out.close();
+ }
+
+ @Override
public void result(Result result) {
if (!monochrome) {
ANSI_ESCAPES.get(result.getStatus()).appendTo(out);
View
4 core/src/main/java/cucumber/runtime/FeatureBuilder.java
@@ -75,6 +75,10 @@ public void syntaxError(String state, String event, List<String> legalEvents, St
public void done() {
}
+ @Override
+ public void close() {
+ }
+
public void parse(Resource resource, List<Object> filters) {
Formatter formatter = this;
if (!filters.isEmpty()) {
View
4 core/src/main/java/cucumber/runtime/RuntimeGlue.java
@@ -1,12 +1,12 @@
package cucumber.runtime;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
import cucumber.io.FileResourceLoader;
import cucumber.runtime.autocomplete.MetaStepdef;
import cucumber.runtime.autocomplete.StepdefGenerator;
import cucumber.runtime.converters.LocalizedXStreams;
import cucumber.runtime.model.CucumberFeature;
+import gherkin.deps.com.google.gson.Gson;
+import gherkin.deps.com.google.gson.GsonBuilder;
import gherkin.formatter.Argument;
import gherkin.formatter.model.Step;
View
3 core/src/main/java/cucumber/runtime/Utils.java
@@ -15,7 +15,8 @@
}
public static boolean isInstantiable(Class<?> clazz) {
- return Modifier.isPublic(clazz.getModifiers()) && !Modifier.isAbstract(clazz.getModifiers());
+ boolean isNonStaticInnerClass = !Modifier.isStatic(clazz.getModifiers()) && clazz.getEnclosingClass() != null;
+ return Modifier.isPublic(clazz.getModifiers()) && !Modifier.isAbstract(clazz.getModifiers()) && !isNonStaticInnerClass;
}
public static boolean hasConstructor(Class<?> clazz, Class[] paramTypes) {
View
8 core/src/test/java/cucumber/formatter/FormatterFactoryTest.java
@@ -2,6 +2,7 @@
import gherkin.formatter.Formatter;
import gherkin.formatter.JSONFormatter;
+import gherkin.formatter.JSONPrettyFormatter;
import gherkin.formatter.PrettyFormatter;
import org.junit.Test;
@@ -14,14 +15,19 @@
public class FormatterFactoryTest {
- private final FormatterFactory formatterFactory = new FormatterFactory();
+ private final FormatterFactory formatterFactory = new FormatterFactory(Thread.currentThread().getContextClassLoader());
@Test
public void shouldInstantiateJsonFormatter() {
assertThat(formatterFactory.createFormatter("json", System.out), is(JSONFormatter.class));
}
@Test
+ public void shouldInstantiateJsonPrettyFormatter() {
+ assertThat(formatterFactory.createFormatter("json-pretty", System.out), is(JSONPrettyFormatter.class));
+ }
+
+ @Test
public void shouldInstantiatePrettyFormatter() {
assertThat(formatterFactory.createFormatter("pretty", System.out), is(PrettyFormatter.class));
}
View
1 core/src/test/java/cucumber/formatter/HTMLFormatterTest.java
@@ -32,6 +32,7 @@ public void writes_proper_html() throws IOException {
Runtime runtime = new Runtime(resourceLoader, gluePaths, classLoader, asList(mock(Backend.class)), false);
runtime.run(features.get(0), f, f);
f.done();
+ f.close();
// Let's verify that the JS we wrote parses nicely
View
5 core/src/test/java/cucumber/formatter/TestFormatter.java
@@ -74,4 +74,9 @@ public void syntaxError(String state, String event, List<String> legalEvents, St
public void done() {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public void close() {
+ throw new UnsupportedOperationException();
+ }
}
View
55 core/src/test/java/cucumber/runtime/RuntimeTest.java
@@ -2,7 +2,7 @@
import cucumber.io.ClasspathResourceLoader;
import cucumber.runtime.model.CucumberFeature;
-import gherkin.formatter.JSONFormatter;
+import gherkin.formatter.JSONPrettyFormatter;
import org.junit.Test;
import java.util.Collections;
@@ -23,12 +23,61 @@ public void runs_feature_with_json_formatter() throws Exception {
" Scenario: scenario name\n" +
" When s\n");
StringBuilder out = new StringBuilder();
- JSONFormatter jsonFormatter = new JSONFormatter(out);
+ JSONPrettyFormatter jsonFormatter = new JSONPrettyFormatter(out);
List<Backend> backends = asList(mock(Backend.class));
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
new Runtime(new ClasspathResourceLoader(classLoader), Collections.<String>emptyList(), classLoader, backends, true).run(feature, jsonFormatter, jsonFormatter);
jsonFormatter.done();
- String expected = "[{\"id\":\"feature-name\",\"description\":\"\",\"name\":\"feature name\",\"keyword\":\"Feature\",\"line\":1,\"elements\":[{\"description\":\"\",\"name\":\"background name\",\"keyword\":\"Background\",\"line\":2,\"steps\":[{\"result\":{\"status\":\"undefined\"},\"name\":\"b\",\"keyword\":\"Given \",\"line\":3,\"match\":{}}],\"type\":\"background\"},{\"id\":\"feature-name;scenario-name\",\"description\":\"\",\"name\":\"scenario name\",\"keyword\":\"Scenario\",\"line\":4,\"steps\":[{\"result\":{\"status\":\"undefined\"},\"name\":\"s\",\"keyword\":\"When \",\"line\":5,\"match\":{}}],\"type\":\"scenario\"}],\"uri\":\"test.feature\"}]";
+ String expected = "" +
+ "[\n" +
+ " {\n" +
+ " \"id\": \"feature-name\",\n" +
+ " \"description\": \"\",\n" +
+ " \"name\": \"feature name\",\n" +
+ " \"keyword\": \"Feature\",\n" +
+ " \"line\": 1,\n" +
+ " \"elements\": [\n" +
+ " {\n" +
+ " \"description\": \"\",\n" +
+ " \"name\": \"background name\",\n" +
+ " \"keyword\": \"Background\",\n" +
+ " \"line\": 2,\n" +
+ " \"steps\": [\n" +
+ " {\n" +
+ " \"result\": {\n" +
+ " \"status\": \"undefined\"\n" +
+ " },\n" +
+ " \"name\": \"b\",\n" +
+ " \"keyword\": \"Given \",\n" +
+ " \"line\": 3,\n" +
+ " \"match\": {}\n" +
+ " }\n" +
+ " ],\n" +
+ " \"type\": \"background\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"id\": \"feature-name;scenario-name\",\n" +
+ " \"description\": \"\",\n" +
+ " \"name\": \"scenario name\",\n" +
+ " \"keyword\": \"Scenario\",\n" +
+ " \"line\": 4,\n" +
+ " \"steps\": [\n" +
+ " {\n" +
+ " \"result\": {\n" +
+ " \"status\": \"undefined\"\n" +
+ " },\n" +
+ " \"name\": \"s\",\n" +
+ " \"keyword\": \"When \",\n" +
+ " \"line\": 5,\n" +
+ " \"match\": {}\n" +
+ " }\n" +
+ " ],\n" +
+ " \"type\": \"scenario\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"uri\": \"test.feature\"\n" +
+ " }\n" +
+ "]";
assertEquals(expected, out.toString());
}
}
View
19 core/src/test/java/cucumber/runtime/UtilsTest.java
@@ -2,9 +2,12 @@
import org.junit.Test;
+import static cucumber.runtime.Utils.isInstantiable;
import static cucumber.runtime.Utils.packageName;
import static cucumber.runtime.Utils.packagePath;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class UtilsTest {
@Test
@@ -18,4 +21,20 @@ public void finds_path_for_class_in_toplevel_package() {
assertEquals("", packageName("TopLevelClass"));
assertEquals("", packagePath(packageName("TopLevelClass")));
}
+
+ @Test
+ public void public_non_static_inner_classes_are_not_instantiable() {
+ assertFalse(isInstantiable(NonStaticInnerClass.class));
+ }
+
+ @Test
+ public void public_static_inner_classes_are_instantiable() {
+ assertTrue(isInstantiable(StaticInnerClass.class));
+ }
+
+ public class NonStaticInnerClass {
+ }
+
+ public static class StaticInnerClass {
+ }
}
View
4 core/src/test/java/cucumber/runtime/autocomplete/StepdefGeneratorTest.java
@@ -1,13 +1,13 @@
package cucumber.runtime.autocomplete;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
import cucumber.io.Resource;
import cucumber.runtime.FeatureBuilder;
import cucumber.runtime.JdkPatternArgumentMatcher;
import cucumber.runtime.ParameterType;
import cucumber.runtime.StepDefinition;
import cucumber.runtime.model.CucumberFeature;
+import gherkin.deps.com.google.gson.Gson;
+import gherkin.deps.com.google.gson.GsonBuilder;
import gherkin.formatter.Argument;
import gherkin.formatter.model.Step;
import org.junit.Test;
View
2 examples/groovy-calculator/pom.xml
@@ -8,7 +8,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../../pom.xml</relativePath>
- <version>1.0.0.RC7-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>groovy-calculator</artifactId>
View
2 examples/java-calculator/pom.xml
@@ -8,7 +8,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../../pom.xml</relativePath>
- <version>1.0.0.RC7-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>java-calculator</artifactId>
View
2 examples/java-webbit-websockets-selenium/pom.xml
@@ -8,7 +8,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../../pom.xml</relativePath>
- <version>1.0.0.RC7-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>java-webbit-websockets-selenium</artifactId>
View
2 examples/scala-calculator/pom.xml
@@ -8,7 +8,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../../pom.xml</relativePath>
- <version>1.0.0.RC7-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>scala-calculator</artifactId>
View
2 groovy/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-groovy</artifactId>
View
2 guice/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-guice</artifactId>
View
2 ioke/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-ioke</artifactId>
View
2 java/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-java</artifactId>
View
2 java/src/test/java/cucumber/runtime/java/JavaBackendTest.java
@@ -7,8 +7,6 @@
import cucumber.runtime.StepDefinitionMatch;
import cucumber.runtime.java.test.Stepdefs;
import gherkin.formatter.model.Step;
-import gherkin.formatter.model.DataTableRow;
-import gherkin.formatter.model.DocString;
import org.junit.Test;
import java.io.File;
View
2 jruby/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-jruby</artifactId>
View
2 junit/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-junit</artifactId>
View
1 junit/src/main/java/cucumber/junit/Cucumber.java
@@ -80,6 +80,7 @@ public void run(RunNotifier notifier) {
super.run(notifier);
jUnitReporter.done();
new SummaryPrinter(System.out).print(runtime);
+ jUnitReporter.close();
}
private void assertNoDeclaredMethods(Class clazz) {
View
5 junit/src/main/java/cucumber/junit/JUnitReporter.java
@@ -133,4 +133,9 @@ public void syntaxError(String state, String event, List<String> legalEvents, St
public void done() {
formatter.done();
}
+
+ @Override
+ public void close() {
+ formatter.close();
+ }
}
View
2 jython/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-jython</artifactId>
View
2 openejb/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-openejb</artifactId>
View
2 picocontainer/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-picocontainer</artifactId>
View
13 pom.xml
@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Cucumber-JVM</name>
<url>http://cukes.info/</url>
@@ -15,7 +15,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<outputDirectory>${project.build.directory}</outputDirectory>
- <gherkin.version>2.7.4</gherkin.version>
+ <gherkin.version>2.7.6</gherkin.version>
<groovy.version>1.8.5</groovy.version>
</properties>
<licenses>
@@ -169,19 +169,14 @@
<version>1.9.0</version>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.1</version>
- </dependency>
- <dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
- <version>2.15.0</version>
+ <version>2.17.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
- <version>2.15.0</version>
+ <version>2.17.0</version>
</dependency>
<dependency>
<groupId>org.webbitserver</groupId>
View
2 rhino/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-rhino</artifactId>
View
2 scala/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-scala</artifactId>
View
2 spring/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-spring</artifactId>
View
2 weld/pom.xml
@@ -5,7 +5,7 @@
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<relativePath>../pom.xml</relativePath>
- <version>1.0.0.RC13-SNAPSHOT</version>
+ <version>1.0.0.RC14-SNAPSHOT</version>
</parent>
<artifactId>cucumber-weld</artifactId>

0 comments on commit 3e970a5

Please sign in to comment.