Author: tchemit
Date: 2008-10-02 17:46:54 +0000 (Thu, 02 Oct 2008)
New Revision: 876
Added:
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/AbstractCompilerTest.java
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/I18nTest.java
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/JButton.jaxx
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JDialog.jaxx
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JTabbedPane.jaxx
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JButton.jaxx
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane.jaxx
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane2.jaxx
Modified:
lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/CompilerTest.java
Log:
add I18nTest
Added: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/AbstractCompilerTest.java
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/AbstractCompilerTest.java (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/AbstractCompilerTest.java 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1,95 @@
+package org.codelutin.jaxx;
+
+import junit.framework.TestCase;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/** @author chemit */
+public abstract class AbstractCompilerTest extends TestCase {
+ /** log */
+ protected static final Log log = LogFactory.getLog(I18nTest.class);
+ /** mojo goal */
+ protected JaxxGeneratorMojo goal;
+
+ protected static final String PREFIX_PACKAGE = "testcases";
+ protected static File basedir;
+ protected static File srcDir;
+ protected static File outDir;
+ protected static File ClassOutDir;
+ protected static File ResourcesOutDir;
+
+ public static File getBasedir() {
+ if (basedir == null) {
+ String basedirStr = System.getProperty("basedir");
+ basedir = new File(basedirStr == null ? "." : basedirStr);
+ log.info("use basedir : "+basedir);
+ }
+ return basedir;
+ }
+
+ protected static File getSrcDir() {
+ if (srcDir == null) {
+ srcDir = new File(getBasedir(), "src" + File.separator + "test" + File.separator + "java");
+ }
+ return srcDir;
+ }
+
+ protected static File getOutDir() {
+ if (outDir == null) {
+ outDir = new File(getBasedir(), "target" + File.separator + "test-generated-sources" + File.separator + "java");
+ outDir.mkdirs();
+ }
+ return outDir;
+ }
+
+ protected static File getClassOutDir() {
+ if (ClassOutDir == null) {
+ ClassOutDir = new File(getBasedir(), "target" + File.separator + "test-classes");
+ ClassOutDir.mkdirs();
+ }
+ return ClassOutDir;
+ }
+
+ protected static File getResourcesOutDir() {
+ if (ResourcesOutDir == null) {
+ ResourcesOutDir = new File(getBasedir(), "target" + File.separator + "test-classes");
+ ResourcesOutDir.mkdirs();
+ }
+ return ResourcesOutDir;
+ }
+
+ @Override
+ public void setUp() throws IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, MojoExecutionException, MojoFailureException {
+ CompileConfig anno = getClass().getMethod(getName()).getAnnotation(CompileConfig.class);
+ assertNotNull("could not found " + CompileConfig.class.getSimpleName() + " annotation on test " + getClass(), anno);
+ final File srcDir = getSrcDir();
+ assertTrue("could not found srcDir (or not existing) : " + srcDir + " on test " + getClass(), srcDir != null && srcDir.exists());
+ final File outDir = getOutDir();
+ assertTrue("could not found outDir (or not existing) : " + outDir + " on test " + getClass(), outDir != null && outDir.exists());
+ final File classOutDir = getClassOutDir();
+ assertTrue("could not found classOutDir (or not existing) : " + classOutDir + " on test " + getClass(), classOutDir != null && classOutDir.exists());
+ final File resourcesOutDir = getResourcesOutDir();
+ assertTrue("could not found classOutDir (or not existing) : " + resourcesOutDir + " on test " + getClass(), resourcesOutDir != null && resourcesOutDir.exists());
+ String packageName = anno.packageName();
+ goal = new JaxxGeneratorMojo();
+ goal.setSrc(srcDir);
+ goal.setOutJava(outDir);
+ goal.setOutClass(classOutDir);
+ goal.setOutResource(resourcesOutDir);
+ //goal.setIncludes(new String[]{"**\\/" + PREFIX_PACKAGE + "\\/" + packageName + "\\/*.jaxx"});
+ String expression = packageName.replaceAll("\\.", "\\\\/");
+ goal.setIncludes(new String[]{"**\\/" + PREFIX_PACKAGE + "\\/" + expression + "\\/*.jaxx"});
+ goal.setOptimize(anno.optimize());
+ goal.setVerbose(anno.verbose());
+ //TODO Use the maven plexus TestCase inorder to include dependencies
+ goal.setJavaOpts(anno.javaOpts());
+ log.info("setUp test " + getName());
+ }
+}
Modified: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/CompilerTest.java
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/CompilerTest.java 2008-10-02 15:27:39 UTC (rev 875)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/CompilerTest.java 2008-10-02 17:46:54 UTC (rev 876)
@@ -1,100 +1,10 @@
package org.codelutin.jaxx;
-import junit.framework.TestCase;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
+public class CompilerTest extends AbstractCompilerTest {
-public class CompilerTest extends TestCase {
-
- protected JaxxGeneratorMojo goal;
-
- protected static final String PREFIX_PACKAGE = "testcases";
-
- protected static File basedir;
-
- public static File getBasedir() {
- if (basedir == null) {
- String basedirStr = System.getProperty("basedir");
- basedir = new File(basedirStr == null ? "." : basedirStr);
- }
- return basedir;
- }
-
- protected static File srcDir;
-
- protected static File getSrcDir() {
- if (srcDir == null) {
- srcDir = new File(getBasedir(),"src" + File.separator + "test" + File.separator + "java");
- }
- return srcDir;
- }
-
- protected static File outDir;
-
- protected static File getOutDir() {
- if (outDir == null) {
- outDir = new File(getBasedir(), "target" + File.separator + "test-gen-java");
- outDir.mkdirs();
- }
- return outDir;
- }
-
- protected static File ClassOutDir;
-
- protected static File getClassOutDir() {
- if (ClassOutDir == null) {
- ClassOutDir = new File(getBasedir(),"target" + File.separator + "test-classes");
- ClassOutDir.mkdirs();
- }
- return ClassOutDir;
- }
-
- protected static File ResourcesOutDir;
-
- protected static File getResourcesOutDir() {
- if (ResourcesOutDir == null) {
- ResourcesOutDir = new File(getBasedir(),"target" + File.separator + "test-classes");
- ResourcesOutDir.mkdirs();
- }
- return ResourcesOutDir;
- }
-
- @Override
- public void setUp() throws IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, MojoExecutionException, MojoFailureException {
- CompileConfig anno = getClass().getMethod(getName()).getAnnotation(CompileConfig.class);
- assertNotNull("could not found " + CompileConfig.class.getSimpleName() + " annotation on test " + getClass(), anno);
- final File srcDir = getSrcDir();
- assertTrue("could not found srcDir (or not existing) : " + srcDir + " on test " + getClass(), srcDir != null && srcDir.exists());
- final File outDir = getOutDir();
- assertTrue("could not found outDir (or not existing) : " + outDir + " on test " + getClass(), outDir != null && outDir.exists());
- final File classOutDir = getClassOutDir();
- assertTrue("could not found classOutDir (or not existing) : " + classOutDir + " on test " + getClass(), classOutDir != null && classOutDir.exists());
- final File resourcesOutDir = getResourcesOutDir();
- assertTrue("could not found classOutDir (or not existing) : " + resourcesOutDir + " on test " + getClass(), resourcesOutDir != null && resourcesOutDir.exists());
- String packageName = anno.packageName();
- goal = new JaxxGeneratorMojo();
- goal.setSrc(srcDir);
- goal.setOutJava(outDir);
- goal.setOutClass(classOutDir);
- goal.setOutResource(resourcesOutDir);
- //goal.setIncludes(new String[]{"**\\/" + PREFIX_PACKAGE + "\\/" + packageName + "\\/*.jaxx"});
- goal.setIncludes(new String[]{"**\\/" + PREFIX_PACKAGE + "\\/" + packageName + "\\/*.jaxx"});
- goal.setOptimize(anno.optimize());
- goal.setVerbose(anno.verbose());
- //TODO Use the maven plexus TestCase inorder to include dependencies
- goal.setJavaOpts(anno.javaOpts());
- goal.getLog().info("setUp test " + getName());
- }
-
- /*protected void tearDown() throws Exception {
- super.tearDown();
-
- } */
-
@CompileConfig(packageName = "InnerClasses", runJavac = true)
public void testInnerClasses() throws MojoExecutionException, MojoFailureException {
goal.execute();
@@ -113,12 +23,12 @@
goal.execute();
}
- @CompileConfig(packageName = "CSSTests", verbose = true)
+ @CompileConfig(packageName = "CSSTests", verbose = false)
public void testCssTests() throws MojoExecutionException, MojoFailureException {
goal.execute();
}
- @CompileConfig(packageName = "errors", verbose = true)
+ @CompileConfig(packageName = "errors", verbose = false)
public void testErrors() throws MojoExecutionException, MojoFailureException {
//fixme : launch a goal for each files found : since we should failed for some files...
//goal.execute();
Copied: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/I18nTest.java (from rev 874, lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/CompilerTest.java)
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/I18nTest.java (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/I18nTest.java 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1,47 @@
+package org.codelutin.jaxx;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codelutin.util.FileUtil;
+
+import java.io.File;
+import java.io.IOException;
+
+public class I18nTest extends AbstractCompilerTest {
+
+ @CompileConfig(packageName = "i18n.text", verbose = true)
+ public void testI18nText() throws MojoExecutionException, MojoFailureException, IOException {
+ goal.execute();
+ assertTrue(true);
+ checkPattern("testId.setText(_(\"test.text\"));");
+ }
+
+ @CompileConfig(packageName = "i18n.title", verbose = true)
+ public void testI18nTitle() throws MojoExecutionException, MojoFailureException, IOException {
+ goal.execute();
+ assertTrue(true);
+ checkPattern("testId.setTitle(_(\"test.title\"));");
+ }
+
+ @CompileConfig(packageName = "i18n.tooltiptext", verbose = true)
+ public void testI18nToolTipText() throws MojoExecutionException, MojoFailureException, IOException {
+ goal.execute();
+ assertTrue(true);
+ checkPattern("testId.setToolTipText(_(\"test.toolTipText\"));");
+ }
+
+ protected void checkPattern(String pattern) throws IOException {
+ String[] files = goal.getFiles();
+ for (String file : files) {
+ // check we have a the required testId.setTitle(_("test.title"));
+ File f = new File(getOutDir(), file.substring(0, file.length() - 4) + "java");
+ log.info("check generated file " + f);
+
+ assertTrue("generated file " + f + " was not found...", f.exists());
+ String content = FileUtil.readAsString(f);
+ assertTrue("could not find the pattern : " + pattern + " in file " + f, content.contains(pattern));
+ }
+ }
+
+
+}
\ No newline at end of file
Property changes on: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/org/codelutin/jaxx/I18nTest.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/JButton.jaxx (from rev 874, lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/OverridingDataBindings/CurrentTime.jaxx)
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/JButton.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/JButton.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1 @@
+<JButton id='testId' text='test.text'/>
\ No newline at end of file
Property changes on: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/text/JButton.jaxx
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JDialog.jaxx (from rev 874, lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/Script/JScriptInitializer.jaxx)
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JDialog.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JDialog.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1 @@
+<JDialog id='testId' title='test.title'/>
Property changes on: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JDialog.jaxx
___________________________________________________________________
Name: svn:mergeinfo
+
Added: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JTabbedPane.jaxx
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JTabbedPane.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/title/JTabbedPane.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1,3 @@
+ <JTabbedPane>
+ <tab id="testId" title='test.title'/>
+</JTabbedPane>
\ No newline at end of file
Added: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JButton.jaxx
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JButton.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JButton.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1 @@
+<JButton id='testId' toolTipText='test.toolTipText'/>
\ No newline at end of file
Added: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane.jaxx
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1,3 @@
+ <JTabbedPane id="testId" toolTipText='test.toolTipText'>
+ <tab title="text"/>
+</JTabbedPane>
\ No newline at end of file
Added: lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane2.jaxx
===================================================================
--- lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane2.jaxx (rev 0)
+++ lutinjaxx/trunk/maven-jaxx-plugin/src/test/java/testcases/i18n/tooltiptext/JTabbedPane2.jaxx 2008-10-02 17:46:54 UTC (rev 876)
@@ -0,0 +1,3 @@
+ <JTabbedPane>
+ <tab id="testId" toolTipText='test.toolTipText'/>
+</JTabbedPane>
\ No newline at end of file