Title: [1278] trunk/core: Configured UTF-8 encoding of resources, for Eclipse and Maven.
Revision
1278
Author
mauro
Date
2009-09-26 06:47:26 -0500 (Sat, 26 Sep 2009)

Log Message

Configured UTF-8 encoding of resources, for Eclipse and Maven. 

Modified Paths

Added Paths

Diff

Property changes: trunk/core/.settings

Name: svn:ignore
   + org.eclipse.jdt.core.prefs
org.maven.ide.eclipse.prefs

Added: trunk/core/.settings/org.eclipse.core.resources.prefs (0 => 1278)

--- trunk/core/.settings/org.eclipse.core.resources.prefs	                        (rev 0)
+++ trunk/core/.settings/org.eclipse.core.resources.prefs	2009-09-26 11:47:26 UTC (rev 1278)
@@ -0,0 +1,3 @@
+#Sat Sep 26 10:11:15 BST 2009
+eclipse.preferences.version=1
+encoding/<project>=UTF-8

Modified: trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/i18n/I18nKeywordsBehaviour.java (1277 => 1278)

--- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/i18n/I18nKeywordsBehaviour.java	2009-09-25 23:16:35 UTC (rev 1277)
+++ trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/i18n/I18nKeywordsBehaviour.java	2009-09-26 11:47:26 UTC (rev 1278)
@@ -1,11 +1,11 @@
 package org.jbehave.scenario.i18n;
 
-import static java.util.Arrays.asList;
 import static org.junit.Assert.assertEquals;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
-import java.util.List;
 import java.util.Locale;
+import java.util.Properties;
 
 import org.jbehave.scenario.definition.KeyWords;
 import org.junit.Test;
