[Profit-devs] SF.net SVN: profit: [83] branches/genJavaDirStructSameAsFitnesse/profit
Status: Planning
Brought to you by:
pgr0ss
|
From: <yz...@us...> - 2006-11-30 04:06:50
|
Revision: 83
http://svn.sourceforge.net/profit/?rev=83&view=rev
Author: yzhou12
Date: 2006-11-29 20:06:49 -0800 (Wed, 29 Nov 2006)
Log Message:
-----------
fixed toFitnesse; used "FrontPage" as the default package for page.
Modified Paths:
--------------
branches/genJavaDirStructSameAsFitnesse/profit/build.xml
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTable.java
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTableWriter.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitParserTests.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitnesseParserTests.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/TestTableTests.java
Added Paths:
-----------
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java
Removed Paths:
-------------
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java
Modified: branches/genJavaDirStructSameAsFitnesse/profit/build.xml
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/build.xml 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/build.xml 2006-11-30 04:06:49 UTC (rev 83)
@@ -117,7 +117,7 @@
<classpath path="${profit.dest.sample}" />
<classpath refid="build.classpath" />
<arg value="sample/FitNesseRoot" />
- <arg value="${sample.output}" />
+ <arg value="${sample.output}/toJava" />
</java>
</target>
@@ -126,8 +126,8 @@
<classpath path="${profit.dest.class}" />
<classpath path="${profit.dest.sample}" />
<classpath refid="build.classpath" />
- <arg value="${sample.output}" />
- <arg value="." />
+ <arg value="${sample.output}/toJava" />
+ <arg value="${sample.output}/toFitnesse" />
</java>
</target>
Deleted: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -1,24 +0,0 @@
-package com.thoughtworks.tools.profit;
-
-import antlr.collections.AST;
-
-public class AstNavigator {
-
- private final XmlAstWriter writer;
-
- public AstNavigator(XmlAstWriter writer) {
- this.writer = writer;
- }
-
- public void traverse(AST ast) {
- if (ast == null) {
- return;
- }
-
- writer.writeStart(ast);
- traverse(ast.getFirstChild());
- writer.writeEnd(ast);
- traverse(ast.getNextSibling());
- }
-
-}
\ No newline at end of file
Added: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java (rev 0)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/AstNavigator.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -0,0 +1,25 @@
+package com.thoughtworks.tools.profit;
+
+
+import antlr.collections.AST;
+
+public class AstNavigator {
+
+ private final XmlAstWriter writer;
+
+ public AstNavigator(XmlAstWriter writer) {
+ this.writer = writer;
+ }
+
+ public void traverse(AST ast) {
+ if (ast == null) {
+ return;
+ }
+
+ writer.writeStart(ast);
+ traverse(ast.getFirstChild());
+ writer.writeEnd(ast);
+ traverse(ast.getNextSibling());
+ }
+
+}
\ No newline at end of file
Modified: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -11,17 +11,17 @@
public class RegexJavaParser {
- //private Pattern packagePattern;
+ private Pattern pagePackagePattern;
private Pattern classPattern;
- private Pattern filePathPattern;
+ //private Pattern filePathPattern;
private Pattern methodPattern;
private Pattern assertionPattern;
private Pattern assignmentPattern;
public RegexJavaParser() {
- //packagePattern = Pattern.compile("package (.*);");
+ pagePackagePattern = Pattern.compile("package (.*);");
classPattern = Pattern.compile("public class (\\w+)TestCase(\\d+)");
- filePathPattern = Pattern.compile("FILE_PATH.*=.*\"(.*)\"");
+ //filePathPattern = Pattern.compile("FILE_PATH.*=.*\"(.*)\"");
methodPattern = Pattern.compile("public void test.*\\{(.*\n)+\\}", Pattern.MULTILINE);
assertionPattern = Pattern.compile("assert.*?\\((.*), .*\\.(\\w+)\\(\\).*\\);");
assignmentPattern = Pattern.compile(".*\\.(\\w+) = (.*);");
@@ -50,12 +50,13 @@
//private String getPackage(String javaCode) {
private String getPackage(String javaCode, String fixtureName) {
- Pattern packagePattern = Pattern.compile(String.format("import (.*)\\.%s;", fixtureName));
- return firstGroupOfPatternMatch(packagePattern, javaCode);
+ Pattern fixturePackagePattern = Pattern.compile(String.format("import (.*)\\.%s;", fixtureName));
+ return firstGroupOfPatternMatch(fixturePackagePattern, javaCode);
}
private String getFilePath(String javaCode) {
- return firstGroupOfPatternMatch(filePathPattern, javaCode);
+ String pagePackage = firstGroupOfPatternMatch(pagePackagePattern, javaCode);
+ return pagePackage == null ? "FrontPage" : pagePackage.replace('.', '/');
}
private String firstGroupOfPatternMatch(Pattern pattern, String javaCode) {
Modified: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTable.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTable.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTable.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -32,7 +32,7 @@
}
public TestTable(String fixtureName, String[] columnNames, String[][] values) {
- this(FIRST_TABLE_NUMBER, fixtureName, columnNames, values, null);
+ this(FIRST_TABLE_NUMBER, fixtureName, columnNames, values, "FrontPage");
}
public TestTable(int tableNumber, String fixtureName, String[] columnNames, String[][] values, String filePath) {
@@ -96,7 +96,7 @@
}
//TODO: FIX THIS
- public String packageName = "FrontPage.SomeSuite";
+ public String packageName = "FrontPage";
private String getJavaTestClassFullName(String packageName, String className) {
return packageName + "." + className;
}
Modified: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTableWriter.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTableWriter.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tojava/TestTableWriter.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -36,12 +36,12 @@
public String getJavaOutputDirectory(String outputDirectory,
Class fixtureClass) {
-// Package fixturePackage = fixtureClass.getPackage();
-// if (fixturePackage == null) {
-// return outputDirectory;
-// }
-// String packageFolder = fixturePackage.getName().replace(".",
-// File.separator);
+ // Package fixturePackage = fixtureClass.getPackage();
+ // if (fixturePackage == null) {
+ // return outputDirectory;
+ // }
+ // String packageFolder = fixturePackage.getName().replace(".",
+ // File.separator);
return outputDirectory; // + File.separator + packageFolder;
}
@@ -50,8 +50,11 @@
}
public void writeFitnesse(String outputDirectory) throws IOException {
- final String filePath = testTable.getFilePath();
- File outputFile = new File(filePath != null ? filePath : "content.txt");
+ String filePath = testTable.getFilePath();
+ assert filePath != null;
+ filePath = outputDirectory + "/" + filePath + "/content.txt";
+ File outputFile = new File(filePath);
+ FileUtils.forceMkdir(outputFile.getParentFile());
String source = testTable.toFitnesseSource();
if (testTable.getTableNumber() == TestTable.nthTableNumber(1)) {
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -151,20 +151,19 @@
TestTable actual = parser.parse(code.toString());
TestTable expected = new TestTable("EndToEndScenario", new String[] { "col" }, new String[][] { { "4" } });
- expected.setFilePath("some/path");
+ expected.setFilePath("FrontPage");
Assert.assertEquals(expected, actual);
}
@Test
public void shouldCreateFullyQualifiedClassNameFromPackage() {
StringBuffer code = new StringBuffer();
- code.append("package com.thoughtworks;");
+ code.append("package FrontPage.Thoughtworks;");
code.append("public class EndToEndScenarioTestCase1 {\n");
code.append("}");
TestTable actual = parser.parse(code.toString());
TestTable expected = new TestTable("EndToEndScenario", new String[0], new String[0][0]);
- System.out.println(expected.toString());
- System.out.println(actual.toString());
+ expected.setFilePath("FrontPage/Thoughtworks");
Assert.assertEquals(expected, actual);
}
@@ -178,38 +177,34 @@
TestTable actual = parser.parse(code.toString());
TestTable expected = new TestTable("EndToEndScenario", new String[0], new String[0][0]);
- expected.setFilePath("some/path");
Assert.assertEquals(expected, actual);
}
@Test
- public void shouldMarkTestCase2AsNotFirstTestOnPage() {
+ public void shouldMarkTestCase2AsNotFirstTestOnPage() {
StringBuffer code = new StringBuffer();
- code.append("public class EndToEndScenarioTestCase1 {\n");
- code.append(" private static final String FILE_PATH = \"some/path\";");
- code.append("}");
+ code.append("package FrontPage.ThoughtWorks;\n");
+ code.append("public class EndToEndScenarioTestCase1 {}");
parser.parse(code.toString());
code = new StringBuffer();
- code.append("public class EndToEndScenarioTestCase2 {\n");
- code.append(" private static final String FILE_PATH = \"some/path\";");
- code.append("}");
+ code.append("package FrontPage.ThoughtWorks;\n");
+ code.append("public class EndToEndScenarioTestCase2 {}");
TestTable actual = parser.parse(code.toString());
TestTable expected = new TestTable(TestTable.nthTableNumber(2),
"EndToEndScenario", new String[0], new String[0][0],
- "some/path");
+ "FrontPage/ThoughtWorks");
Assert.assertEquals(expected, actual);
}
@Test
public void shouldNotMarkAsFirstTestIfEndsInButIsNot1() {
StringBuffer code = new StringBuffer();
- code.append("public class EndToEndScenarioTestCase2 {\n");
- code.append(" private static final String FILE_PATH = \"some/path\";");
- code.append("}");
+ code.append("package some.path;\n");
+ code.append("public class EndToEndScenarioTestCase2 {}");
parser.parse(code.toString());
TestTable actual = parser.parse(code.toString());
@@ -223,16 +218,14 @@
@Test
public void shouldMarkAsFirstTestIfFirstForAGivenFilePath() {
StringBuffer code = new StringBuffer();
- code.append("public class EndToEndScenarioTestCase1 {\n");
- code.append(" private static final String FILE_PATH = \"some/path\";");
- code.append("}");
+ code.append("package some.path;\n");
+ code.append("public class EndToEndScenarioTestCase1 {}");
parser.parse(code.toString());
code = new StringBuffer();
- code.append("public class EndToEndScenarioTestCase2 {\n");
- code.append(" private static final String FILE_PATH = \"some/other/path\";");
- code.append("}");
+ code.append("package some.other.path;\n");
+ code.append("public class EndToEndScenarioTestCase2 {}");
TestTable actual = parser.parse(code.toString());
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitParserTests.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitParserTests.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitParserTests.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -28,6 +28,9 @@
public void shouldCreateClassFromScenarioName() throws FitParseException {
String htmlTest = "<html><body><table><tr><td>EndToEndScenario</td></tr></table></body></html>";
TestTable javaCode = fitParser.parse(htmlTest)[0];
+ javaCode.setFilePath("FrontPage");
+ System.out.println(new TestTable("EndToEndScenario", new String[0], new String[0][0]));
+ System.out.println(javaCode);
assertEquals(new TestTable("EndToEndScenario", new String[0], new String[0][0]), javaCode);
}
@@ -40,7 +43,8 @@
buf.append("</table></body></html>");
TestTable javaCode = fitParser.parse(buf.toString())[0];
-
+ javaCode.setFilePath("FrontPage");
+
String[][] values = new String[][] { { "3", "4" } };
String[] columnNames = new String[] { "one", "two" };
TestTable expected = new TestTable("EndToEndScenario", columnNames, values);
@@ -57,6 +61,7 @@
buf.append("</table></body></html>");
TestTable javaCode = fitParser.parse(buf.toString())[0];
+ javaCode.setFilePath("FrontPage");
String[][] values = new String[][] { { "3", "4" }, { "5", "6" } };
String[] columnNames = new String[] { "one", "two" };
@@ -73,7 +78,8 @@
htmlTest.append("<tr><td>5</td><td>6</td><td>11</td><td>30</td></tr>");
htmlTest.append("</table></body></html>");
TestTable javaCode = fitParser.parse(htmlTest.toString())[0];
-
+ javaCode.setFilePath("FrontPage");
+
String[] columns = new String[] { "one", "two", "sum()", "product?" };
String[][] values = new String[][] { { "3", "4", "7", "12" }, { "5", "6", "11", "30" } };
TestTable expected = new TestTable("EndToEndScenario", columns, values);
@@ -85,6 +91,7 @@
String htmlTest = "<html><body><table><tr><td>TestFixtue1</td></tr></table>"
+ "<table><tr><td>TestFixtue2</td></tr></table></body></html>";
TestTable[] javaCode = fitParser.parse(htmlTest);
+
TestTable[] expectedTestTable = new TestTable[] {
newTestTable(TestTable.nthTableNumber(1), "TestFixtue1"),
newTestTable(TestTable.nthTableNumber(2), "TestFixtue2") };
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitnesseParserTests.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitnesseParserTests.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/FitnesseParserTests.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -30,7 +30,8 @@
buf.append("|3|4|");
TestTable javaCode = fitnesseParser.parse(buf.toString())[0];
-
+ javaCode.setFilePath("FrontPage");
+
String[][] values = new String[][] { { "3", "4" } };
TestTable expected = new TestTable("EndToEndScenario", new String[] { "one", "two" }, values);
@@ -45,7 +46,8 @@
buf.append("|3|4|7|12|");
TestTable javaCode = fitnesseParser.parse(buf.toString())[0];
-
+ javaCode.setFilePath("FrontPage");
+
String[] columns = new String[] { "one", "two", "sum?", "product()" };
String[][] values = { { "3", "4", "7", "12" } };
TestTable expected = new TestTable("EndToEndScenario", columns, values);
@@ -86,6 +88,7 @@
buf.append("'''blah blah blah'''");
TestTable javaCode = fitnesseParser.parse(buf.toString())[0];
+ javaCode.setFilePath("FrontPage");
String[] columns = new String[] { "one", "two", "sum?", "product()"};
String[][] values = { { "3", "4", "7", "12" } };
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/TestTableTests.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/TestTableTests.java 2006-11-29 13:03:34 UTC (rev 82)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tojava/TestTableTests.java 2006-11-30 04:06:49 UTC (rev 83)
@@ -58,7 +58,7 @@
JavaSource actual = table.toJava();
- JavaSource expectedClass = createJavaSource("FrontPage.SomeSuite.MyRowFixtureTestCase1");
+ JavaSource expectedClass = createJavaSource("FrontPage.MyRowFixtureTestCase1");
expectedClass.addImport(JavaQNameImpl.getInstance("test.fixture.MyRowFixture"));
JavaMethod expectedMethod = expectedClass.newJavaMethod("testQuery", "void", "public");
expectedMethod.addThrows(Exception.class);
@@ -78,7 +78,7 @@
JavaSource actual = table.toJava();
- JavaSource expectedClass = createJavaSource("FrontPage.SomeSuite.MyRowFixtureTestCase1");
+ JavaSource expectedClass = createJavaSource("FrontPage.MyRowFixtureTestCase1");
expectedClass.addImport(JavaQNameImpl.getInstance("test.fixture.MyRowFixture"));
JavaMethod expectedMethod = expectedClass.newJavaMethod("testQuery", "void", "public");
expectedMethod.addThrows(Exception.class);
@@ -100,7 +100,7 @@
JavaSource actual = table.toJava();
- JavaSource expectedClass = createJavaSource("FrontPage.SomeSuite.MyRowFixtureTestCase1");
+ JavaSource expectedClass = createJavaSource("FrontPage.MyRowFixtureTestCase1");
expectedClass.addImport(JavaQNameImpl.getInstance("test.fixture.MyRowFixture"));
JavaMethod expectedMethod = expectedClass.newJavaMethod("testQuery", "void", "public");
expectedMethod.addThrows(Exception.class);
@@ -163,7 +163,7 @@
JavaSource actual = table.toJava();
assertEquals("!|com.thoughtworks.tools.profit.fixtures.MyColumnFixture|\n||\n", table.toFitnesseSource());
- JavaSource expectedClass = createJavaSource("FrontPage.SomeSuite.MyColumnFixtureTestCase1");
+ JavaSource expectedClass = createJavaSource("FrontPage.MyColumnFixtureTestCase1");
expectedClass.addImport(JavaQNameImpl.getInstance("com.thoughtworks.tools.profit.fixtures.MyColumnFixture"));
expectedClass.addRawJavaSource(leadingComment);
expectedClass.addRawJavaSource(trailingComment);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|