summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2020-09-28 09:42:08 +0200
committerPaul Wicking <paul.wicking@qt.io>2020-09-28 10:15:37 +0200
commit39618f3a9766ad273fdb4c6036255e0a1b0d42e6 (patch)
tree973cc7ec9602c1f58f7e39c70777b55ef01e6177 /tests
parentc3c5db7788a918b1136a473850486d8c4fa7b978 (diff)
QDoc: Turn QdocTagFiles into TagFileWriter to unify design
Remove the generateTagFile wrapper from QDocDatabase. Let the HtmlGenerator accesses the TagFileWriter directly. Drop being a singleton for the sake of being a singleton, as it is clearly not needed. Add test case to expected output test as part of refactoring. Task-number: QTBUG-71176 Fixes: QTBUG-86999 Change-Id: I0f7b3caa1249679c9676327417d675ca164e7a40 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags257
-rw-r--r--tests/auto/qdoc/generatedoutput/testdata/configs/tagfiles.qdocconf2
-rw-r--r--tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp8
3 files changed, 265 insertions, 2 deletions
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
new file mode 100644
index 000000000..893b6aba1
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/expected_output/testtagfile.tags
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tagfile>
+ <compound kind="class">
+ <name>QDoc.Test.AbstractParent</name>
+ <filename>qml-qdoc-test-abstractparent.html</filename>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>rear</name>
+ <anchorfile>qml-qdoc-test-abstractparent.html</anchorfile>
+ <anchor>rear-method</anchor>
+ <arglist>(Child child, var method)</arglist>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>QDoc.Test.Child</name>
+ <filename>qml-qdoc-test-child.html</filename>
+ </compound>
+ <compound kind="class">
+ <name>QDoc.Test.DocTest</name>
+ <filename>qml-qdoc-test-doctest.html</filename>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>completed</name>
+ <anchorfile>qml-qdoc-test-doctest.html</anchorfile>
+ <anchor>completed-signal</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>foo</name>
+ <anchorfile>qml-qdoc-test-doctest.html</anchorfile>
+ <anchor>foo-signal</anchor>
+ <arglist>(var bar)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <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>
+ </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>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>UIComponents.ProgressBar</name>
+ <filename>qml-uicomponents-progressbar.html</filename>
+ </compound>
+ <compound kind="class">
+ <name>UIComponents.Switch</name>
+ <filename>qml-uicomponents-switch.html</filename>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>toggle</name>
+ <anchorfile>qml-uicomponents-switch.html</anchorfile>
+ <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>
+ <filename>testqdoc.html</filename>
+ <class>TestQDoc::Test</class>
+ <class>TestQDoc::TestDerived</class>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>QDOCTEST_MACRO</name>
+ <anchorfile>testqdoc.html</anchorfile>
+ <anchor>QDOCTEST_MACRO</anchor>
+ <arglist>QDOCTEST_MACRO</arglist>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>TestQDoc::Test</name>
+ <filename>testqdoc-test.html</filename>
+ <member kind="typedef" type="">
+ <name>SomeType</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>SomeType-typedef</anchor>
+ <arglist></arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>int</type>
+ <name>someFunction</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>someFunction</anchor>
+ <arglist>(int v)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>someFunctionDefaultArg</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>someFunctionDefaultArg</anchor>
+ <arglist>(int i, bool b)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>obsoleteMember</name>
+ <anchorfile>testqdoc-test-obsolete.html</anchorfile>
+ <anchor>obsoleteMember</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>anotherObsoleteMember</name>
+ <anchorfile>testqdoc-test-obsolete.html</anchorfile>
+ <anchor>anotherObsoleteMember</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>deprecatedMember</name>
+ <anchorfile>testqdoc-test-obsolete.html</anchorfile>
+ <anchor>deprecatedMember</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void (*)(bool)</type>
+ <name>funcPtr</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>funcPtr</anchor>
+ <arglist>(*)(bool) funcPtr(bool b, const char *s)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>void</type>
+ <name>inlineFunction</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>inlineFunction</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="virtual" static="no">
+ <type>virtual void</type>
+ <name>virtualFun</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>virtualFun</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="protected" virtualness="non" static="no">
+ <type>void</type>
+ <name>overload</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>overload</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="protected" virtualness="non" static="no">
+ <type>void</type>
+ <name>overload</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>overload-1</anchor>
+ <arglist>(bool b)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>QDOCTEST_MACRO2</name>
+ <anchorfile>testqdoc-test.html</anchorfile>
+ <anchor>QDOCTEST_MACRO2</anchor>
+ <arglist>(int &amp;x)</arglist>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>TestQDoc::TestDerived</name>
+ <filename>testqdoc-testderived.html</filename>
+ <base>Test</base>
+ <member kind="typedef" type="">
+ <name>DerivedType</name>
+ <anchorfile>testqdoc-testderived.html</anchorfile>
+ <anchor>DerivedType-alias</anchor>
+ <arglist></arglist>
+ </member>
+ <member kind="typedef" type="">
+ <name>NotTypedef</name>
+ <anchorfile>testqdoc-testderived.html</anchorfile>
+ <anchor>NotTypedef-alias</anchor>
+ <arglist></arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="virtual" static="no">
+ <type>virtual void</type>
+ <name>virtualFun</name>
+ <anchorfile>testqdoc-testderived.html</anchorfile>
+ <anchor>virtualFun</anchor>
+ <arglist>() override</arglist>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>QDoc.Test.Type</name>
+ <filename>qml-qdoc-test-type.html</filename>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type>Type</type>
+ <name>copy</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>copy-method</anchor>
+ <arglist>( a)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>enable</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>enable-method</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>disable</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>disable-method</anchor>
+ <arglist>()</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>completed</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>completed-signal</anchor>
+ <arglist>(int status)</arglist>
+ </member>
+ <member kind="function" protection="public" virtualness="non" static="no">
+ <type></type>
+ <name>configured</name>
+ <anchorfile>qml-qdoc-test-type.html</anchorfile>
+ <anchor>configured-signal</anchor>
+ <arglist>()</arglist>
+ </member>
+ </compound>
+ <compound kind="class">
+ <name>QDoc.Test.YetAnotherChild</name>
+ <filename>qml-qdoc-test-yetanotherchild.html</filename>
+ </compound>
+</tagfile>
diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/tagfiles.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/tagfiles.qdocconf
new file mode 100644
index 000000000..5e1382588
--- /dev/null
+++ b/tests/auto/qdoc/generatedoutput/testdata/configs/tagfiles.qdocconf
@@ -0,0 +1,2 @@
+include(testqml.qdocconf)
+tagfile = testtagfile.tags
diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
index 3891111e3..896144049 100644
--- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
+++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp
@@ -76,6 +76,7 @@ private slots:
void headerFile();
void usingDirective();
void properties();
+ void testTagFile();
private:
QScopedPointer<QTemporaryDir> m_outputDir;
@@ -199,7 +200,6 @@ void tst_generatedOutput::testAndCompare(const char *input, const char *outNames
fileInfo.filePath()));
}
QSKIP("Regenerated expected output only.");
- return;
}
compareLineByLine(expectedOuts);
@@ -475,7 +475,6 @@ void tst_generatedOutput::properties()
{
if (m_extraParams.isEmpty() && !m_regen) {
QSKIP("Required include paths not available");
- return;
}
testAndCompare("testdata/configs/properties.qdocconf",
@@ -486,6 +485,11 @@ void tst_generatedOutput::properties()
m_extraParams.toLatin1().data());
}
+void tst_generatedOutput::testTagFile()
+{
+ testAndCompare("testdata/configs/tagfiles.qdocconf", "testtagfile.tags");
+}
+
int main(int argc, char *argv[])
{
tst_generatedOutput tc;