diff options
5 files changed, 65 insertions, 1 deletions
diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 5b52e9e1a..23d5205ff 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -2086,7 +2086,7 @@ void DocParser::expandMacro(const QString &name, const QString &def, int numPara for (int i = 0; i < numParams; ++i) { if (numParams == 1 || isLeftBraceAhead()) { - args << getArgument(true); + args << getArgument(); } else { location().warning(tr("Macro '\\%1' invoked with too few" " arguments (expected %2, got %3)") diff --git a/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html new file mode 100644 index 000000000..6ab4d245b --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/nestedmacro/testcpp-module.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> +<!-- testcpp.cpp --> + <title>QDoc Test C++ Classes | TestCPP</title> +</head> +<body> +<div class="sidebar"> +<div class="toc"> +<h3><a name="toc">Contents</a></h3> +<ul> +<li class="level1"><a href="#namespaces">Namespaces</a></li> +<li class="level1"><a href="#classes">Classes</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">QDoc Test C++ Classes</h1> +<span class="subtitle"></span> +<!-- $$$TestCPP-brief --> +<p>A test module page. <a href="#details">More...</a></p> +<!-- @@@TestCPP --> +<a name="namespaces"></a> +<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> +</table></div> +<a name="classes"></a> +<h2 id="classes">Classes</h2> +<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-testderived.html">TestQDoc::TestDerived</a></p></td><td class="tblDescr"><p>A derived class in a namespace</p></td></tr> +</table></div> +<!-- $$$TestCPP-description --> +<a name="details"></a> +<div class="descr"> +<h2 id="details">Detailed Description</h2> +<p><b>This module was introduced in version 5.15.</b></p> +</div> +<!-- @@@TestCPP --> +</body> +</html> diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/nestedmacro.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/nestedmacro.qdocconf new file mode 100644 index 000000000..64475be7e --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/nestedmacro.qdocconf @@ -0,0 +1,9 @@ +include(testcpp.qdocconf) +defines += test_nestedmacro + +macro.ver = "5.15.0" +macro.ver.match = "^(\\d+\\.\\d+)" +macro.versionnote.HTML = "<p><b>This \1 was introduced in version \2.</b></p>\n" + +HTML.nosubdirs = true +HTML.outputsubdir = nestedmacro diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp index 8422494ac..17045eed5 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp @@ -36,6 +36,10 @@ namespace TestQDoc { \brief A test module page. \testnoautolist + +\if defined(test_nestedmacro) + \versionnote {module} {\ver} +\endif */ /*! diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index b3c69af71..7bf8b3210 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -68,6 +68,7 @@ private slots: void preparePhase(); void generatePhase(); void noAutoList(); + void nestedMacro(); private: QScopedPointer<QTemporaryDir> m_outputDir; @@ -391,6 +392,13 @@ void tst_generatedOutput::noAutoList() "noautolist-docbook/qdoc-test-qmlmodule.xml"); } + +void tst_generatedOutput::nestedMacro() +{ + testAndCompare("testdata/configs/nestedmacro.qdocconf", + "nestedmacro/testcpp-module.html"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" |