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
+}

Reply via email to