summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2023-03-30 09:09:26 +0000
committerTopi Reinio <topi.reinio@qt.io>2023-04-11 16:16:41 +0000
commit2ba87cd00e6527dbd64f5884f29081bd535605bb (patch)
treef3a884f7ed5d7f756959a5dcec2451340a41773f /tests
parente57bf78334d5b10f23e37d049a58ef24bb5f51e4 (diff)
downloadqttools-2ba87cd00e6527dbd64f5884f29081bd535605bb.tar.gz
qdoc: Fix links in \generatelist <groupname> output
The \generatelist command already supported listing members of a group as a simple unordered list of titles/links, but the links were broken as they always referred to the current document. In DocBook generator, reuse generateAnnotatedList() for this purpose as it already has support for outputting simple itemized/unordered lists. Create a new private enum GeneratedListType to select the list 'subtype' and clean up the API. Add simple test case and documentation of the new argument. Fixes: QTBUG-111575 Pick-to: 6.5 Change-Id: I30e4976cef3b6aa5414aac457844ae5bc0762f3d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/cpptypes.html24
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/docbook/cpptypes.xml30
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/classlists.qdoc2
-rw-r--r--tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp2
4 files changed, 58 insertions, 0 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/cpptypes.html b/tests/auto/qdoc/generatedoutput/expected_output/cpptypes.html
new file mode 100644
index 000000000..633ca939b
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/cpptypes.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+<!-- classlists.qdoc -->
+ <title>Test C++ Types | TestCPP</title>
+</head>
+<body>
+<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
+<h1 class="title">Test C++ Types</h1>
+<!-- $$$cpptypes-description -->
+<div class="descr" id="details">
+<ul>
+<li translate="no"><a href="testqdoc-test.html">TestQDoc::Test</a></li>
+<li translate="no"><a href="testqdoc-test.html#QDOCTEST_MACRO2">TestQDoc::Test::QDOCTEST_MACRO2</a></li>
+<li translate="no"><a href="testqdoc-test.html#someFunctionDefaultArg">TestQDoc::Test::someFunctionDefaultArg()</a></li>
+</ul>
+</div>
+<!-- @@@cpptypes -->
+<div class="table"><table class="annotated">
+<tr class="odd topAlign"><td class="tblName" translate="no"><p><a href="testqdoc-test.html">TestQDoc::Test</a></p></td><td class="tblDescr"><p>A class in a namespace</p></td></tr>
+</table></div>
+</body>
+</html>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/cpptypes.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/cpptypes.xml
new file mode 100644
index 000000000..9dcabf364
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/cpptypes.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en">
+<db:info>
+<db:title>Test C++ Types</db:title>
+<db:productname>TestCPP</db:productname>
+<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev>
+<db:abstract>
+<db:para>TestCPP Reference Documentation.</db:para></db:abstract>
+</db:info>
+<db:anchor xml:id="details"/>
+<db:variablelist role="testgroup">
+<db:listitem>
+<db:para><db:link xlink:href="testqdoc-test.xml" xlink:role="class">TestQDoc::Test</db:link></db:para>
+</db:listitem>
+<db:listitem>
+<db:para><db:link xlink:href="testqdoc-test.xml#QDOCTEST_MACRO2" xlink:role="function">TestQDoc::Test::QDOCTEST_MACRO2</db:link></db:para>
+</db:listitem>
+<db:listitem>
+<db:para><db:link xlink:href="testqdoc-test.xml#someFunctionDefaultArg" xlink:role="function">TestQDoc::Test::someFunctionDefaultArg()</db:link></db:para>
+</db:listitem>
+</db:variablelist>
+<db:variablelist role="members">
+<db:varlistentry>
+<db:term><db:link xlink:href="testqdoc-test.xml" xlink:role="class">TestQDoc::Test</db:link></db:term>
+<db:listitem>
+<db:para>A class in a namespace.</db:para>
+</db:listitem>
+</db:varlistentry>
+</db:variablelist>
+</db:article>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/classlists.qdoc b/tests/auto/qdoc/generatedoutput/testdata/testcpp/classlists.qdoc
index 0a40e9b3e..8f6e9b6b7 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/classlists.qdoc
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/classlists.qdoc
@@ -38,4 +38,6 @@
/*!
\group cpptypes
\title Test C++ Types
+
+ \generatelist testgroup
*/
diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
index 69d930ff4..552ed39cc 100644
--- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
+++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
@@ -222,6 +222,7 @@ void tst_generatedOutput::htmlFromCpp()
"testqdoc-testderived-obsolete.html "
"obsolete-classes.html "
"autolinking.html "
+ "cpptypes.html "
"testqdoc.html");
}
@@ -315,6 +316,7 @@ void tst_generatedOutput::docBookFromCpp()
"docbook/testcpp-module.xml "
"docbook/testqdoc-test.xml "
"docbook/testqdoc-testderived.xml "
+ "docbook/cpptypes.xml "
"docbook/testqdoc.xml");
}