Title: [1370] trunk/core/jbehave-core/src/java/org/jbehave/scenario/steps: Best attempt in ensure backward compatibility when using deprecated Steps(String[] startingWords).
Revision
1370
Author
mauro
Date
2009-10-30 04:56:50 -0500 (Fri, 30 Oct 2009)

Log Message

Best attempt in ensure backward compatibility when using deprecated Steps(String[] startingWords).
LolCatzSteps used to verify backward compatibility is not broken.

Modified Paths

Diff

Modified: trunk/core/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/steps/LolCatzSteps.java (1369 => 1370)

--- trunk/core/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/steps/LolCatzSteps.java	2009-10-30 09:31:37 UTC (rev 1369)
+++ trunk/core/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/steps/LolCatzSteps.java	2009-10-30 09:56:50 UTC (rev 1370)
@@ -31,7 +31,7 @@
     }
     
     public LolCatzSteps(OAndXUniverse universe) {
-    	super(lolCatsKeywords());
+    	super("Gief", "Wen", "Den", "And"); //deprecated, use super(lolCatsKeywords()); 
 		this.universe = universe;
 	}
     

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/KeyWords.java (1369 => 1370)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/KeyWords.java	2009-10-30 09:31:37 UTC (rev 1369)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/KeyWords.java	2009-10-30 09:56:50 UTC (rev 1370)
@@ -14,17 +14,17 @@
  */
 public class KeyWords {
 
-	static final String SCENARIO = "Scenario";
-	static final String GIVEN_SCENARIOS = "GivenScenarios";
-	static final String EXAMPLES_TABLE = "ExamplesTable";
-	static final String GIVEN = "Given";
-	static final String WHEN = "When";
-	static final String THEN = "Then";
-	static final String AND = "And";
-	static final String PENDING = "Pending";
-	static final String NOT_PERFORMED = "NotPerformed";
-	static final String FAILED = "Failed";
-	static final String EXAMPLES_TABLE_ROW = "ExamplesTableRow";
+	public static final String SCENARIO = "Scenario";
+	public static final String GIVEN_SCENARIOS = "GivenScenarios";
+	public static final String EXAMPLES_TABLE = "ExamplesTable";
+	public static final String GIVEN = "Given";
+	public static final String WHEN = "When";
+	public static final String THEN = "Then";
+	public static final String AND = "And";
+	public static final String PENDING = "Pending";
+	public static final String NOT_PERFORMED = "NotPerformed";
+	public static final String FAILED = "Failed";
+	public static final String EXAMPLES_TABLE_ROW = "ExamplesTableRow";
 	protected static final List<String> KEYWORDS = asList(SCENARIO,
 			GIVEN_SCENARIOS, EXAMPLES_TABLE, GIVEN, WHEN, THEN, AND, PENDING,
 			NOT_PERFORMED, FAILED, EXAMPLES_TABLE_ROW);

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java (1369 => 1370)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java	2009-10-30 09:31:37 UTC (rev 1369)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java	2009-10-30 09:56:50 UTC (rev 1370)
@@ -9,6 +9,7 @@
 
 import org.jbehave.scenario.definition.KeyWords;
 import org.jbehave.scenario.i18n.I18nKeyWords;
+import org.jbehave.scenario.i18n.StringEncoder;
 import org.jbehave.scenario.parser.PrefixCapturingPatternBuilder;
 import org.jbehave.scenario.parser.StepPatternBuilder;
 
@@ -79,10 +80,28 @@
 		this.monitor = monitor;
 		this.paranamer = paranamer;
 		this.parameterConverters = parameterConverters;
-		this.keywords = new I18nKeyWords();
+		this.keywords = keywordsFrom(startingWords);
 		this.startingWords = startingWords;
+		this.startingWordsByType = startingWordsByType(this.keywords);
 	}
 
+	/**
+	 * Makes best effort to convert starting words into keywords,
+	 * assuming order (GIVEN,WHEN,THEN,AND)
+	 * @param startingWords
+	 * @return Keywords with given starting words values
+	 */
+	private KeyWords keywordsFrom(String[] startingWords) {
+		Map<String, String> keywords = new HashMap<String, String>();
+		if ( startingWords.length >= 4 ){
+			keywords.put(KeyWords.GIVEN, startingWords[0]);
+			keywords.put(KeyWords.WHEN, startingWords[1]);
+			keywords.put(KeyWords.THEN, startingWords[2]);
+			keywords.put(KeyWords.AND, startingWords[3]);
+		}
+		return new KeyWords(keywords, new StringEncoder());
+	}
+
 	protected String[] startingWordsFrom(KeyWords keywords) {
 		return new String[]{keywords.given(), keywords.when(), keywords.then(), keywords.and()};
 	}
@@ -128,6 +147,9 @@
 		this.parameterConverters = parameterConverters;
 	}
 
+	/**
+	 * @deprecated Use getStartingWordsByType()
+	 */
 	public String[] getStartingWords() {
 		return startingWords;
 	}


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to