diff options
-rw-r--r-- | src/commentscan.l | 2 | ||||
-rw-r--r-- | src/htmldocvisitor.cpp | 103 | ||||
-rwxr-xr-x[-rw-r--r--] | testing/074/namespacens.xml | 162 | ||||
-rwxr-xr-x[-rw-r--r--] | testing/074/struct_foo.xml | 577 | ||||
-rw-r--r-- | testing/074_ref.cpp | 3 | ||||
-rwxr-xr-x | testing/runtests.py | 9 |
6 files changed, 425 insertions, 431 deletions
diff --git a/src/commentscan.l b/src/commentscan.l index 90e7ac3..235cd7c 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -1121,6 +1121,8 @@ RCSTAG "$"{ID}":"[^\n$]+"$" // the {B}* in the front was added for bug620924 QCString fullMatch = QCString(yytext); int idx = fullMatch.find('{'); + /* handle `\f{` and `@f{` as special cases */ + if ((idx > 1) && (yytext[idx-1] == 'f') && (yytext[idx-2] == '\\' || yytext[idx-2] =='@')) REJECT; int idxEnd = fullMatch.find("}",idx+1); QCString cmdName; QCStringList optList; diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index f89f79e..8c78f85 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -126,7 +126,6 @@ static bool mustBeOutsideParagraph(DocNode *n) case DocNode::Kind_Internal: /* <div> */ case DocNode::Kind_Include: - case DocNode::Kind_Image: case DocNode::Kind_SecRefList: /* <hr> */ case DocNode::Kind_HorRuler: @@ -152,6 +151,8 @@ static bool mustBeOutsideParagraph(DocNode *n) ((DocStyleChange*)n)->style()==DocStyleChange::Center; case DocNode::Kind_Formula: return !((DocFormula*)n)->isInline(); + case DocNode::Kind_Image: + return !((DocImage*)n)->isInlineImage(); default: break; } @@ -210,29 +211,31 @@ static bool isInvisibleNode(DocNode *node) ; } -static QString htmlAttribsToString(const HtmlAttribList &attribs, bool img_tag = FALSE) +static QCString htmlAttribsToString(const HtmlAttribList &attribs, QCString *pAltValue = 0) { - QString result; + QCString result; HtmlAttribListIterator li(attribs); HtmlAttrib *att; - bool alt_set = FALSE; - for (li.toFirst();(att=li.current());++li) { if (!att->value.isEmpty()) // ignore attribute without values as they // are not XHTML compliant, with the exception // of the alt attribute with the img tag { - result+=" "; - result+=att->name; - result+="=\""+convertToXML(att->value)+"\""; - if (att->name == "alt") alt_set = TRUE; + if (att->name=="alt" && pAltValue) // optionally return the value of alt separately + // need to convert <img> to <object> for SVG images, + // which do not support the alt attribute + { + *pAltValue = att->value; + } + else + { + result+=" "; + result+=att->name; + result+="=\""+convertToXML(att->value)+"\""; + } } } - if (!alt_set && img_tag) - { - result+=" alt=\"\""; - } return result; } @@ -1205,6 +1208,10 @@ void HtmlDocVisitor::visitPre(DocPara *p) void HtmlDocVisitor::visitPost(DocPara *p) { + + //printf("DocPara::visitPost: parent of kind %d ", + // p->parent() ? p->parent()->kind() : -1); + bool needsTag = FALSE; if (p->parent()) { @@ -1635,62 +1642,40 @@ void HtmlDocVisitor::visitPre(DocImage *img) sizeAttribs+=" height=\""+img->height()+"\""; } // 16 cases: url.isEmpty() | typeSVG | inlineImage | img->hasCaption() + QCString alt; + QCString attrs = htmlAttribsToString(img->attribs(),&alt); + QCString src; if (url.isEmpty()) { - if (typeSVG) + src = img->relPath()+img->name(); + } + else + { + src = correctURL(url,img->relPath()); + } + if (typeSVG) + { + m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << src + << "\"" << sizeAttribs << attrs; + if (inlineImage) { - m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << img->relPath() << img->name() - << "\"" << sizeAttribs << htmlAttribsToString(img->attribs()); - if (inlineImage) - { - // skip closing tag - } - else - { - m_t << "></object>" << endl; - } + // skip closing tag } else { - m_t << "<img src=\"" << img->relPath() << img->name() << "\" alt=\"" - << baseName << "\"" << sizeAttribs << htmlAttribsToString(img->attribs()); - if (inlineImage) - { - m_t << " class=\"inline\""; - } - else - { - m_t << "/>\n"; - } + m_t << ">" << alt << "</object>" << endl; } } - else // link to URL + else { - if (typeSVG) + m_t << "<img src=\"" << src << "\" alt=\"" << alt << "\"" << sizeAttribs << attrs; + if (inlineImage) { - m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << correctURL(url,img->relPath()) - << "\"" << sizeAttribs << htmlAttribsToString(img->attribs()); - if (inlineImage) - { - // skip closing > - } - else - { - m_t << "></object>" << endl; - } + m_t << " class=\"inline\""; } else { - m_t << "<img src=\"" << correctURL(url,img->relPath()) << "\"" - << sizeAttribs << htmlAttribsToString(img->attribs(), TRUE); - if (inlineImage) - { - m_t << " class=\"inline\""; // skip closing > - } - else - { - m_t << "/>\n"; - } + m_t << "/>\n"; } } if (img->hasCaption()) @@ -1709,7 +1694,7 @@ void HtmlDocVisitor::visitPre(DocImage *img) { if (typeSVG) { - m_t << "></object>"; + m_t << ">" << alt << "</object>"; } else { @@ -1736,7 +1721,9 @@ void HtmlDocVisitor::visitPost(DocImage *img) { if (img->isSVG()) { - m_t << "\"></object>"; + QCString alt; + QCString attrs = htmlAttribsToString(img->attribs(),&alt); + m_t << "\">" << alt << "</object>"; } else { diff --git a/testing/074/namespacens.xml b/testing/074/namespacens.xml index 495e550..4eccf88 100644..100755 --- a/testing/074/namespacens.xml +++ b/testing/074/namespacens.xml @@ -1,81 +1,81 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="namespacens" kind="namespace" language="C++"> - <compoundname>ns</compoundname> - <sectiondef kind="func"> - <memberdef kind="function" id="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int ns::operator""_op</definition> - <argsstring>(unsigned long long)</argsstring> - <name>operator""_op</name> - <param> - <type>unsigned long long</type> - </param> - <briefdescription> - <para>An operator. </para> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="66" column="1"/> - </memberdef> - <memberdef kind="function" id="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int ns::operator""_oq</definition> - <argsstring>(unsigned long long)</argsstring> - <name>operator""_oq</name> - <param> - <type>unsigned long long</type> - </param> - <briefdescription> - <para>Another operator. </para> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="69" column="1"/> - </memberdef> - <memberdef kind="function" id="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>void</type> - <definition>void ns::foo</definition> - <argsstring>(std::initializer_list< int * >)</argsstring> - <name>foo</name> - <param> - <type>std::initializer_list< int * ></type> - </param> - <briefdescription> - <para>Function. </para> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="72" column="1"/> - </memberdef> - </sectiondef> - <briefdescription> -<para>A namespace. </para> - </briefdescription> - <detaileddescription> - <para> - <itemizedlist> - <listitem> - <para>Link to an UDL w/o spaces: <ref refid="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" kindref="member">operator""_op</ref></para> - </listitem> - <listitem> - <para>Link to an UDL with spaces: <ref refid="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" kindref="member">operator""_oq</ref></para> - </listitem> - <listitem> - <para>Link to a function with spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list< int* >)</ref></para> - </listitem> - <listitem> - <para>Link to a function w/o spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list<int*>)</ref> </para> - </listitem> - </itemizedlist> - </para> - </detaileddescription> - <location file="074_ref.cpp" line="63" column="1"/> - </compounddef> -</doxygen> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="namespacens" kind="namespace" language="C++">
+ <compoundname>ns</compoundname>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int ns::operator""_op</definition>
+ <argsstring>(unsigned long long)</argsstring>
+ <name>operator""_op</name>
+ <param>
+ <type>unsigned long long</type>
+ </param>
+ <briefdescription>
+ <para>An operator. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="67" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int ns::operator""_oq</definition>
+ <argsstring>(unsigned long long)</argsstring>
+ <name>operator""_oq</name>
+ <param>
+ <type>unsigned long long</type>
+ </param>
+ <briefdescription>
+ <para>Another operator. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="70" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>void</type>
+ <definition>void ns::foo</definition>
+ <argsstring>(std::initializer_list< int * >)</argsstring>
+ <name>foo</name>
+ <param>
+ <type>std::initializer_list< int * ></type>
+ </param>
+ <briefdescription>
+ <para>Function. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="73" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ <para>A namespace. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>Link to an UDL w/o spaces: <ref refid="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" kindref="member">operator""_op</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to an UDL with spaces: <ref refid="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" kindref="member">operator""_oq</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to a function with spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list< int* >)</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to a function w/o spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list<int*>)</ref> </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </detaileddescription>
+ <location file="074_ref.cpp" line="64" column="1"/>
+ </compounddef>
+</doxygen>
diff --git a/testing/074/struct_foo.xml b/testing/074/struct_foo.xml index c49fbaa..7096238 100644..100755 --- a/testing/074/struct_foo.xml +++ b/testing/074/struct_foo.xml @@ -1,287 +1,290 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> - <compounddef id="struct_foo" kind="struct" language="C++" prot="public"> - <compoundname>Foo</compoundname> - <sectiondef kind="public-func"> - <memberdef kind="function" id="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type/> - <definition>Foo::Foo</definition> - <argsstring>()</argsstring> - <name>Foo</name> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>Constructor </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="20" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type><ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <definition>Foo& Foo::operator<<</definition> - <argsstring>(int i)</argsstring> - <name>operator<<</name> - <param> - <type>int</type> - <declname>i</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>overloaded less than operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="31" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual"> - <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <definition>const Foo& Foo::operator<<</definition> - <argsstring>(int i) const</argsstring> - <name>operator<<</name> - <param> - <type>int</type> - <declname>i</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>overloaded const less than operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="34" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int Foo::operator()</definition> - <argsstring>(int i)</argsstring> - <name>operator()</name> - <param> - <type>int</type> - <declname>i</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>overloaded call operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="37" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int Foo::operator()</definition> - <argsstring>(int i) const</argsstring> - <name>operator()</name> - <param> - <type>int</type> - <declname>i</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>overloaded call operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="40" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type><ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <definition>Foo& Foo::operator&=</definition> - <argsstring>(const Foo &rhs)</argsstring> - <name>operator&=</name> - <param> - <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <declname>rhs</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>and equal operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="43" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type><ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <definition>Foo& Foo::operator&=</definition> - <argsstring>(const Foo &rhs)</argsstring> - <name>operator&=</name> - <param> - <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type> - <declname>rhs</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>and equal operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="46" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int *</type> - <definition>int* Foo::operator->*</definition> - <argsstring>(int *p)</argsstring> - <name>operator->*</name> - <param> - <type>int *</type> - <declname>p</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - <para>Member pointer operator </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="49" column="1"/> - </memberdef> - <memberdef kind="function" id="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual"> - <type> - <ref refid="struct_foo" kindref="compound">Foo</ref> - </type> - <definition>Foo Foo::fun</definition> - <argsstring>() const</argsstring> - <name>fun</name> - <briefdescription> - <para>Fun with itself. </para> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="52" column="1"/> - </memberdef> - </sectiondef> - <sectiondef kind="public-static-func"> - <memberdef kind="function" id="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual"> - <type> - <ref refid="struct_foo" kindref="compound">Foo</ref> - </type> - <definition>static Foo Foo::fun</definition> - <argsstring>(Foo a, Foo b)</argsstring> - <name>fun</name> - <param> - <type> - <ref refid="struct_foo" kindref="compound">Foo</ref> - </type> - <declname>a</declname> - </param> - <param> - <type> - <ref refid="struct_foo" kindref="compound">Foo</ref> - </type> - <declname>b</declname> - </param> - <briefdescription> - <para>Fun of two. </para> - </briefdescription> - <detaileddescription> - <para> - <itemizedlist> - <listitem> - <para> - <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref> - </para> - </listitem> - <listitem> - <para> - <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref> - </para> - </listitem> - <listitem> - <para> - <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">title</ref> - </para> - </listitem> - </itemizedlist> - </para> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="074_ref.cpp" line="28" column="1"/> - </memberdef> - </sectiondef> - <briefdescription> - <para><ref refid="struct_foo" kindref="compound">Foo</ref> class. </para> - </briefdescription> - <detaileddescription> - <para> - <simplesect kind="see"> - <para><ref refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" kindref="member">Foo::Foo()</ref> constructor for details. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo" kindref="compound">Foo</ref> constant. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1a279debd94d894223fa8468933e2d6188" kindref="member">less than operator</ref>. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" kindref="member">const less than operator</ref>. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" kindref="member">call operator</ref>. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" kindref="member">const call operator</ref>. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" kindref="member">and equal operator</ref>. </para> - </simplesect> - <simplesect kind="see"> - <para><ref refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" kindref="member">member pointer operator</ref>. </para> - </simplesect> - </para> - </detaileddescription> - <location file="074_ref.cpp" line="18" column="1" bodyfile="074_ref.cpp" bodystart="18" bodyend="53"/> - <listofallmembers> - <member refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>Foo</name> - </member> - <member refid="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>fun</name> - </member> - <member refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>fun</name> - </member> - <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator&=</name> - </member> - <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator&=</name> - </member> - <member refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator()</name> - </member> - <member refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator()</name> - </member> - <member refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator->*</name> - </member> - <member refid="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator<<</name> - </member> - <member refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" virt="non-virtual"> - <scope>Foo</scope> - <name>operator<<</name> - </member> - </listofallmembers> - </compounddef> -</doxygen> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="struct_foo" kind="struct" language="C++" prot="public">
+ <compoundname>Foo</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>Foo::Foo</definition>
+ <argsstring>()</argsstring>
+ <name>Foo</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>Constructor </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="21" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type><ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <definition>Foo& Foo::operator<<</definition>
+ <argsstring>(int i)</argsstring>
+ <name>operator<<</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded less than operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="32" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <definition>const Foo& Foo::operator<<</definition>
+ <argsstring>(int i) const</argsstring>
+ <name>operator<<</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded const less than operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="35" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int Foo::operator()</definition>
+ <argsstring>(int i)</argsstring>
+ <name>operator()</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded call operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="38" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int Foo::operator()</definition>
+ <argsstring>(int i) const</argsstring>
+ <name>operator()</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded call operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="41" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type><ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <definition>Foo& Foo::operator&=</definition>
+ <argsstring>(const Foo &rhs)</argsstring>
+ <name>operator&=</name>
+ <param>
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <declname>rhs</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>and equal operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="44" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <definition>const Foo& Foo::operator&=</definition>
+ <argsstring>(const Foo &rhs) const</argsstring>
+ <name>operator&=</name>
+ <param>
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &</type>
+ <declname>rhs</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>and equal operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="47" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int *</type>
+ <definition>int* Foo::operator->*</definition>
+ <argsstring>(int *p)</argsstring>
+ <name>operator->*</name>
+ <param>
+ <type>int *</type>
+ <declname>p</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>Member pointer operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="50" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <definition>Foo Foo::fun</definition>
+ <argsstring>() const</argsstring>
+ <name>fun</name>
+ <briefdescription>
+ <para>Fun with itself. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="53" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <definition>static Foo Foo::fun</definition>
+ <argsstring>(Foo a, Foo b)</argsstring>
+ <name>fun</name>
+ <param>
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <declname>a</declname>
+ </param>
+ <param>
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <declname>b</declname>
+ </param>
+ <briefdescription>
+ <para>Fun of two. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">title</ref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="29" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ <para><ref refid="struct_foo" kindref="compound">Foo</ref> class. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" kindref="member">Foo::Foo()</ref> constructor for details. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo" kindref="compound">Foo</ref> constant. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a279debd94d894223fa8468933e2d6188" kindref="member">less than operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" kindref="member">const less than operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" kindref="member">call operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" kindref="member">const call operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" kindref="member">and equal operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" kindref="member">const and equal operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" kindref="member">member pointer operator</ref>. </para>
+ </simplesect>
+ </para>
+ </detaileddescription>
+ <location file="074_ref.cpp" line="19" column="1" bodyfile="074_ref.cpp" bodystart="19" bodyend="54"/>
+ <listofallmembers>
+ <member refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>Foo</name>
+ </member>
+ <member refid="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>fun</name>
+ </member>
+ <member refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>fun</name>
+ </member>
+ <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&=</name>
+ </member>
+ <member refid="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&=</name>
+ </member>
+ <member refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator()</name>
+ </member>
+ <member refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator()</name>
+ </member>
+ <member refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator->*</name>
+ </member>
+ <member refid="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator<<</name>
+ </member>
+ <member refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator<<</name>
+ </member>
+ </listofallmembers>
+ </compounddef>
+</doxygen>
diff --git a/testing/074_ref.cpp b/testing/074_ref.cpp index d283907..cc9cf4a 100644 --- a/testing/074_ref.cpp +++ b/testing/074_ref.cpp @@ -13,6 +13,7 @@ * @see @ref operator()(int) "call operator". * @see @ref operator()(int) const "const call operator". * @see @ref operator&=(const Foo&) "and equal operator". + * @see @ref operator&=(const Foo&) const "const and equal operator". * @see @ref operator->*(int *) "member pointer operator". */ struct Foo { @@ -43,7 +44,7 @@ struct Foo { Foo& operator&=(const Foo& rhs); /** and equal operator */ - Foo& operator&=(const Foo& rhs); + const Foo& operator&=(const Foo& rhs) const; /** Member pointer operator */ int* operator->*(int *p); diff --git a/testing/runtests.py b/testing/runtests.py index 452c36e..358fb91 100755 --- a/testing/runtests.py +++ b/testing/runtests.py @@ -331,13 +331,14 @@ class TestManager: tester = Tester(self.args,test) tester.run(self) res=self.result() - if self.args.xhtml and not res and not self.args.keep: + if self.args.xhtml and self.args.inputdir!='.' and not res and not self.args.keep: shutil.rmtree("dtd",ignore_errors=True) return 0 if self.args.updateref else res def prepare_dtd(self): - shutil.rmtree("dtd",ignore_errors=True) - shutil.copytree(self.args.inputdir+"/dtd", "dtd") + if self.args.inputdir!='.': + shutil.rmtree("dtd",ignore_errors=True) + shutil.copytree(self.args.inputdir+"/dtd", "dtd") def main(): # argument handling @@ -411,7 +412,7 @@ def main(): tests.append(glob.glob('0%s_*'%id)) tests.append(glob.glob('00%s_*'%id)) if (not args.ids and not args.start_id): # find all tests - tests = glob.glob('[0-9][0-9][0-9]_*') + tests = sorted(glob.glob('[0-9][0-9][0-9]_*')) else: tests = list(itertools.chain.from_iterable(tests)) os.chdir(starting_directory) |