summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-04-14 16:22:30 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-04-16 11:34:53 +0000
commit3f9a0d7bdecbfadbae084fac4fc7a412856947d7 (patch)
tree95ee7d828aec1cd5d708c0ebc187cc3ff0b29eb1 /tests
parentaee7f2ec612c0d6285382e634be5e0b10da66c3d (diff)
qdoc: Tag Q_INVOKABLE functions with [invokable]
The code parser already tracked the invokability of a function; tag the function signature when generating the detailed documentation. Fixes: QTBUG-79698 Change-Id: I42d727f762b488b13dd10b400c5c07453c60cbac Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 8aa4beaff186063b24a3760a1f36a3184f8bf2e7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml19
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index1
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html3
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html6
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf3
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc5
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h2
7 files changed, 38 insertions, 1 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml
index a292a981a..fde032de0 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml
@@ -203,6 +203,25 @@
<db:note>
<db:para>This is a private signal. It can be used in signal connections but cannot be emitted by the user.</db:para></db:note>
</db:section>
+<db:section xml:id="invokeMe">
+<db:title>[invokable] TestDerived::void invokeMe() const</db:title>
+<db:methodsynopsis>
+<db:modifier>const</db:modifier>
+<db:void/>
+<db:methodname>invokeMe</db:methodname>
+<db:void/>
+<db:synopsisinfo db:role="meta">plain</db:synopsisinfo>
+<db:synopsisinfo db:role="signature">void invokeMe() const</db:synopsisinfo>
+<db:synopsisinfo db:role="access">public</db:synopsisinfo>
+<db:synopsisinfo db:role="status">active</db:synopsisinfo>
+<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo>
+<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo>
+</db:methodsynopsis>
+<db:para>Something invokable.</db:para>
+<db:note>
+<db:para>This function can be invoked via the meta-object system and from QML. See <db:link xlink:href="">Q_INVOKABLE</db:link>.</db:para>
+</db:note>
+</db:section>
<db:section xml:id="virtualFun">
<db:title>[override virtual] TestDerived::void virtualFun()</db:title>
<db:methodsynopsis>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
index b08864064..f01a57391 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index
@@ -55,6 +55,7 @@
<function name="boolPropChanged" fullname="TestQDoc::TestDerived::boolPropChanged" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="signal" virtual="non" const="false" static="false" final="false" override="false" associated-property="boolProp" type="void" signature="void boolPropChanged()"/>
<function name="emitSomething" fullname="TestQDoc::TestDerived::emitSomething" href="testqdoc-testderived.html#emitSomething" status="active" access="public" location="testcpp.h" documented="true" meta="signal" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void emitSomething()"/>
<function name="getInt" fullname="TestQDoc::TestDerived::getInt" href="testqdoc-testderived.html#intProp-prop" status="active" access="public" location="testcpp.h" meta="plain" virtual="non" const="false" static="false" final="false" override="false" associated-property="intProp" type="int *" signature="int * getInt()"/>
+ <function name="invokeMe" fullname="TestQDoc::TestDerived::invokeMe" href="testqdoc-testderived.html#invokeMe" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="true" static="false" final="false" override="false" type="void" brief="Something invokable" signature="void invokeMe() const"/>
<function name="name" fullname="TestQDoc::TestDerived::name" href="testqdoc-testderived.html#name-prop" status="active" access="public" location="testcpp.h" meta="plain" virtual="non" const="true" static="false" final="false" override="false" associated-property="name" type="const QString *" signature="const QString * name() const"/>
<function name="resetBoolProp" fullname="TestQDoc::TestDerived::resetBoolProp" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="slot" virtual="non" const="false" static="false" final="false" override="false" associated-property="boolProp" type="void" signature="void resetBoolProp()"/>
<function name="setBindableProp" fullname="TestQDoc::TestDerived::setBindableProp" href="testqdoc-testderived.html#bindableProp-prop" status="active" access="public" location="testcpp.h" meta="slot" virtual="non" const="false" static="false" final="false" override="false" associated-property="bindableProp" type="void" signature="void setBindableProp(const QString &amp;s)">
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html
index b3284d993..44ac132be 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html
@@ -23,11 +23,12 @@
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#bindableProp-prop">setBindableProp</a></b></span>(const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#boolProp-prop">setBoolProp</a></b></span>(bool)</li>
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#bindableProp-prop">bindableProp</a></b></span>() : QBindable&lt;QString&gt;</li>
-</ul></td><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#boolProp-prop">boolProp</a></b></span>() : bool</li>
+</ul></td><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="testqdoc-test.html#funcPtr">funcPtr</a></b></span>(bool, const char *) : void (*)(bool)</li>
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#intProp-prop">getInt</a></b></span>() : int *</li>
<li class="fn"><span class="name"><b><a href="testqdoc-test.html#inlineFunction">inlineFunction</a></b></span>()</li>
+<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#invokeMe">invokeMe</a></b></span>() const</li>
<li class="fn"><span class="name"><b><a href="testqdoc-testderived.html#name-prop">name</a></b></span>() const : const QString *</li>
<li class="fn"><span class="name"><b><a href="testqdoc-test.html#overload">overload</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="testqdoc-test.html#overload-1">overload</a></b></span>(bool)</li>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html
index 33c605df9..a0704e9d8 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html
@@ -58,6 +58,7 @@ target_link_libraries(mytarget PRIVATE Qt6::QDocTest)</td></tr><tr><td class="me
<tr><td class="memItemLeft rightAlign topAlign"> QBindable&lt;QString&gt; </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#bindableProp-prop">bindableProp</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#boolProp-prop">boolProp</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int *</td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#intProp-prop">getInt</a></b>()</td></tr>
+<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#invokeMe">invokeMe</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> const QString *</td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#name-prop">name</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> const QString &amp;</td><td class="memItemRight bottomAlign"><b><a href="testqdoc-testderived.html#someProp-prop">someProp</a></b>()</td></tr>
</table></div>
@@ -147,6 +148,11 @@ target_link_libraries(mytarget PRIVATE Qt6::QDocTest)</td></tr><tr><td class="me
<p>Emitted when things happen.</p>
<p><b>Note: </b>This is a private signal. It can be used in signal connections but cannot be emitted by the user.</p>
<!-- @@@emitSomething -->
+<!-- $$$invokeMe[overload1]$$$invokeMe -->
+<h3 class="fn" id="invokeMe"><a name="invokeMe"></a><code>[invokable] </code><span class="type">void</span> TestDerived::<span class="name">invokeMe</span>() const</h3>
+<p>Something invokable.</p>
+<p><b>Note: </b>This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE</a>.</p>
+<!-- @@@invokeMe -->
<!-- $$$virtualFun[overload1]$$$virtualFun -->
<h3 class="fn" id="virtualFun"><a name="virtualFun"></a><code>[override virtual] </code><span class="type">void</span> TestDerived::<span class="name">virtualFun</span>()</h3>
<p>Reimplements: <a href="testqdoc-test.html#virtualFun">Test::virtualFun</a>().</p>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf
index 610b96948..3fbdbef22 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf
+++ b/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf
@@ -8,3 +8,6 @@ outputformats = HTML DocBook
{HTML.nosubdirs,DocBook.nosubdirs} = true
HTML.outputsubdir = properties
DocBook.outputsubdir = properties-docbook
+
+# Allow link warning to Q_INVOKABLE
+warninglimit += 1
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc b/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc
index d225636a7..0ef6f4ea7 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc
@@ -52,6 +52,11 @@
*/
/*!
+ \fn TestQDoc::TestDerived::invokeMe() const
+ \brief Something invokable.
+*/
+
+/*!
//! avoid link warnings for auto-generated links to QProperty
\externalpage https://wiki.qt.io/QProperty
\title QProperty
diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
index 8a8ad1c7a..af2165d07 100644
--- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
+++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h
@@ -107,6 +107,8 @@ public:
bool boolProp();
const QString *name() const;
+ Q_INVOKABLE void invokeMe() const {}
+
Q_SIGNALS:
void emitSomething(QPrivateSignal);
void bindablePropChanged();