@@ -13,65 +13,65 @@
 public class I18nKeywordsBehaviour {
 
 	@Test
-	public void keywordsInEnglishAsDefault() {
-		ensureKeywordsAre(null, asList("Scenario:", "GivenScenarios:",
-				"Examples:", "Example:", "Given", "When", "Then", "And",
-				"PENDING", "NOT PERFORMED", "FAILED"));
+	public void keywordsInEnglishAsDefault() throws IOException {
+		ensureKeywordsAre(null);
 	}
 
 	@Test
-	public void keywordsInSpanish() {
-		ensureKeywordsAre(new Locale("es"), asList("Escenario:",
-				"Dados los escenarios:", "Ejemplos:", "Ejemplo:", "Dado que",
-				"Cuando", "Entonces", "Y", "PENDIENTE", "NO REALIZADO",
-				"FRACASADO"));
+	public void keywordsInSpanish() throws IOException {
+		ensureKeywordsAre(new Locale("es"));
 	}
 
 	@Test
-	public void keywordsInFrench() {
-		ensureKeywordsAre(new Locale("fr"), asList("ScŽnario:",
-				"DonnŽ les scenarios:", "Exemples:", "Exemple:", "ƒtant donnŽ",
-				"Quand", "Alors", "Et", "EN ATTENDANT", "NON EXƒCUTƒ", "ƒCHOUƒ"));
+	public void keywordsInFrench() throws IOException {
+		ensureKeywordsAre(new Locale("fr"));
 	}
 	
     @Test
-	public void keywordsInItalian() {
-		ensureKeywordsAre(new Locale("it"), asList("Scenario:",
-				"Dati gli scenari:", "Esempi:", "Esempio:", "Dato che",
-				"Quando", "Allora", "E", "PENDENTE", "NON ESEGUITO", "FALLITO"));
+	public void keywordsInItalian() throws IOException {
+		ensureKeywordsAre(new Locale("it"));
 	}
 
-
 	@Test
-	public void keywordsInPortuguese() {
-		ensureKeywordsAre(new Locale("pt"), asList("Cen‡rio:",
-				"Dados os cen‡rios:", "Exemplos:", "Exemplo:", "Dado que",
-				"Quando", "Ent‹o", "E", "PENDENTE", "NÌO EXECUTADO", "FALHADO"));
+	public void keywordsInPortuguese() throws IOException {
+		ensureKeywordsAre(new Locale("pt"));
 	}
 
-	private void ensureKeywordsAre(Locale locale, List<String> expected) {
-		KeyWords keywords = (locale == null ? new I18nKeyWords()
+	private void ensureKeywordsAre(Locale locale) throws IOException {
+		Properties expected = bundleFor(locale);
+		KeyWords keywords = keyWordsFor(locale);		
+		assertUtf8Equals(expected.getProperty("Scenario"), keywords.scenario());
+		assertUtf8Equals(expected.getProperty("GivenScenarios"), keywords.givenScenarios());
+		assertUtf8Equals(expected.getProperty("ExamplesTable"), keywords.examplesTable());
+		assertUtf8Equals(expected.getProperty("ExamplesTableRow"), keywords.examplesTableRow());
+		assertUtf8Equals(expected.getProperty("Given"), keywords.given());
+		assertUtf8Equals(expected.getProperty("When"), keywords.when());
+		assertUtf8Equals(expected.getProperty("Then"), keywords.then());
+		assertUtf8Equals(expected.getProperty("And"), keywords.and());
+		assertUtf8Equals(expected.getProperty("Pending"), keywords.pending());
+		assertUtf8Equals(expected.getProperty("NotPerformed"), keywords.notPerformed());
+		assertUtf8Equals(expected.getProperty("Failed"), keywords.failed());
+	}
+
+	private I18nKeyWords keyWordsFor(Locale locale) {
+		return (locale == null ? new I18nKeyWords()
 				: new I18nKeyWords(locale));
-		assertUtf8Equals(expected.get(0), keywords.scenario());
-		assertUtf8Equals(expected.get(1), keywords.givenScenarios());
-		assertUtf8Equals(expected.get(2), keywords.examplesTable());
-		assertUtf8Equals(expected.get(3), keywords.examplesTableRow());
-		assertUtf8Equals(expected.get(4), keywords.given());
-		assertUtf8Equals(expected.get(5), keywords.when());
-		assertUtf8Equals(expected.get(6), keywords.then());
-		assertUtf8Equals(expected.get(7), keywords.and());
-		assertUtf8Equals(expected.get(8), keywords.pending());
-		assertUtf8Equals(expected.get(9), keywords.notPerformed());
-		assertUtf8Equals(expected.get(10), keywords.failed());
 	}
 
+	private Properties bundleFor(Locale locale) throws IOException {
+		Properties expected = new Properties();
+		String bundle = "org/jbehave/scenario/i18n/keywords_"+( locale == null ? "en" : locale.getLanguage()) +".properties";
+		expected.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(bundle));
+		return expected;
+	}
+
 	private void assertUtf8Equals(String expected, String actual) {
 		assertEquals(utf8(expected), actual);
 	}
 
 	private String utf8(String value) {
 		try {
-			return new String(value.getBytes("UTF-8"), "UTF-8");
+			return new String(value.getBytes("ISO-8859-1"), "UTF-8");
 		} catch (UnsupportedEncodingException e) {
 			throw new RuntimeException(e);
 		}

Modified: trunk/core/pom.xml (1277 => 1278)

--- trunk/core/pom.xml	2009-09-25 23:16:35 UTC (rev 1277)
+++ trunk/core/pom.xml	2009-09-26 11:47:26 UTC (rev 1278)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jbehave</groupId>
   <artifactId>jbehave</artifactId>
@@ -34,7 +35,10 @@
         <version>1.1</version>
       </dependency>
       <dependency>
-        <!-- Optional as only required scenario class name finder, used by Ant and Maven Plugin modules -->
+        <!--
+          Optional as only required scenario class name finder, used by
+          Ant and Maven Plugin modules
+        -->
         <groupId>org.apache.ant</groupId>
         <artifactId>ant</artifactId>
         <version>1.7.0</version>
@@ -165,7 +169,10 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>2.2</version>
+          <version>2.4</version>
+          <configuration>
+            <encoding>UTF-8</encoding>
+          </configuration>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to