This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push: new 9b71fcf85d GROOVY-9464: GroovyDoc: List inherited properties (add testcase) 9b71fcf85d is described below commit 9b71fcf85d97c6a845dc70bc254d49b8c4134f92 Author: Paul King <pa...@asert.com.au> AuthorDate: Sat Jan 13 23:05:25 2024 +1000 GROOVY-9464: GroovyDoc: List inherited properties (add testcase) --- .../groovy/tools/groovydoc/GroovyDocToolTest.java | 20 ++++++++++++++++++++ .../tools/groovydoc/testfiles/props/Child.groovy | 5 +++++ .../groovydoc/testfiles/props/GrandParent.groovy | 5 +++++ .../tools/groovydoc/testfiles/props/Parent.groovy | 5 +++++ 4 files changed, 35 insertions(+) diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java index 2ba78271cd..da70a1c422 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java @@ -776,6 +776,26 @@ public class GroovyDocToolTest extends GroovyTestCase { assertEquals("Classes from imported packages should shadow classes from default packages", "a/List", extendedClass.group(1)); } + public void testInheritedProperties() throws Exception { + htmlTool.add(Arrays.asList( + "org/codehaus/groovy/tools/groovydoc/testfiles/props/Child.groovy", + "org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.groovy", + "org/codehaus/groovy/tools/groovydoc/testfiles/props/GrandParent.groovy" + )); + + final MockOutputTool output = new MockOutputTool(); + htmlTool.renderToOutput(output, MOCK_DIR); + final String childDoc = output.getText(MOCK_DIR + "/org/codehaus/groovy/tools/groovydoc/testfiles/props/Child.html"); + + final Matcher inheritedProperties = Pattern.compile("(?s)<span>Inherited properties</span>" + + ".*<a href='[./]*/org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.html'>Parent</a>.*<code>(\\w*)</code>" + + ".*<a href='[./]*/org/codehaus/groovy/tools/groovydoc/testfiles/props/GrandParent.html'>GrandParent</a>.*<code>(\\w*)</code>").matcher(childDoc); + + assertTrue("Should find inherited properties", inheritedProperties.find()); + assertEquals("Should find Parent property", "fooP", inheritedProperties.group(1)); + assertEquals("Should find GrandParent property", "fooGP", inheritedProperties.group(2)); + } + public void testJavaExtendsImportedClassWithNameWhichExistInDefaultPackages() throws Exception { // Java interface b.Test imports a.List and extends List. // List should be recognized as a.List and not java.util.List diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Child.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Child.groovy new file mode 100644 index 0000000000..ffa73b926a --- /dev/null +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Child.groovy @@ -0,0 +1,5 @@ +package org.codehaus.groovy.tools.groovydoc.testfiles.props + +class Child extends Parent { + String fooC +} diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/GrandParent.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/GrandParent.groovy new file mode 100644 index 0000000000..5dac2d4c03 --- /dev/null +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/GrandParent.groovy @@ -0,0 +1,5 @@ +package org.codehaus.groovy.tools.groovydoc.testfiles.props + +class GrandParent { + String fooGP +} diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.groovy new file mode 100644 index 0000000000..7bee5d240d --- /dev/null +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.groovy @@ -0,0 +1,5 @@ +package org.codehaus.groovy.tools.groovydoc.testfiles.props + +class Parent extends GrandParent { + String fooP +}