jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pmoua...@apache.org
Subject svn commit: r1212777 - /jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java
Date Sat, 10 Dec 2011 11:40:31 GMT
Author: pmouawad
Date: Sat Dec 10 11:40:31 2011
New Revision: 1212777

URL: http://svn.apache.org/viewvc?rev=1212777&view=rev
Log:
Enhanced test to check translation completeness for one language with all available bundles,
added only fr for now to avoid test failures

Modified:
    jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java

Modified: jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java?rev=1212777&r1=1212776&r2=1212777&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/junit/JMeterTest.java Sat Dec 10 11:40:31 2011
@@ -77,6 +77,37 @@ public class JMeterTest extends JMeterTe
     
     private static final Locale DEFAULT_LOCALE = Locale.getDefault(); 
     
+    private static final String[] RESOURCE_BUNDLE_PATHS = new String[] {
+    	"org/apache/jmeter/assertions/BSFAssertionResources.properties",
+    	"org/apache/jmeter/assertions/CompareAssertionResources.properties",
+    	"org/apache/jmeter/assertions/JSR223AssertionResources.properties",
+    	"org/apache/jmeter/config/CSVDataSetResources.properties",
+    	"org/apache/jmeter/config/KeystoreConfigResources.properties",
+    	"org/apache/jmeter/config/RandomVariableConfigResources.properties",
+    	"org/apache/jmeter/extractor/BSFPostProcessorResources.properties",
+    	"org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties",
+    	"org/apache/jmeter/extractor/DebugPostProcessorResources.properties",
+    	"org/apache/jmeter/extractor/JSR223PostProcessorResources.properties",
+    	"org/apache/jmeter/modifiers/BSFPreProcessorResources.properties",
+    	"org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties",
+    	"org/apache/jmeter/modifiers/JSR223PreProcessorResources.properties",
+    	"org/apache/jmeter/sampler/DebugSamplerResources.properties",
+    	"org/apache/jmeter/timers/BSFTimerResources.properties",
+    	"org/apache/jmeter/timers/BeanShellTimerResources.properties",
+    	"org/apache/jmeter/timers/ConstantThroughputTimerResources.properties",
+    	"org/apache/jmeter/timers/JSR223TimerResources.properties",
+    	"org/apache/jmeter/timers/SyncTimerResources.properties",
+    	"org/apache/jmeter/visualizers/BSFListenerResources.properties",
+    	"org/apache/jmeter/visualizers/BeanShellListenerResources.properties",
+    	"org/apache/jmeter/visualizers/JSR223ListenerResources.properties",
+    	"org/apache/jmeter/resources/messages.properties",
+    	"org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources.properties",
+    	"org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources.properties",
+    	"org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources.properties",
+    	"org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources.properties",
+    	"org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties"
+    };
+    
     public JMeterTest(String name) {
         super(name);
     }
@@ -321,7 +352,7 @@ public class JMeterTest extends JMeterTe
         return suite;
     }
 
-    /*
+	/*
      * Test GUI elements - create the suite of tests
      */
     private static Test suiteBeanComponents() throws Exception {
@@ -404,23 +435,31 @@ public class JMeterTest extends JMeterTe
      * @throws Exception
      */
     public void checkI18n() throws Exception {
-    	// TODO Also add other bundles of TestBeans
-    	Properties messages = new Properties();
-    	messages.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("org/apache/jmeter/resources/messages.properties"));
+    	Map<String, Map<String,String>> missingLabelsPerBundle = new HashMap<String,
Map<String,String>>();
+    	for (int i = 0; i < RESOURCE_BUNDLE_PATHS.length; i++) {
+        	Properties messages = new Properties();
+        	log.info("Checking bundle:"+RESOURCE_BUNDLE_PATHS[i]);
+        	messages.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(RESOURCE_BUNDLE_PATHS[i]));
+        	checkMessagesForLanguage( missingLabelsPerBundle , missingLabelsPerBundle, messages,RESOURCE_BUNDLE_PATHS[i],
"fr");
+		}
     	
-    	checkMessagesForLanguage(messages, "fr");
+    	assertEquals(missingLabelsPerBundle.size()+" missing labels, labels missing:"+printLabels(missingLabelsPerBundle),
0, missingLabelsPerBundle.size());
     }
 
 	/**
 	 * Check messages are available in language
+	 * @param missingLabelsPerBundle2 
+	 * @param missingLabelsPerBundle 
 	 * @param messages Properties messages in english
 	 * @param language Language 
 	 * @throws IOException
 	 */
-	private void checkMessagesForLanguage(Properties messages, String language)
+	private void checkMessagesForLanguage(Map<String, Map<String, String>> missingLabelsPerBundle,
Map<String, Map<String, String>> missingLabelsPerBundle2, Properties messages,
String bundlePath,String language)
 			throws IOException {
 		Properties messagesFr = new Properties();
-    	messagesFr.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("org/apache/jmeter/resources/messages_"+language+".properties"));
+		int index = bundlePath.lastIndexOf(".");
+		String languageBundle = bundlePath.substring(0, index)+"_"+language+ ".properties";
+    	messagesFr.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(languageBundle));
     
     	Map<String, String> missingLabels = new TreeMap<String,String>();
     	for (Iterator<Map.Entry<Object,Object>> iterator =  messages.entrySet().iterator();
iterator.hasNext();) {
@@ -430,15 +469,26 @@ public class JMeterTest extends JMeterTe
 				missingLabels.put(key,(String) entry.getValue());
 			}
 		}
-    	assertEquals(missingLabels.size()+" missing labels in language :"+language+", labels
missing:"+printLabels(missingLabels), 0, missingLabels.size());
+    	if(!missingLabels.isEmpty()) {
+    		missingLabelsPerBundle.put(languageBundle, missingLabels);
+    	}
 	}
 
-   
-    private String printLabels(Map<String, String> missingLabels) {
+	/**
+	 * Build message with misssing labels per bundle
+	 * @param missingLabelsPerBundle
+	 * @return String
+	 */
+    private String printLabels(Map<String, Map<String, String>> missingLabelsPerBundle)
{
     	StringBuilder builder = new StringBuilder();
-    	for (Iterator<Map.Entry<String,String>> iterator =  missingLabels.entrySet().iterator();
iterator.hasNext();) {
-    		Map.Entry<String,String> entry = iterator.next();
-			builder.append(entry.getKey()+"="+entry.getValue()+"\r\n");
+    	for (Iterator<Map.Entry<String,Map<String, String>>> iterator =  missingLabelsPerBundle.entrySet().iterator();
iterator.hasNext();) {
+    		Map.Entry<String,Map<String, String>> entry = iterator.next();
+    		builder.append("Missing labels in bundle:"+entry.getKey()+"\r\n");
+        	for (Iterator<Map.Entry<String,String>> it2 =  entry.getValue().entrySet().iterator();
it2.hasNext();) {
+        		Map.Entry<String,String> entry2 = it2.next();
+    			builder.append(entry2.getKey()+"="+entry2.getValue()+"\r\n");
+    		}
+    		builder.append("======================================================\r\n");
 		}
     	return builder.toString();
 	}



Mime
View raw message