commit de9e8c8a63ce293496f345df260cd44673b83ce2
Author:     Paul Hammant <p...@hammant.org>
AuthorDate: Sun Apr 29 10:55:31 2012 +0200
Commit:     Paul Hammant <p...@hammant.org>
CommitDate: Sun Apr 29 10:55:31 2012 +0200

    JBEHAVE-773 - CrossReference should be able to mark pendings as failures

diff --git 
a/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java 
b/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
index 357554c..7c970f9 100755
--- a/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
+++ b/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
@@ -2,6 +2,17 @@ package org.jbehave.core.reporters;
 
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
+import org.jbehave.core.io.StoryLocation;
+import org.jbehave.core.model.ExamplesTable;
+import org.jbehave.core.model.Meta;
+import org.jbehave.core.model.Narrative;
+import org.jbehave.core.model.Scenario;
+import org.jbehave.core.model.StepPattern;
+import org.jbehave.core.model.Story;
+import org.jbehave.core.steps.NullStepMonitor;
+import org.jbehave.core.steps.StepMonitor;
+import org.jbehave.core.steps.StepType;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -13,16 +24,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import org.jbehave.core.io.StoryLocation;
-import org.jbehave.core.model.ExamplesTable;
-import org.jbehave.core.model.Meta;
-import org.jbehave.core.model.Narrative;
-import org.jbehave.core.model.Scenario;
-import org.jbehave.core.model.StepPattern;
-import org.jbehave.core.model.Story;
-import org.jbehave.core.steps.NullStepMonitor;
-import org.jbehave.core.steps.StepMonitor;
-import org.jbehave.core.steps.StepType;
 
 public class CrossReference extends Format {
 
@@ -42,6 +43,7 @@ public class CrossReference extends Format {
     private boolean excludeStoriesWithNoExecutedScenarios = false;
     private boolean outputAfterEachStory = false;
     private Format threadSafeDelegateFormat;
+    private boolean pendingAsFailedStories;
 
     public CrossReference() {
         this("XREF");
@@ -65,6 +67,11 @@ public class CrossReference extends Format {
         return this;
     }
 
+    public CrossReference markPendingStepsAsFailedStories() {
+        pendingAsFailedStories = true;
+        return this;
+    }
+
     public CrossReference withOutputAfterEachStory(boolean 
outputAfterEachStory) {
         this.outputAfterEachStory = outputAfterEachStory;
         return this;
@@ -192,6 +199,14 @@ public class CrossReference extends Format {
             }
 
             @Override
+            public void pending(String step) {
+                if (pendingAsFailedStories) {
+                    failingStories.add(currentStory.get().getPath());
+                }
+                super.pending(step);
+            }
+
+            @Override
             public void failed(String step, Throwable cause) {
                 failingStories.add(currentStory.get().getPath());
                 super.failed(step, cause);



Reply via email to