summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2020-10-05 19:33:32 +0200
committerTopi Reinio <topi.reinio@qt.io>2020-10-12 11:21:02 +0200
commit05b7b2175754b40b4458eeb706f69715ee8066af (patch)
treea2b3da2a97624aaea5c4cddc8db0c19c1fd74207 /tests
parent048ba62be9d9998e4f5d30f603cc149227e367c3 (diff)
qdoc: Store group membership for all node types into index files
Up until now, only select node types (PageNodes) stored the information about \ingroup command argument(s) into the index file. This meant that generating lists that contain non-page nodes (e.g. functions) did not produce correct results, if group members included non-page nodes from other modules. Add a helper function QDocDatabase::groupNamesForNode() that returns a list of groups regardless of node type, and use that when generating the index file. [ChangeLog][qdoc] QDoc's \generatelist and \annotatedlist commands now produce correct output when listing functions from external documentation modules. Fixes: QTBUG-87161 Change-Id: Id3079729891ec22716e4b7606bec604a7ebff74a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html9
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml6
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index9
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testcpp.index9
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp5
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp3
6 files changed, 30 insertions, 11 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
index dcf2114b7..aeed04895 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
@@ -14,6 +14,7 @@
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
<li class="level2"><a href="#linking">Linking</a></li>
+<li class="level2"><a href="#generated-lists">Generated Lists</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
@@ -43,6 +44,14 @@
<li><a href="testqdoc-test.html">Test</a> class <a href="testqdoc.html#usage">Usage</a>.</li>
<li><a href="testqdoc.html#QDOCTEST_MACRO">QDOCTEST_MACRO</a></li>
</ul>
+<a name="generated-lists"></a>
+<h3 id="generated-lists">Generated Lists</h3>
+<p>This is an annotated list of entries in a group: <div class="table"><table class="annotated">
+<tr class="odd topAlign"><td class="tblName"><p><a href="testqdoc-test.html">TestQDoc::Test</a></p></td><td class="tblDescr"><p>A class in a namespace</p></td></tr>
+<tr class="even topAlign"><td class="tblName"><p><a href="testqdoc-test.html#QDOCTEST_MACRO2">TestQDoc::Test::QDOCTEST_MACRO2</a></p></td><td class="tblDescr"><p>A macro with argument x</p></td></tr>
+<tr class="odd topAlign"><td class="tblName"><p><a href="testqdoc-test.html#someFunctionDefaultArg">TestQDoc::Test::someFunctionDefaultArg()</a></p></td></tr>
+</table></div>
+</p>
</div>
<p><b>See also </b><a href="testqdoc-test.html#someFunction">someFunction</a>().</p>
<!-- @@@TestType -->
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml
index 75f10bbb3..f84122127 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml
+++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<WebXML>
<document>
- <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="A class in a namespace">
+ <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" groups="testgroup" module="TestCPP" brief="A class in a namespace">
<description>
<brief>A class in a namespace.</brief>
</description>
- <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)">
+ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
<parameter type="int &amp;" name="x" default=""/>
<description>
<brief>A macro with argument <argument>x</argument>.</brief>
@@ -62,7 +62,7 @@
<para>Function that takes a parameter <argument>v</argument>. Also returns the value of <argument>v</argument>.</para>
</description>
</function>
- <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)">
+ <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)" groups="testgroup">
<parameter type="int" name="i" default=""/>
<parameter type="bool" name="b" default="false"/>
<description>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
index 9f6726a43..e757ff4de 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
@@ -3,15 +3,15 @@
<INDEX url="" title="TestCPP Reference Documentation" version="" project="TestCPP">
<namespace name="" status="active" access="public" module="testcpp">
<function name="QDOCTEST_MACRO" href="testqdoc.html#QDOCTEST_MACRO" status="active" access="public" documented="true" related="0" meta="macrowithoutparams" virtual="non" const="false" static="false" final="false" override="false" type="" signature="QDOCTEST_MACRO"/>
- <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)">
+ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
<parameter type="int &amp;" name="x" default=""/>
</function>
<page name="https://wiki.qt.io/QProperty" href="https://wiki.qt.io/QProperty" status="active" location="properties.qdoc" documented="true" subtype="externalpage" title="QProperty" fulltitle="QProperty" subtitle=""/>
<namespace name="TestQDoc" href="testqdoc.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="A namespace">
<contents name="usage" title="Usage" level="1"/>
<function name="QDOCTEST_MACRO" href="testqdoc.html#QDOCTEST_MACRO" status="active" access="public" documented="true" related="0" meta="macrowithoutparams" virtual="non" const="false" static="false" final="false" override="false" type="" signature="QDOCTEST_MACRO"/>
- <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="A class in a namespace">
- <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)">
+ <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" groups="testgroup" module="TestCPP" brief="A class in a namespace">
+ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
<parameter type="int &amp;" name="x" default=""/>
</function>
<function name="anotherObsoleteMember" fullname="TestQDoc::Test::anotherObsoleteMember" href="testqdoc-test-obsolete.html#anotherObsoleteMember" status="obsolete" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void anotherObsoleteMember()"/>
@@ -36,7 +36,7 @@
<function name="someFunction" fullname="TestQDoc::Test::someFunction" href="testqdoc-test.html#someFunction" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="int" signature="int someFunction(int v)">
<parameter type="int" name="v" default="0"/>
</function>
- <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)">
+ <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)" groups="testgroup">
<parameter type="int" name="i" default=""/>
<parameter type="bool" name="b" default="false"/>
</function>
@@ -97,6 +97,7 @@
<variable name="staticMetaObject" fullname="TestQDoc::TestDerived::staticMetaObject" href="testqdoc-testderived.html#staticMetaObject-var" status="internal" access="private" location="testcpp.h" type="const QMetaObject" static="true"/>
</class>
</namespace>
+ <group name="testgroup" href="testgroup.html" status="internal" seen="false" title="" members="Test,QDOCTEST_MACRO2,someFunctionDefaultArg"/>
<module name="TestCPP" href="testcpp-module.html" status="active" documented="true" seen="true" title="QDoc Test C++ Classes" module="TestCPP" members="TestQDoc,Test,TestDerived" brief="A test module page"/>
</namespace>
</INDEX>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
index 3c4309249..1f7d21c0c 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
@@ -3,14 +3,14 @@
<INDEX url="" title="TestCPP Reference Documentation" version="" project="TestCPP">
<namespace name="" status="active" access="public" module="testcpp">
<function name="QDOCTEST_MACRO" href="testqdoc.html#QDOCTEST_MACRO" status="active" access="public" documented="true" related="0" meta="macrowithoutparams" virtual="non" const="false" static="false" final="false" override="false" type="" signature="QDOCTEST_MACRO"/>
- <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)">
+ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
<parameter type="int &amp;" name="x" default=""/>
</function>
<namespace name="TestQDoc" href="testqdoc.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="A namespace">
<contents name="usage" title="Usage" level="1"/>
<function name="QDOCTEST_MACRO" href="testqdoc.html#QDOCTEST_MACRO" status="active" access="public" documented="true" related="0" meta="macrowithoutparams" virtual="non" const="false" static="false" final="false" override="false" type="" signature="QDOCTEST_MACRO"/>
- <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="A class in a namespace">
- <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)">
+ <class name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" documented="true" groups="testgroup" module="TestCPP" brief="A class in a namespace">
+ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
<parameter type="int &amp;" name="x" default=""/>
</function>
<function name="anotherObsoleteMember" fullname="TestQDoc::Test::anotherObsoleteMember" href="testqdoc-test-obsolete.html#anotherObsoleteMember" status="obsolete" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void anotherObsoleteMember()"/>
@@ -35,7 +35,7 @@
<function name="someFunction" fullname="TestQDoc::Test::someFunction" href="testqdoc-test.html#someFunction" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="int" signature="int someFunction(int v)">
<parameter type="int" name="v" default="0"/>
</function>
- <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)">
+ <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void someFunctionDefaultArg(int i, bool b)" groups="testgroup">
<parameter type="int" name="i" default=""/>
<parameter type="bool" name="b" default="false"/>
</function>
@@ -48,6 +48,7 @@
<alias name="NotTypedef" fullname="TestQDoc::TestDerived::NotTypedef" href="testqdoc-testderived.html#NotTypedef-alias" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="int"/>
</class>
</namespace>
+ <group name="testgroup" href="testgroup.html" status="internal" seen="false" title="" members="Test,QDOCTEST_MACRO2,someFunctionDefaultArg"/>
<module name="TestCPP" href="testcpp-module.html" status="active" documented="true" seen="true" title="QDoc Test C++ Classes" module="TestCPP" members="TestQDoc,Test,TestDerived" brief="A test module page"/>
</namespace>
</INDEX>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
index 50d5d4845..411d957ab 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
@@ -45,6 +45,11 @@
\li QDOCTEST_MACRO
\endlist
+ \section1 Generated Lists
+
+ This is an annotated list of entries in a group:
+ \annotatedlist testgroup
+
\sa {TestQDoc::Test::}{someFunction()}
*/
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
index 247338076..f7ff3e8ed 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
@@ -62,6 +62,7 @@ namespace TestQDoc {
//! omitted by ignoresince
\since 1.1
\endif
+ \ingroup testgroup
*/
/*!
@@ -84,6 +85,7 @@ namespace TestQDoc {
\relates TestQDoc::Test
\since Test 1.1
\brief A macro with argument \a x.
+ \ingroup testgroup
*/
/*!
@@ -119,6 +121,7 @@ void Test::anotherObsoleteMember()
\if defined(test_ignoresince)
\since 2.0
\endif
+ \ingroup testgroup
*/
void Test::someFunctionDefaultArg(int i, bool b = false)
{