diff options
author | Paul Wicking <paul.wicking@qt.io> | 2020-09-28 09:42:08 +0200 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2020-09-28 10:15:37 +0200 |
commit | 39618f3a9766ad273fdb4c6036255e0a1b0d42e6 (patch) | |
tree | 973cc7ec9602c1f58f7e39c70777b55ef01e6177 /tests | |
parent | c3c5db7788a918b1136a473850486d8c4fa7b978 (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')
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 &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; |