Index: main/org/codehaus/groovy/tools/xml/DomToGroovy.java =================================================================== --- main/org/codehaus/groovy/tools/xml/DomToGroovy.java (revision 4093) +++ main/org/codehaus/groovy/tools/xml/DomToGroovy.java (working copy) @@ -128,16 +128,10 @@ if (length == 1 && node instanceof Text) { Text textNode = (Text) node; String text = getTextNodeData(textNode); - if (hasAttributes) { - print(" [\""); - print(text); - printEnd("\"]", endWithComma); - } - else { - print("(\""); - print(text); - printEnd("\")", endWithComma); - } + if (hasAttributes) print(", \""); + else print("(\""); + print(text); + printEnd("\")", endWithComma); } else if (mixedContent(list)) { println(" ["); @@ -275,7 +269,6 @@ print("]"); hasAttribute = true; } - print(")"); } return hasAttribute; } Index: test/org/codehaus/groovy/tools/xml/DomToGroovyTest.java =================================================================== --- test/org/codehaus/groovy/tools/xml/DomToGroovyTest.java (revision 4093) +++ test/org/codehaus/groovy/tools/xml/DomToGroovyTest.java (working copy) @@ -49,6 +49,8 @@ import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import java.io.ByteArrayInputStream; +import java.io.StringWriter; import java.net.URL; import javax.xml.parsers.DocumentBuilder; @@ -76,6 +78,15 @@ convert("swing.xml", "swing.groovy"); } + public void testConversionFormat() throws Exception { + ByteArrayInputStream inputStream = new ByteArrayInputStream("Groovy".getBytes()); + Document document = builder.parse(inputStream); + StringWriter writer = new StringWriter(); + converter = new DomToGroovy(new PrintWriter(writer)); + converter.print(document); + assertEquals("a(href:'http://groovy.codehaus.org', \"Groovy\")", writer.toString().trim()); + } + protected void convert(String name, String output) throws Exception { Document document = parse(name);