commit 7e5563c48190df7f5ca18d22363e8a3b6eebb2e1
Author:     Mauro Talevi <mauro.tal...@aquilonia.org>
AuthorDate: Wed May 9 01:20:49 2012 +0200
Commit:     Mauro Talevi <mauro.tal...@aquilonia.org>
CommitDate: Wed May 9 01:20:49 2012 +0200

    JBEHAVE-777:  Added generation of pending steps methods.

diff --git 
a/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java 
b/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
index 56eeecc..7378a30 100644
--- a/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
+++ b/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
@@ -690,6 +690,26 @@ public class PerformableTree {
                 state = state.run(step, reporter, null);
             }
             context.stateIs(state);
+            generatePendingStepMethods(context, steps);
+        }
+
+        private void generatePendingStepMethods(RunContext context, List<Step> 
steps) {
+            List<PendingStep> pendingSteps = new ArrayList<PendingStep>();
+            for (Step step : steps) {
+                if (step instanceof PendingStep) {
+                    pendingSteps.add((PendingStep) step);
+                }
+            }
+            if (!pendingSteps.isEmpty()) {
+                PendingStepMethodGenerator generator = new 
PendingStepMethodGenerator(context.configuration().keywords());
+                List<String> methods = new ArrayList<String>();
+                for (PendingStep pendingStep : pendingSteps) {
+                    if (!pendingStep.annotated()) {
+                        methods.add(generator.generateMethod(pendingStep));
+                    }
+                }
+                context.reporter().pendingMethods(methods);
+            }
         }
 
         @Override



Reply via email to