public void testMultipleConstructorErrorBug() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/MultipleConstructorErrorBug.java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String sqlDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/MultipleConstructorErrorBug.html"); System.out.println(sqlDoc); // VARBINARY() and other methods were assumed to be Constructors, make sure they aren't anymore... assertTrue(sqlDoc.indexOf("<method modifiers=\"public static \" returns=\"java.lang.String\" name=\"VARBINARY\">") > 0); }
public void testArrayPropertyLinkWithSelfReference() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/ArrayPropertyLink.groovy"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String arrayPropertyLinkDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/ArrayPropertyLink.html"); Pattern p = Pattern.compile("<a(.+?)ArrayPropertyLink.html'>(.+?)</a>\\[\\]"); Matcher m = p.matcher(arrayPropertyLinkDoc); assertTrue(m.find()); assertEquals("There has to be at least a single reference to the ArrayPropertyLink[]", "ArrayPropertyLink", m.group(2)); }
public void testArrayPropertyLinkWithExternalReference() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/PropertyLink.groovy"); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/ArrayPropertyLink.groovy"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String propertyLinkDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/PropertyLink.html"); Pattern p = Pattern.compile("<a(.+?)ArrayPropertyLink.html'>(.+?)</a>\\[\\]"); Matcher m = p.matcher(propertyLinkDoc); assertTrue(m.find()); assertEquals("There has to be at least a single reference to the ArrayPropertyLink[]", "ArrayPropertyLink", m.group(2)); }
public void testInnerEnumReference() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/InnerEnum.groovy"); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/InnerClassProperty.groovy"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String derivDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/InnerClassProperty.html"); Pattern p = Pattern.compile("<a(.+?)testfiles/InnerEnum.Enum.html'>(.+?)</a>"); Matcher m = p.matcher(derivDoc); assertTrue(m.find()); assertEquals("There has to be a reference to class Enum", "Enum", m.group(2)); }
public void testDefaultPackage() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("DefaultPackageClassSupport.java"); xmlToolForTests.add(srcList); MockOutputTool output = new MockOutputTool(); xmlToolForTests.renderToOutput(output, MOCK_DIR); String doc = output.getText(MOCK_DIR + "/DefaultPackage/DefaultPackageClassSupport.html"); assertTrue(doc.indexOf("<extends>GroovyTestCase</extends>") > 0); }
public void testReturnTypeResolution() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java"); srcList.add("org/codehaus/groovy/groovydoc/GroovyClassDoc.java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String text = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.html"); assertTrue(text.indexOf("org.codehaus.groovy.groovydoc.GroovyClassDoc") > 0); }
public void testParameterTypeResolution() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java"); srcList.add("org/codehaus/groovy/groovydoc/GroovyPackageDoc.java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String text = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.html"); assertTrue(text.indexOf("<parameter type=\"org.codehaus.groovy.groovydoc.GroovyPackageDoc\"") > 0); }
public void testClassAliasing() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/Alias.groovy"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String derivDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/Alias.html"); Pattern p = Pattern.compile("<a(.+?)java/util/ArrayList.html' title='ArrayList'>(.+?)</a>"); Matcher m = p.matcher(derivDoc); assertTrue(m.find()); assertEquals("There has to be a reference to class ArrayList", "ArrayList", m.group(2)); }
public void testClassesAreNotInitialized() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/staticInit/UsesClassesWithFailingStaticInit.groovy"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String doc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/staticInit/UsesClassesWithFailingStaticInit.html"); assertTrue(doc.contains("org.codehaus.groovy.tools.groovydoc.testfiles.staticInit.JavaWithFailingStaticInit")); }
public void testMethodComment() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithMethodComment.java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String defTabColDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithMethodComment.html"); assertTrue(defTabColDoc.contains("This is a method comment")); }
public void testExtendsClauseWithSuperClassInTree() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/Builder"; srcList.add(base + ".java"); srcList.add("groovy/util/BuilderSupport.java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String builderDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, builderDoc); assertTrue(builderDoc.contains("<extends>BuilderSupport</extends>")); }
public void testJavaClassMultiCatch() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/MultiCatchExample"; srcList.add(base + ".java"); xmlToolForTests.add(srcList); MockOutputTool output = new MockOutputTool(); xmlToolForTests.renderToOutput(output, MOCK_DIR); String doc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/MultiCatchExample.html"); assertNotNull("No GroovyDoc found for " + base, doc); assertTrue(doc, doc.indexOf("foo has a multi-catch exception inside") > 0); }
public void testStaticModifier() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/StaticModifier"; srcList.add(base + ".java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String staticModifierDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, staticModifierDoc); assertTrue("static not found in: \"" + staticModifierDoc + "\"", staticModifierDoc.contains("static")); }
public void testPackageName() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/Builder"; srcList.add(base + ".java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String builderDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, builderDoc); assertTrue(builderDoc.contains("<containingPackage name=\"org/codehaus/groovy/tools/groovydoc/testfiles\">org.codehaus.groovy.tools.groovydoc.testfiles</containingPackage>")); }
public void testAnonymousInnerClassMethodsNotIncluded() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithAnonymousInnerClass"; srcList.add(base + ".java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String classWithAnonymousInnerClassDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, classWithAnonymousInnerClassDoc); assertTrue("innerClassMethod found in: \"" + classWithAnonymousInnerClassDoc + "\"", !classWithAnonymousInnerClassDoc.contains("innerClassMethod")); }
public void testClassComment() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/Builder"; srcList.add(base + ".java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String builderDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, builderDoc); assertTrue(builderDoc,builderDoc.contains("A class comment")); }
public void testFullyQualifiedNamesInImplementsClause() throws Exception { List<String> srcList = new ArrayList<String>(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy"); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java"); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy"); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java"); xmlToolForTests.add(srcList); MockOutputTool output = new MockOutputTool(); xmlToolForTests.renderToOutput(output, MOCK_DIR); String groovyClassDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.html"); assertTrue(groovyClassDoc.indexOf("<interface>GroovyInterface1</interface>") > 0); assertTrue(groovyClassDoc.indexOf("<interface>Runnable</interface>") > 0); String javaClassDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.html"); assertTrue(javaClassDoc.indexOf("<interface>JavaInterface1</interface>") > 0); assertTrue(javaClassDoc.indexOf("<interface>Runnable</interface>") > 0); }
public void testExtendsClauseWithoutSuperClassInTree() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/Builder"; srcList.add(base + ".java"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String builderDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, builderDoc); assertTrue(builderDoc.contains("<extends>BuilderSupport</extends>")); }
public void testConstructors() throws Exception { List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/TestConstructors"; srcList.add(base + ".groovy"); xmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); xmlTool.renderToOutput(output, MOCK_DIR); String constructorDoc = output.getText(MOCK_DIR + "/" + base + ".html"); assertNotNull("No GroovyDoc found for " + base, constructorDoc); assertTrue(constructorDoc.indexOf("<constructor modifiers=\"public \" name=\"TestConstructors\">") > 0); assertTrue(constructorDoc.indexOf("<parameter type=\"java.lang.ClassLoader\" name=\"parent\" />") > 0); }
private void testVisibility(Properties props, boolean a, boolean b, boolean c, boolean d) throws Exception { htmlTool = makeHtmltool(new ArrayList<LinkArgument>(), props); List<String> srcList = new ArrayList<String>(); String base = "org/codehaus/groovy/tools/groovydoc/testfiles/ExampleVisibility"; srcList.add(base + "G.groovy"); srcList.add(base + "J.java"); htmlTool.add(srcList); MockOutputTool output = new MockOutputTool(); htmlTool.renderToOutput(output, MOCK_DIR); String javaExampleClass = output.getText(MOCK_DIR + "/" + base + "J.html"); assertMethodVisibility(base, output, javaExampleClass, a, b, c, d); String groovyExampleClass = output.getText(MOCK_DIR + "/" + base + "G.html"); assertMethodVisibility(base, output, groovyExampleClass, a, b, c, d); }