summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-06-11 13:05:54 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-14 10:57:59 +0000
commit79d39126d98e7db1a4eb44a3317a3deb8bd154c3 (patch)
tree27b052b7827f9daca2f51099fe8967130d64374d /tests
parentba6a37913c544b0027624fda515a091ca5827499 (diff)
qdoc: \generatelist: Ensure we link to the main namespace reference
When there are multiple documentation modules that document items under the same namespace, we incorrectly linked to the wrong one (a sub-page generated for a single module). This happened when using \generatelist namespaces in a module that was not the one where the namespace is documented but has a dependency to it; as is the case with the main Qt reference (qtdoc). Add documentation comments to make the code slightly more understandable, and add a test case for both the main reference page and the sub-page generated for a namespace. Fixes: QTBUG-90540 Change-Id: Ie883ea53896d9d70a17bc01e072648c62a9b8aa3 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 99f57491a12c2aa778ab9c8c9d50549d65701694) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/crossmodule/all-namespaces.html20
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/crossmodule/crossmoduleref-sub-crossmodule.html30
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/crossmoduleref.html44
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml6
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index5
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/test.qhp4
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testcpp.index5
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags11
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule_singleexec.qdocconf2
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/namespaces.qdoc34
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp8
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h4
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp17
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h4
-rw-r--r--tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp5
18 files changed, 203 insertions, 5 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/all-namespaces.html b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/all-namespaces.html
new file mode 100644
index 000000000..8f665610e
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/all-namespaces.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+<!-- namespaces.qdoc -->
+ <title>Namespaces | CrossModule</title>
+</head>
+<body>
+<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
+<h1 class="title">Namespaces</h1>
+<!-- $$$all-namespaces.html-description -->
+<div class="descr" id="details">
+<div class="table"><table class="annotated">
+<tr class="odd topAlign"><td class="tblName"><p><a href="crossmoduleref.html">CrossModuleRef</a></p></td><td class="tblDescr"><p>Namespace that has documented functions in multiple modules</p></td></tr>
+<tr class="even topAlign"><td class="tblName"><p><a href="testqdoc.html">TestQDoc</a></p></td><td class="tblDescr"><p>A namespace</p></td></tr>
+</table></div>
+</div>
+<!-- @@@all-namespaces.html -->
+</body>
+</html>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/crossmoduleref-sub-crossmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/crossmoduleref-sub-crossmodule.html
new file mode 100644
index 000000000..206a28dfe
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/crossmoduleref-sub-crossmodule.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>CrossModuleRef Namespace | CrossModule</title>
+</head>
+<body>
+<div class="sidebar">
+<div class="toc">
+<h3 id="toc">Contents</h3>
+<ul>
+<li class="level1"><a href="#functions">Functions</a></li>
+</ul>
+</div>
+<div class="sidebar-content" id="sidebar-content"></div></div>
+<h1 class="title">CrossModuleRef Namespace</h1>
+<p>The CrossModuleRef namespace includes the following elements from module CrossModule. The full namespace is documented in module TestCPP<a href="crossmoduleref.html"> here.</a></p>
+<h2 id="functions">Functions</h2>
+<div class="table"><table class="alignedsummary">
+<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="crossmoduleref-sub-crossmodule.html#documentMeToo">documentMeToo</a></b>()</td></tr>
+</table></div>
+<div class="func">
+<h2>Function Documentation</h2>
+<!-- $$$documentMeToo[overload1]$$$documentMeToo -->
+<h3 class="fn" id="documentMeToo"><span class="type">void</span> CrossModuleRef::<span class="name">documentMeToo</span>()</h3>
+<p>Function under a namespace that's documented elsewhere.</p>
+<!-- @@@documentMeToo -->
+</div>
+</body>
+</html>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/crossmoduleref.html b/tests/auto/qdoc/generatedoutput/expected_output/crossmoduleref.html
new file mode 100644
index 000000000..fc117c48f
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/crossmoduleref.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+<!-- testcpp.cpp -->
+ <title>CrossModuleRef Namespace | TestCPP</title>
+</head>
+<body>
+<div class="sidebar">
+<div class="toc">
+<h3 id="toc">Contents</h3>
+<ul>
+<li class="level1"><a href="#functions">Functions</a></li>
+<li class="level1"><a href="#details">Detailed Description</a></li>
+</ul>
+</div>
+<div class="sidebar-content" id="sidebar-content"></div></div>
+<h1 class="title">CrossModuleRef Namespace</h1>
+<!-- $$$CrossModuleRef-brief -->
+<p>Namespace that has documented functions in multiple modules. <a href="#details">More...</a></p>
+<!-- @@@CrossModuleRef -->
+<div class="table"><table class="alignedsummary">
+<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;CrossModuleRef&gt;</span>
+</td></tr><tr><td class="memItemLeft rightAlign topAlign"> CMake:</td><td class="memItemRight bottomAlign"> find_package(Qt6 COMPONENTS QDocTest REQUIRED) <br/>
+target_link_libraries(mytarget PRIVATE Qt6::QDocTest)</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += testcpp</td></tr></table></div>
+<h2 id="functions">Functions</h2>
+<div class="table"><table class="alignedsummary">
+<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="crossmoduleref.html#documentMe">documentMe</a></b>()</td></tr>
+<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="crossmoduleref-sub-crossmodule.html#documentMeToo">documentMeToo</a></b>()</td></tr>
+</table></div>
+<!-- $$$CrossModuleRef-description -->
+<div class="descr">
+<h2 id="details">Detailed Description</h2>
+</div>
+<!-- @@@CrossModuleRef -->
+<div class="func">
+<h2>Function Documentation</h2>
+<!-- $$$documentMe[overload1]$$$documentMe -->
+<h3 class="fn" id="documentMe"><span class="type">void</span> CrossModuleRef::<span class="name">documentMe</span>()</h3>
+<p>Document me!</p>
+<!-- @@@documentMe -->
+</div>
+</body>
+</html>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml
index 065421b2d..dc261f34e 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml
+++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml
@@ -13,6 +13,12 @@
<db:title>Namespaces</db:title>
<db:variablelist role="namespaces">
<db:varlistentry>
+<db:term><db:link xlink:href="crossmoduleref.xml" xlink:role="namespace">CrossModuleRef</db:link></db:term>
+<db:listitem>
+<db:para>Namespace that has documented functions in multiple modules.</db:para>
+</db:listitem>
+</db:varlistentry>
+<db:varlistentry>
<db:term><db:link xlink:href="testqdoc.xml" xlink:role="namespace">TestQDoc</db:link></db:term>
<db:listitem>
<db:para>A namespace.</db:para>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp b/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp
index c83440461..7657006aa 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp
+++ b/tests/auto/qdoc/generatedoutput/expected_output/dontdocument/dontdocument.qhp
@@ -22,6 +22,7 @@
<keywords>
<keyword name="Autolinking" id="Autolinking" ref="autolinking.html"/>
<keyword name="Classes" id="Classes" ref="classes.html"/>
+ <keyword name="CrossModuleRef" id="CrossModuleRef" ref="crossmoduleref.html"/>
<keyword name="Obsolete Classes" id="Obsolete Classes" ref="obsolete-classes.html"/>
<keyword name="QDOCTEST_MACRO" id="QDOCTEST_MACRO" ref="testqdoc.html#QDOCTEST_MACRO"/>
<keyword name="QDOCTEST_MACRO2" id="QDOCTEST_MACRO2" ref="testqdoc-test.html#QDOCTEST_MACRO2"/>
@@ -35,6 +36,7 @@
<keyword name="TestQDoc" id="TestQDoc" ref="testqdoc.html"/>
<keyword name="anotherObsoleteMember" id="Test::anotherObsoleteMember" ref="testqdoc-test-obsolete.html#anotherObsoleteMember"/>
<keyword name="deprecatedMember" id="Test::deprecatedMember" ref="testqdoc-test-obsolete.html#deprecatedMember"/>
+ <keyword name="documentMe" id="CrossModuleRef::documentMe" ref="crossmoduleref.html#documentMe"/>
<keyword name="funcPtr" id="Test::funcPtr" ref="testqdoc-test.html#funcPtr"/>
<keyword name="inlineFunction" id="Test::inlineFunction" ref="testqdoc-test.html#inlineFunction"/>
<keyword name="obsoleteMember" id="Test::obsoleteMember" ref="testqdoc-test-obsolete.html#obsoleteMember"/>
@@ -50,6 +52,7 @@
<files>
<file>autolinking.html</file>
<file>classes.html</file>
+ <file>crossmoduleref.html</file>
<file>obsolete-classes.html</file>
<file>seenclass.html</file>
<file>testcpp-module.html</file>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html
index c17042c75..f3de1542a 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html
@@ -22,7 +22,8 @@
<!-- @@@TestCPP -->
<h2 id="namespaces">Namespaces</h2>
<div class="table"><table class="annotated">
-<tr class="odd topAlign"><td class="tblName"><p><a href="testqdoc.html">TestQDoc</a></p></td><td class="tblDescr"><p>A namespace</p></td></tr>
+<tr class="odd topAlign"><td class="tblName"><p><a href="crossmoduleref.html">CrossModuleRef</a></p></td><td class="tblDescr"><p>Namespace that has documented functions in multiple modules</p></td></tr>
+<tr class="even topAlign"><td class="tblName"><p><a href="testqdoc.html">TestQDoc</a></p></td><td class="tblDescr"><p>A namespace</p></td></tr>
</table></div>
<h2 id="classes">Classes</h2>
<div class="table"><table class="annotated">
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
index edc8ecc57..3552694cc 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
@@ -9,6 +9,9 @@
<page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle="" module="TestCPP">
<contents name="testqdoc" title="TestQDoc" level="1"/>
</page>
+ <namespace name="CrossModuleRef" href="crossmoduleref.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Namespace that has documented functions in multiple modules">
+ <function name="documentMe" fullname="CrossModuleRef::documentMe" href="crossmoduleref.html#documentMe" 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 documentMe()"/>
+ </namespace>
<page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle="" module="TestCPP">
<contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/>
<contents name="testqdoc" title="TestQDoc" level="2"/>
@@ -96,6 +99,6 @@
</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"/>
+ <module name="TestCPP" href="testcpp-module.html" status="active" documented="true" seen="true" title="QDoc Test C++ Classes" module="TestCPP" members="TestQDoc,Test,TestDerived,CrossModuleRef" brief="A test module page"/>
</namespace>
</INDEX>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/test.qhp b/tests/auto/qdoc/generatedoutput/expected_output/test.qhp
index 9c52e5236..078ec2cf0 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/test.qhp
+++ b/tests/auto/qdoc/generatedoutput/expected_output/test.qhp
@@ -21,6 +21,7 @@
<section ref="test-nover-qmlmodule.html" title="Versionless QML Module"/>
</section>
<section ref="testcpp-module.html" title="Classes">
+ <section ref="crossmoduleref.html" title="CrossModuleRef"/>
<section ref="testqdoc.html" title="TestQDoc"/>
<section ref="testqdoc-test.html" title="TestQDoc::Test Class Reference">
<section ref="testqdoc-test-members.html" title="List of all members"/>
@@ -67,6 +68,7 @@
<keyword name="Autolinking" id="Autolinking" ref="autolinking.html"/>
<keyword name="Child" id="QML.Child" ref="qml-qdoc-test-child.html"/>
<keyword name="Child" id="QML.QDoc.Test1.Child" ref="qml-qdoc-test-child.html"/>
+ <keyword name="CrossModuleRef" id="CrossModuleRef" ref="crossmoduleref.html"/>
<keyword name="DocTest" id="QML.DocTest" ref="qml-qdoc-test-doctest.html"/>
<keyword name="DocTest" id="QML.QDoc.Test1.DocTest" ref="qml-qdoc-test-doctest.html"/>
<keyword name="No QML Types Here" id="No QML Types Here" ref="test-empty-qmlmodule.html"/>
@@ -109,6 +111,7 @@
<keyword name="deprecatedMember" id="Test::deprecatedMember" ref="testqdoc-test-obsolete.html#deprecatedMember"/>
<keyword name="deprecatedMethod" id="Type::deprecatedMethod" ref="qml-qdoc-test-type-obsolete.html#deprecatedMethod-method"/>
<keyword name="disable" id="Type::disable" ref="qml-qdoc-test-type.html#disable-method"/>
+ <keyword name="documentMe" id="CrossModuleRef::documentMe" ref="crossmoduleref.html#documentMe"/>
<keyword name="enable" id="Type::enable" ref="qml-qdoc-test-type.html#enable-method"/>
<keyword name="fail" id="DocTest::fail" ref="qml-qdoc-test-doctest.html#fail-method"/>
<keyword name="fail_hard" id="DocTest::fail_hard" ref="qml-qdoc-test-doctest.html#fail_hard-method"/>
@@ -151,6 +154,7 @@
</keywords>
<files>
<file>autolinking.html</file>
+ <file>crossmoduleref.html</file>
<file>images/leonardo-da-vinci.png</file>
<file>obsolete-classes.html</file>
<file>qdoc-test-qmlmodule.html</file>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html
index f4e3d79e6..117f34d72 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html
@@ -22,7 +22,8 @@
<!-- @@@TestCPP -->
<h2 id="namespaces">Namespaces</h2>
<div class="table"><table class="annotated">
-<tr class="odd topAlign"><td class="tblName"><p><a href="testqdoc.html">TestQDoc</a></p></td><td class="tblDescr"><p>A namespace</p></td></tr>
+<tr class="odd topAlign"><td class="tblName"><p><a href="crossmoduleref.html">CrossModuleRef</a></p></td><td class="tblDescr"><p>Namespace that has documented functions in multiple modules</p></td></tr>
+<tr class="even topAlign"><td class="tblName"><p><a href="testqdoc.html">TestQDoc</a></p></td><td class="tblDescr"><p>A namespace</p></td></tr>
</table></div>
<h2 id="classes">Classes</h2>
<div class="table"><table class="annotated">
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
index abdc41e5d..697625db1 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
@@ -9,6 +9,9 @@
<page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle="" module="TestCPP">
<contents name="testqdoc" title="TestQDoc" level="1"/>
</page>
+ <namespace name="CrossModuleRef" href="crossmoduleref.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Namespace that has documented functions in multiple modules">
+ <function name="documentMe" fullname="CrossModuleRef::documentMe" href="crossmoduleref.html#documentMe" 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 documentMe()"/>
+ </namespace>
<page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle="" module="TestCPP">
<contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/>
<contents name="testqdoc" title="TestQDoc" level="2"/>
@@ -59,6 +62,6 @@
</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"/>
+ <module name="TestCPP" href="testcpp-module.html" status="active" documented="true" seen="true" title="QDoc Test C++ Classes" module="TestCPP" members="TestQDoc,Test,TestDerived,CrossModuleRef" brief="A test module page"/>
</namespace>
</INDEX>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
index 21c55267c..ea88a7a0d 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
@@ -36,6 +36,17 @@
<arglist>(Child child, name)</arglist>
</member>
</compound>
+ <compound kind="namespace">
+ <name>CrossModuleRef</name>
+ <filename>crossmoduleref.html</filename>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>documentMe</name>
+ <anchorfile>crossmoduleref.html</anchorfile>
+ <anchor>documentMe</anchor>
+ <arglist>()</arglist>
+ </member>
+ </compound>
<compound kind="class">
<name>QDoc.Test.DocTest</name>
<filename>qml-qdoc-test-doctest.html</filename>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule_singleexec.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule_singleexec.qdocconf
index d49498ec0..1040bb5ad 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule_singleexec.qdocconf
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule_singleexec.qdocconf
@@ -1,4 +1,6 @@
include(crossmodule.qdocconf)
+sources += namespaces.qdoc
+
HTML.nosubdirs = true
HTML.outputsubdir = crossmodule
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/namespaces.qdoc b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/namespaces.qdoc
new file mode 100644
index 000000000..71e72fa22
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/namespaces.qdoc
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page all-namespaces.html
+ \title Namespaces
+
+ \generatelist namespaces
+*/
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
index 411d957ab..299e8f247 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
@@ -30,6 +30,14 @@
/*!
\module CrossModule
*/
+
+/*!
+ Function under a namespace that's documented elsewhere.
+*/
+void CrossModuleRef::documentMeToo()
+{
+}
+
/*!
\class TestType
\inmodule CrossModule
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h
index 4ffb0c80b..0d8919653 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h
@@ -29,6 +29,10 @@
#include "../testcpp/testcpp.h"
+namespace CrossModuleRef {
+ void documentMeToo();
+}
+
class TestType : public TestQDoc::TestDerived
{
public:
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
index f6f468818..19afd4197 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
@@ -299,3 +299,20 @@ void TestDerived::staticObsoleteMember()
*/
} // namespace TestQDoc
+
+
+/*!
+ \namespace CrossModuleRef
+ \inmodule TestCPP
+ \brief Namespace that has documented functions in multiple modules.
+*/
+namespace CrossModuleRef {
+
+/*!
+ Document me!
+*/
+void documentMe()
+{
+}
+
+} // namespace CrossModuleRef
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
index 51a9534da..2fd85589b 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
@@ -137,3 +137,7 @@ using Vec = BaseVec<T>;
#endif
} // namespace TestQDoc
+
+namespace CrossModuleRef {
+ void documentMe();
+}
diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
index 22796240c..51dd377a5 100644
--- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
+++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
@@ -431,7 +431,8 @@ void tst_generatedOutput::crossModuleLinking()
QString indexDir = QLatin1String("-indexdir ") + m_outputDir->path();
testAndCompare("testdata/crossmodule/crossmodule.qdocconf",
"crossmodule/testtype.html "
- "crossmodule/testtype-members.html",
+ "crossmodule/testtype-members.html "
+ "crossmodule/crossmoduleref-sub-crossmodule.html",
indexDir.toLatin1().data());
}
@@ -451,6 +452,8 @@ void tst_generatedOutput::singleExec()
"testqdoc-test.html "
"testqdoc-test-members.html "
"testqdoc.html "
+ "crossmoduleref.html "
+ "crossmodule/all-namespaces.html "
"crossmodule/testtype.html "
"crossmodule/testtype-members.html",
"-single-exec");