// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
\if defined(test_navigation)
    \nextpage {qdoctests-qdocfileoutput-linking.html}{QDoc Linking Test}
\endif

    \page qdoctests-qdocfileoutput.html
    \title Testing \PROD output from .qdoc files
    \brief This is a simple page for testing purposes only.

    QDoc generates documentation for software projects. It does this by
    extracting \e {QDoc comments} from project source files. QDoc comments are
    signified by a C-style-like comment tag followed by an exclamation point,
    like this:
    \beginqdoc \c {This text is contained within QDoc comment tags.} \endqdoc.

    \section1 Supported file types
    QDoc parses \c .cpp and \c .qdoc files. It does extract comments from
    header (\c {.h}) files.

    \section1 Further information
    This test document is written with the purpose of testing the output QDoc
    generates when parsing \c .qdoc files. It is fairly simple and makes use of
    a limited subset of QDoc's command. Those commands are:
    \list
        \li \c {\page}
        \li \c {\title}
        \li \c {\brief}
        \li \c {\e} (for emphasizing "QDoc comments")
        \li \c {\c} (for multiple monospace-formatted entries)
        \li \c {\section1}
        \li \c {\list}
        \li \c {\li}
        \li \c {\endlist}
    \endlist

    \section1 Linking

    There are multiple ways to create hyperlinks to other topics:

    \list
    \li \l {Testing QDoc's link command}{Linking to a page title}
    \li \l {Link targets}{Linking to a section title}
    \li \l {link-test-target}{Linking using a \\target string}
    \li \l {QDoc Linking Test}{Linking using a \\keyword string}
    \endlist

    \section1 QDoc Linking Test

    This section title is overridden by another target which takes
    precedence.

    \section1 Linking to \l {Further information}{something} in a section title

    This is allowed but a questionable practice.
*/

/*!
\if defined(test_navigation)
    \previouspage qdoctests-qdocfileoutput.html \PROD Testing
    \nextpage Table of Contents
\endif

    \keyword QDoc Linking Test
    \page qdoctests-qdocfileoutput-linking.html
    \title Testing QDoc's link command
    \brief This is a page for testing QDoc's link command.

    \target link-test-target
    \section1 Link targets

    Valid parameters for the link command (\c {\l}) are page and section
    titles, targets defined with \\target or \\keyword commands, and API
    reference keywords (types, methods, namespaces, and so on).
*/

/*!
\if defined(test_navigation)
    \previouspage {Testing QDoc's link command}{QDoc Linking Test}
\endif

    \page toc.html
    \title Table of Contents

    \list
        \li \l {Testing \PROD output from .qdoc files}{\PROD Testing}
        \li \l {QDoc Linking Test}
        \li \l {Table of Contents}
    \endlist
*/

/*!
    \page qdoctests-qdocfileoutput-exhaustive.html 
    \title Exhaustive testing of QDoc commands
    \brief This page is a dumping ground for QDoc commands under test.

    \section1 This is a section1
    \section2 This is a section2
    \section3 This is a section3
    \section4 This is a section4
    \endsection4
    \endsection3
    \endsection2
    \endsection1

    \badcode
        This is bad code
    \endcode
    
    This text should have a line break riiiiight \br noooow.

    \b{All your text belong to bold}
    ...And this is an examble of only \b bold being, well, bold.

    \dots

    \qmltext
        And if I knew qmltext, I guess this is where that would go.
    \endqmltext

    \caption This a caption

    \legalese
        Lorem legal ipsum
    \endlegalese

    \quotation
    This is a quotation.
    \endquotation

    \raw HTML
        <html><body>This is <b>raw</b>. Like the <h1>Eddie Murphy</h1> movie. Just not as funny.</body></html>
    \endraw

    \sidebar
    Look, ma! I made a sidebar!
    \endsidebar

    \table
    \row \li Table item in a table row
    \row \li Another item in a different row
    \endtable

    \important This is really important.

    \note The code above doesn't compile

    \hr

    \section1 Images

    An image without any text:

    \image leonardo-da-vinci.png

    An image with just an alternative text:

    \image leonardo-da-vinci.png Image alt

    An image with alternative text and 1-atom caption:

    \image leonardo-da-vinci.png Image alt
    \caption Image caption

    An image with alternative text and 2-atom caption:

    \image leonardo-da-vinci.png Image alt
    \caption Image caption with \b {bold} text

    A bordered image:

    \borderedimage leonardo-da-vinci.png

    //! A bordered image with alternative text:
    //!
    //! \borderedimage leonardo-da-vinci.png Screenshot of the Drill Down Example
    //! It looks like this macro is not written to handle alternative text (no \2)

    A bordered image with a caption:

    \borderedimage leonardo-da-vinci.png
    \caption Screenshot of the System Tray Icon

    An inline image:

    The is a paragraph containing an \inlineimage 01.png inline image to test
    if qdoc handles them properly, without considering rest of the line as
    alt text for the image.

    An inline image with alt text:

    Here is another example of \inlineimage 01.png {No. 1} inline image with
    alternative text, which should be added as an attribute to the inline
    image.

    \section1 Commands not yet tested

    \warning The following commands have yet to be tested:
    footnote
    link
    //! Check why above two (when used in this order) cause missing linefeeds on Windows/webxml
    sincelist
    header
    index
    topicref // or just don’t care, remove it
    inlineimage
    printline
    printto
    printuntil  // what’s the difference between printto and printuntil???
    quotefile
    quotefromfile
    skipline
    skipto
    skipuntil
    span
    snippet
    codeline
    overload
    sub
    sup
    tableofcontents
    tt
    uicontrol
    endmapref
    endomit
    underline
    unicode

*/

// Empty link target that was known to assert
/*!
    \page crash.html

    \l {}
*/
