summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-06-15 10:58:14 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-17 09:01:59 +0000
commit08ce46d0fa28dd2825df0a1b3f8ef5481de163e3 (patch)
tree72f9840e75d35f4a690bcd294dae56f5693339d0 /tests
parenta6b04d7047ebc13e3955390cc72b5d2ac6ca6a31 (diff)
qdoc: Stop documenting ignored nodes
There were multiple locations in the code where QDoc still generated links to nodes that were marked with \internal or \dontdocument, or generated lists that included entries (with links to non-existing files) representing these nodes. * Set an empty (but non-null) url for ignored nodes. This also speeds up searching for link targets as nodes can be dismissed early based on their url(). * Use Node::isDontDocument() as a conditional in Node::isInAPI(), and filter CollectionNode's members based on the latter - this removes ignored classes/functions from module pages and group listings. * Fix TagFileWriter to drop ignored nodes. Fixes: QTBUG-94555 Change-Id: Icab05f7aa78e455c15ce097b9f99f5fce7267d3f Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 1246e064caaa6243c941d795eb877c519bce69ad) 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/testtype.html1
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/first.html12
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml6
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/index.html2
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testcpp.index3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags31
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h2
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp1
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp10
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h2
11 files changed, 38 insertions, 35 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
index c8bdbdc71..5db714b9b 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/crossmodule/testtype.html
@@ -41,6 +41,7 @@
<li><a href="testqdoc-testderived.html">TestQDoc::TestDerived</a></li>
<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>
+<li>DontLinkToMe</li>
</ul>
<h3 id="generated-lists">Generated Lists</h3>
<p>This is an annotated list of entries in a group: <div class="table"><table class="annotated">
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/first.html b/tests/auto/qdoc/generatedoutput/expected_output/first.html
index 79ae81b7f..f46004f6e 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/first.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/first.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- main.cpp -->
- <title>First Class | TestModule</title>
+ <title>First Struct | TestModule</title>
</head>
<body>
<li>First</li>
@@ -11,14 +11,22 @@
<div class="toc">
<h3 id="toc">Contents</h3>
<ul>
+<li class="level1"><a href="#public-types">Public Types</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">First Class</h1>
+<h1 class="title">First Struct</h1>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;First&gt;</span>
</td></tr></table></div>
+<ul>
+<li><a href="first-members.html">List of all members, including inherited members</a></li>
+</ul>
+<h2 id="public-types">Public Types</h2>
+<div class="table"><table class="alignedsummary">
+<tr><td class="memItemLeft rightAlign topAlign"> class </td><td class="memItemRight bottomAlign"><b><a href="first-nested.html">Nested</a></b></td></tr>
+</table></div>
<!-- $$$First-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml
index b3dc9dffa..526bbbe73 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml
+++ b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<WebXML>
<document>
- <class name="First" href="first.html" status="active" access="public" location="bbb.h" documented="true" module="TestModule">
+ <struct name="First" href="first.html" status="active" access="public" location="bbb.h" documented="true" module="TestModule">
<description>
<para>This is a first class</para>
</description>
- <class name="Nested" fullname="First::Nested" href="first-nested.html" status="active" access="private" location="bbb.h" documented="true" module="TestModule">
+ <class name="Nested" fullname="First::Nested" href="first-nested.html" status="active" access="public" location="bbb.h" documented="true" module="TestModule">
<description>
<para>This is a nested class</para>
</description>
</class>
- </class>
+ </struct>
</document>
</WebXML>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/index.html b/tests/auto/qdoc/generatedoutput/expected_output/index.html
index a17504a08..4593e3419 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/index.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/index.html
@@ -11,7 +11,7 @@
<div class="descr" id="details">
<div class="table"><table class="annotated">
<tr class="odd topAlign"><td class="tblName"><p><a href="first.html">First</a></p></td></tr>
-<tr class="even topAlign"><td class="tblName"><p>First::Nested</p></td></tr>
+<tr class="even topAlign"><td class="tblName"><p><a href="first-nested.html">First::Nested</a></p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="second.html">Second</a></p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="third.html">Third</a></p></td></tr>
</table></div>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
index d140f678a..fd21f16ec 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
@@ -12,6 +12,7 @@
<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>
+ <class name="DontLinkToMe" href="dontlinktome.html" status="ignored" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Class that does not generate documentation"/>
<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="">
<contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/>
<contents name="testqdoc" title="TestQDoc" level="2"/>
@@ -99,6 +100,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,CrossModuleRef" 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,DontLinkToMe" 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 ea122311d..6b3a1b66e 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index
@@ -12,6 +12,7 @@
<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>
+ <class name="DontLinkToMe" href="dontlinktome.html" status="ignored" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Class that does not generate documentation"/>
<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="">
<contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/>
<contents name="testqdoc" title="TestQDoc" level="2"/>
@@ -62,6 +63,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,CrossModuleRef" 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,DontLinkToMe" 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 ea88a7a0d..c4b2ad3db 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
@@ -15,7 +15,7 @@
<name>name</name>
<anchorfile>qml-qdoc-test-abstractparent.html</anchorfile>
<anchor>name-method</anchor>
- <arglist>(Child child, name)</arglist>
+ <arglist>(Child child, name)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type>void</type>
@@ -33,7 +33,7 @@
<name>name</name>
<anchorfile>qml-qdoc-test-child.html</anchorfile>
<anchor>name-method</anchor>
- <arglist>(Child child, name)</arglist>
+ <arglist>(Child child, name)</arglist>
</member>
</compound>
<compound kind="namespace">
@@ -76,21 +76,14 @@
<name>fail</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
<anchor>fail-method</anchor>
- <arglist>( message)</arglist>
- </member>
- <member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>doctest_fail</name>
- <anchorfile>qml-qdoc-test-doctest.html</anchorfile>
- <anchor>doctest_fail-method</anchor>
- <arglist>( msg)</arglist>
+ <arglist>(message)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
<name>fail_hard</name>
<anchorfile>qml-qdoc-test-doctest.html</anchorfile>
<anchor>fail_hard-method</anchor>
- <arglist>( msg, option)</arglist>
+ <arglist>(msg, option)</arglist>
</member>
</compound>
<compound kind="class">
@@ -107,24 +100,10 @@
<anchor>toggle-method</anchor>
<arglist>()</arglist>
</member>
- <member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>releaseSwitch</name>
- <anchorfile>qml-uicomponents-switch.html</anchorfile>
- <anchor>releaseSwitch-method</anchor>
- <arglist>()</arglist>
- </member>
</compound>
<compound kind="class">
<name>UIComponents.TabWidget</name>
<filename>qml-uicomponents-tabwidget.html</filename>
- <member kind="function" protection="public" virtualness="non" static="no">
- <type></type>
- <name>setOpacities</name>
- <anchorfile>qml-uicomponents-tabwidget.html</anchorfile>
- <anchor>setOpacities-method</anchor>
- <arglist>()</arglist>
- </member>
</compound>
<compound kind="namespace">
<name>TestQDoc</name>
@@ -293,7 +272,7 @@
<name>copy</name>
<anchorfile>qml-qdoc-test-type.html</anchorfile>
<anchor>copy-method</anchor>
- <arglist>( a)</arglist>
+ <arglist>(a)</arglist>
</member>
<member kind="function" protection="public" virtualness="non" static="no">
<type></type>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h b/tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h
index 0dc6e52c6..ac3706e55 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h
+++ b/tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h
@@ -1,5 +1,5 @@
#pragma once
-class First
+struct First
{
class Nested {};
};
diff --git a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
index 299e8f247..9de7b2b9e 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp
@@ -51,6 +51,7 @@ void CrossModuleRef::documentMeToo()
\li \l {TestQDoc::TestDerived}
\li \l {TestQDoc::}{Test} class \l Usage.
\li QDOCTEST_MACRO
+ \li DontLinkToMe
\endlist
\section1 Generated Lists
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
index 19afd4197..dd02416ac 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp
@@ -316,3 +316,13 @@ void documentMe()
}
} // namespace CrossModuleRef
+
+/*!
+ \class DontLinkToMe
+ \inmodule TestCPP
+ \brief Class that does not generate documentation.
+*/
+
+/*!
+ \dontdocument (DontLinkToMe)
+*/
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
index 2fd85589b..3443f93fb 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
@@ -141,3 +141,5 @@ using Vec = BaseVec<T>;
namespace CrossModuleRef {
void documentMe();
}
+
+class DontLinkToMe {};