Added: maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java?rev=1337854&view=auto ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java (added) +++ maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java Sun May 13 12:09:13 2012 @@ -0,0 +1,205 @@ +package org.apache.maven.tools.plugin.generator; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.plugin.descriptor.PluginDescriptor; +import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.plugin.testing.stubs.MavenProjectStub; +import org.codehaus.plexus.component.repository.ComponentDependency; +import org.codehaus.plexus.util.xml.CompactXMLWriter; +import org.codehaus.plexus.util.xml.XMLWriter; + +import java.io.StringWriter; +import java.util.Collections; + +/** + * @author jdcasey + */ +public class GeneratorUtilsTest + extends AbstractMojoTestCase +{ + public void testShouldWriteDependencies() + throws Exception + { + ComponentDependency dependency = new ComponentDependency(); + dependency.setArtifactId( "testArtifactId" ); + dependency.setGroupId( "testGroupId" ); + dependency.setType( "pom" ); + dependency.setVersion( "0.0.0" ); + + PluginDescriptor descriptor = new PluginDescriptor(); + descriptor.setDependencies( Collections.singletonList( dependency ) ); + + StringWriter sWriter = new StringWriter(); + XMLWriter writer = new CompactXMLWriter( sWriter ); + + GeneratorUtils.writeDependencies( writer, descriptor ); + + String output = sWriter.toString(); + + String pattern = + "<dependencies>" + "<dependency>" + "<groupId>testGroupId</groupId>" + + "<artifactId>testArtifactId</artifactId>" + "<type>pom</type>" + "<version>0.0.0</version>" + + "</dependency>" + "</dependencies>"; + + assertEquals( pattern, output ); + } + + public void testMakeHtmlValid() + { + String javadoc = null; + assertEquals( "", GeneratorUtils.makeHtmlValid( javadoc ) ); + javadoc = ""; + assertEquals( "", GeneratorUtils.makeHtmlValid( javadoc ) ); + + // true HTML + javadoc = "Generates <i>something</i> for the project."; + assertEquals( "Generates <i>something</i> for the project.", GeneratorUtils.makeHtmlValid( javadoc ) ); + + // wrong HTML + javadoc = "Generates <i>something</i> <b> for the project."; + assertEquals( "Generates <i>something</i> <b> for the project.</b>", GeneratorUtils.makeHtmlValid( javadoc ) ); + + // wrong XHTML + javadoc = "Line1<br>Line2"; + assertEquals( "Line1<br/>Line2", GeneratorUtils.makeHtmlValid( javadoc ).replaceAll( "\\s", "" ) ); + + // special characters + javadoc = "& & < > \u00A0"; + assertEquals( "& & < > \u00A0", GeneratorUtils.makeHtmlValid( javadoc ) ); + + // non ASCII characters + javadoc = "\u00E4 \u00F6 \u00FC \u00DF"; + assertEquals( javadoc, GeneratorUtils.makeHtmlValid( javadoc ) ); + + // non Latin1 characters + javadoc = "\u0130 \u03A3 \u05D0 \u06DE"; + assertEquals( javadoc, GeneratorUtils.makeHtmlValid( javadoc ) ); + } + + public void testDecodeJavadocTags() + { + String javadoc = null; + assertEquals( "", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = ""; + assertEquals( "", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@code text}"; + assertEquals( "<code>text</code>", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@code <A&B>}"; + assertEquals( "<code><A&B></code>", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@literal text}"; + assertEquals( "text", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@literal text} {@literal text}"; + assertEquals( "text text", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@literal <A&B>}"; + assertEquals( "<A&B>", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@link Class}"; + assertEquals( "<code>Class</code>", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain Class}"; + assertEquals( "Class", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain #field}"; + assertEquals( "field", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain Class#field}"; + assertEquals( "Class.field", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain #method()}"; + assertEquals( "method()", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain #method(Object arg)}"; + assertEquals( "method()", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain #method(Object, String)}"; + assertEquals( "method()", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain #method(Object, String) label}"; + assertEquals( "label", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain Class#method(Object, String)}"; + assertEquals( "Class.method()", GeneratorUtils.decodeJavadocTags( javadoc ) ); + + javadoc = "{@linkplain Class#method(Object, String) label}"; + assertEquals( "label", GeneratorUtils.decodeJavadocTags( javadoc ) ); + } + + public void testToText() + throws Exception + { + String javadoc = null; + assertEquals( "", GeneratorUtils.toText( javadoc ) ); + javadoc = ""; + assertEquals( "", GeneratorUtils.toText( javadoc ) ); + + // line breaks + javadoc = "Line1\nLine2"; + assertEquals( "Line1 Line2", GeneratorUtils.toText( javadoc ) ); + javadoc = "Line1\rLine2"; + assertEquals( "Line1 Line2", GeneratorUtils.toText( javadoc ) ); + javadoc = "Line1\r\nLine2"; + assertEquals( "Line1 Line2", GeneratorUtils.toText( javadoc ) ); + javadoc = "Line1<br>Line2"; + assertEquals( "Line1\nLine2", GeneratorUtils.toText( javadoc ) ); + + // true HTML + javadoc = "Generates <i>something</i> for the project."; + assertEquals( "Generates something for the project.", GeneratorUtils.toText( javadoc ) ); + + // wrong HTML + javadoc = "Generates <i>something</i> <b> for the project."; + assertEquals( "Generates something for the project.", GeneratorUtils.toText( javadoc ) ); + + // javadoc inline tags + javadoc = "Generates {@code something} for the project."; + assertEquals( "Generates something for the project.", GeneratorUtils.toText( javadoc ) ); + } + + public void testIsMavenReport() + throws Exception + { + try + { + GeneratorUtils.isMavenReport( null, null ); + } + catch ( IllegalArgumentException e ) + { + assertTrue( true ); + } + + String impl = "org.apache.maven.tools.plugin.generator.stubs.MavenReportStub"; + + MavenProjectStub stub = new MavenProjectStub(); + stub.setCompileSourceRoots( Collections.singletonList( getBasedir() + "/target/classes" ) ); + + assertTrue( GeneratorUtils.isMavenReport( impl, stub ) ); + + impl = "org.apache.maven.tools.plugin.util.stubs.MojoStub"; + assertFalse( GeneratorUtils.isMavenReport( impl, stub ) ); + } + +}
Propchange: maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/GeneratorUtilsTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Copied: maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/stubs/MavenReportStub.java (from r1337841, maven/plugin-tools/trunk/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/util/stubs/MavenReportStub.java) URL: http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/stubs/MavenReportStub.java?p2=maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/stubs/MavenReportStub.java&p1=maven/plugin-tools/trunk/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/util/stubs/MavenReportStub.java&r1=1337841&r2=1337854&rev=1337854&view=diff ============================================================================== --- maven/plugin-tools/trunk/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/util/stubs/MavenReportStub.java (original) +++ maven/plugin-tools/trunk/maven-plugin-tools-generators/src/test/java/org/apache/maven/tools/plugin/generator/stubs/MavenReportStub.java Sun May 13 12:09:13 2012 @@ -1,4 +1,4 @@ -package org.apache.maven.tools.plugin.util.stubs; +package org.apache.maven.tools.plugin.generator.stubs; /* * Licensed to the Apache Software Foundation (ASF) under one