from dox2html5 import run, default_templates, default_wildcard, default_index_pages
+def doxygen_version():
+ return subprocess.check_output(['doxygen', '-v']).decode('utf-8').strip()
+
class IntegrationTestCase(unittest.TestCase):
def __init__(self, path, dir, *args, **kwargs):
unittest.TestCase.__init__(self, *args, **kwargs)
* Should have just one template with _3 for unnamed parameter. Should
* also have the `protected` label in the details.
*/
- enum class Bar {};
+ enum Bar {};
/**
* @brief Typedef
/**
* @brief Template alias
- * @tparam V Well, this is V as well
*
- * Should include both template lists, with _3 for unnamed parameter.
- * Should also have the `protected` label in the details.
+ * Should have just one template with _3 for unnamed parameter. Should
+ * also have the `protected` label in the details. Template parameters
+ * are tested in `cpp_template_aliases` test as they need newer
+ * Doxygen.
*/
- template<class V, bool = false> using Foo = Buuu<V, false>;
+ using Foo = Buuu<U, false>;
/**
* @brief Function
namespace Type {
-/**
-@brief A templated type with just template details
-@tparam T Template param
-*/
-template<class T, typename = void> using Foo = Bar<T, int>;
-
/**
@brief Another typedef
<section id="typedef-members">
<h2><a href="#typedef-members">Typedefs</a></h3>
<dl class="m-dox">
- <dt>
- <div class="m-dox-template">template<class T, typename = void></div>
- using <a href="#a9d12414d1c73eed4c413440b95cca46b" class="m-dox">Foo</a> = Bar<T, int>
- </dt>
- <dd>A templated type with just template details.</dd>
<dt>
using <a href="#a60126d739e81aaae3b1222f38582b9fe" class="m-dox">Ugly</a> = Me
</dt>
</section>
<section>
<h2>Typedef documentation</h2>
- <section class="m-dox-details" id="a9d12414d1c73eed4c413440b95cca46b"><div>
- <h3>
- <div class="m-dox-template">
- template<class T, typename = void>
- </div>
- using Type::<wbr /><a href="#a9d12414d1c73eed4c413440b95cca46b" class="m-dox-self">Foo</a> = Bar<T, int>
- </h3>
- <p>A templated type with just template details.</p>
- <table class="m-table m-fullwidth m-flat">
- <thead>
- <tr><th colspan="2">Template parameters</th></tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 1%">T</td>
- <td>Template param</td>
- </tr>
- </tbody>
- </table>
- </div></section>
<section class="m-dox-details" id="a60126d739e81aaae3b1222f38582b9fe"><div>
<h3>
typedef Me Type::<wbr /><a href="#a60126d739e81aaae3b1222f38582b9fe" class="m-dox-self">Ugly</a>
<h2><a href="#pro-types">Protected types</a></h3>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#a78bd618022079b3efbf1db104e058c8a" class="m-dox">Bar</a> { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a78bd618022079b3efbf1db104e058c8a" class="m-dox">Bar</a> { </span><span class="m-dox-wrap"> }</span>
</dt>
<dd>Enum.</dd>
<dt>
</dt>
<dd>Typedef.</dd>
<dt>
- <div class="m-dox-template">template<class V, bool = false></div>
- using <a href="#a6b37f78f11b281740b9daf07f695c0fa" class="m-dox">Foo</a> = Buuu<V, false>
+ using <a href="#a94438a80326daae3500ce76ff0048c5e" class="m-dox">Foo</a> = Buuu<U, false>
</dt>
<dd>Template alias.</dd>
</dl>
<div class="m-dox-template">
template<class T, class U, class _3>
</div>
- enum class Template<T, U, _3>::<wbr /><a href="#a78bd618022079b3efbf1db104e058c8a" class="m-dox-self">Bar</a> <span class="m-label m-warning">protected</span>
+ enum Template<T, U, _3>::<wbr /><a href="#a78bd618022079b3efbf1db104e058c8a" class="m-dox-self">Bar</a> <span class="m-label m-warning">protected</span>
</h3>
<p>Enum.</p>
<p>Should have just one template with _3 for unnamed parameter. Should also have the <code>protected</code> label in the details.</p>
<p>Typedef.</p>
<p>Should have just one template with _3 for unnamed parameter. Should also have the <code>protected</code> label in the details.</p>
</div></section>
- <section class="m-dox-details" id="a6b37f78f11b281740b9daf07f695c0fa"><div>
+ <section class="m-dox-details" id="a94438a80326daae3500ce76ff0048c5e"><div>
<h3>
<div class="m-dox-template">
template<class T, class U, class _3>
- template<class V, bool = false>
</div>
- using Template<T, U, _3>::<wbr /><a href="#a6b37f78f11b281740b9daf07f695c0fa" class="m-dox-self">Foo</a> = Buuu<V, false> <span class="m-label m-warning">protected</span>
+ using Template<T, U, _3>::<wbr /><a href="#a94438a80326daae3500ce76ff0048c5e" class="m-dox-self">Foo</a> = Buuu<U, false> <span class="m-label m-warning">protected</span>
</h3>
<p>Template alias.</p>
- <table class="m-table m-fullwidth m-flat">
- <thead>
- <tr><th colspan="2">Template parameters</th></tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 1%">V</td>
- <td>Well, this is V as well</td>
- </tr>
- </tbody>
- </table>
-<p>Should include both template lists, with _3 for unnamed parameter. Should also have the <code>protected</code> label in the details.</p>
+<p>Should have just one template with _3 for unnamed parameter. Should also have the <code>protected</code> label in the details. Template parameters are tested in <code>cpp_template_aliases</code> test as they need newer Doxygen.</p>
</div></section>
</section>
<section>
union Union {};
/** @brief An enum */
-enum class Enum: int {};
+enum Enum {};
/** @brief A typedef */
typedef int Int;
/** @{ @name A group */
/** @brief Flag in a group */
-enum class Flag {};
+enum Flag {};
/** @brief Alias in a group */
using Main = void;
typedef void(*Deleter)(int, void*);
/** @brief A enum value */
- enum E: int { FooBar = 3 };
+ enum E { FooBar = 3 };
/** @brief A public static var */
constexpr static int Size = 0;
using Type = double;
/** @brief Protected enum */
- enum class Boolean {
+ enum Boolean {
True, False, FileNotFound
};
/** @{ @name Group full of non-public stuff which should be marked as such */
/** @brief Protected flag in a group */
- enum class Flag {};
+ enum Flag {};
/** @brief Protected alias in a group */
using Main = void;
/** @relatedalso Class
* @brief An enum
*/
-enum class Enum: int {};
+enum Enum {};
/** @relatedalso Class
* @brief A typedef
</dt>
<dd>A public subclass.</dd>
<dt>
- <span class="m-dox-wrap-bumper">enum <a href="#a691ffcb6faf21c021ded037101d5414f" class="m-dox-self" name="a691ffcb6faf21c021ded037101d5414f">E</a>: int { </span><span class="m-dox-wrap"><a href="#a691ffcb6faf21c021ded037101d5414fab40890227c995cba62c5ba928fa05797" class="m-dox">FooBar</a> = 3 }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a5436ccacac4eb56e594b3c8f20a78a95" class="m-dox-self" name="a5436ccacac4eb56e594b3c8f20a78a95">E</a> { </span><span class="m-dox-wrap"><a href="#a5436ccacac4eb56e594b3c8f20a78a95ab40890227c995cba62c5ba928fa05797" class="m-dox">FooBar</a> = 3 }</span>
</dt>
<dd>A enum value.</dd>
<dt>
</dt>
<dd>A protected subclass.</dd>
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#a0d7a4c92456263a36bd0819d9f26c996" class="m-dox-self" name="a0d7a4c92456263a36bd0819d9f26c996">Boolean</a> { </span><span class="m-dox-wrap"><a href="#a0d7a4c92456263a36bd0819d9f26c996af827cf462f62848df37c5e1e94a4da74" class="m-dox">True</a>,
- <a href="#a0d7a4c92456263a36bd0819d9f26c996af8320b26d30ab433c5a54546d21f414c" class="m-dox">False</a>,
- <a href="#a0d7a4c92456263a36bd0819d9f26c996a2767828026039e8ba7b38973cbb701f2" class="m-dox">FileNotFound</a> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a0d7a4c92456263a36bd0819d9f26c996" class="m-dox-self" name="a0d7a4c92456263a36bd0819d9f26c996">Boolean</a> { </span><span class="m-dox-wrap"><a href="#a0d7a4c92456263a36bd0819d9f26c996ac8702eedbc992251f82e762161e1abf7" class="m-dox">True</a>,
+ <a href="#a0d7a4c92456263a36bd0819d9f26c996ac3788e41d3959f1e2592b2789b2c2651" class="m-dox">False</a>,
+ <a href="#a0d7a4c92456263a36bd0819d9f26c996a584feb009cffeb8f24c00613b65189dd" class="m-dox">FileNotFound</a> }</span>
</dt>
<dd>Protected enum.</dd>
<dt>
<h2><a href="#group-full-of-non-public-stuff-which-should-be-marked-as-such">Group full of non-public stuff which should be marked as such</a></h2>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#a82511584183fc6aa5505e0e4ce811580" class="m-dox-self" name="a82511584183fc6aa5505e0e4ce811580">Flag</a> { </span><span class="m-dox-wrap"> } <span class="m-label m-flat m-warning">protected</span></span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a82511584183fc6aa5505e0e4ce811580" class="m-dox-self" name="a82511584183fc6aa5505e0e4ce811580">Flag</a> { </span><span class="m-dox-wrap"> } <span class="m-label m-flat m-warning">protected</span></span>
</dt>
<dd>Protected flag in a group.</dd>
<dt>
<h2><a href="#related">Related</a></h3>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#af7cffe8dae198e7cb01579ec6417a637" class="m-dox-self" name="af7cffe8dae198e7cb01579ec6417a637">Enum</a>: int { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a8150b7776c2a1749101acf22e868d091" class="m-dox-self" name="a8150b7776c2a1749101acf22e868d091">Enum</a> { </span><span class="m-dox-wrap"> }</span>
</dt>
<dd>An enum.</dd>
<dt>
* @brief Another namespace
*/
-/** @page page-toc Page with TOC
-
-@tableofcontents
-
-@section section A section
-
-Text.
-
-@subsection sub-section Subsection
-
-@subsection sub-section2 Subsection 2
-
-@subsubsection sub-section3 Subsection 3
-
-@section section2 Section 2
-
-*/
-
/** @page page-no-toc Page without TOC
@section section-notoc A section that doesn't go into TOC
<h2><a href="#enum-members">Enums</a></h3>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#a5927d5ad68391bd75c1f43b1ccb957b1" class="m-dox-self" name="a5927d5ad68391bd75c1f43b1ccb957b1">Enum</a>: int { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#afdcca564079156feb9314ad46e0ec20d" class="m-dox-self" name="afdcca564079156feb9314ad46e0ec20d">Enum</a> { </span><span class="m-dox-wrap"> }</span>
</dt>
<dd>An enum.</dd>
</dl>
<h2><a href="#a-group">A group</a></h2>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum class <a href="#ad48cec404dd0ac98a7cb35cde9b80ef7" class="m-dox-self" name="ad48cec404dd0ac98a7cb35cde9b80ef7">Flag</a> { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#ad48cec404dd0ac98a7cb35cde9b80ef7" class="m-dox-self" name="ad48cec404dd0ac98a7cb35cde9b80ef7">Flag</a> { </span><span class="m-dox-wrap"> }</span>
</dt>
<dd>Flag in a group.</dd>
<dt>
My Project
</h1>
<pre class="m-code"><span class="c1">// A code block.</span>
-<span class="c1">// Spanning multiple lines.</span></pre><pre class="m-code"><span class="c1">// Special handling of some extensions</span></pre><p><code class="m-code"><span class="na">Inline</span><span class="o">=</span><span class="s">code</span></code> at the start of a line. Then a code that is inside of <code class="m-code"><span class="nb">cd</span> dir</code> a text, should be delimited by spaces. But not when it is in (<code class="m-code"><span class="nx">alert</span><span class="p">(</span><span class="s1">'www'</span><span class="p">);</span></code>) parentheses.</p><pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-code"><span class="p">{</span>
+<span class="c1">// Spanning multiple lines.</span></pre><p><code class="m-code"><span class="n">Inline</span><span class="o">=</span><span class="n">code</span><span class="p">;</span></code> at the start of a line. Then a code that is inside of <code class="m-code"><span class="nb">true</span> <span class="o">||</span> <span class="nb">false</span></code> a text, should be delimited by spaces. But not when it is in (<code class="m-code"><span class="n">std</span><span class="o">::</span><span class="n">exit</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span></code>) parentheses.</p><pre class="m-code"><span class="p">{</span>
<span class="c1">// a block</span>
<span class="c1">// that is indented</span>
<span class="c1">// but has a lot of trailing whitespace which should be removed</span>
-<span class="p">}</span></pre><p>Look:</p><pre class="m-code"><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>A paragraph following a one line snippet should not be merged with it.</p><pre class="m-code"><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>This one also not.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><cmath></span><span class="cp"></span>
-
-<span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>And this should not produce a warning.</p><p>Another paragraph.</p><p>Code block inside a list (has to be done using HTML):</p><ul><li><p>A paragraph.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><os></span><span class="cp"></span></pre></li><li><p>Another paragraph.</p><p>Yet another</p></li><li>A single paragraph, rendered without the wrapping tag</li></ul>
+<span class="p">}</span></pre><p>Code block inside a list (has to be done using HTML):</p><ul><li><p>A paragraph.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><os></span><span class="cp"></span></pre></li><li><p>Another paragraph.</p><p>Yet another</p></li><li>A single paragraph, rendered without the wrapping tag</li></ul>
</div>
</div>
</div>
// Spanning multiple lines.
@endcode
-@code{.glsl}
-// Special handling of some extensions
-@endcode
-
-@code{.ini} Inline=code @endcode at the start of a line. Then a code that
-is inside of @code{.sh} cd dir @endcode a text, should be delimited by spaces.
-But not when it is in (@code{.js} alert('www'); @endcode) parentheses.
-
-@code{.ansi}
-!\e[0;34m[\e[1;37mmosra@don-perverzo \e[0;37mm.css\e[0;34m]\e[1;36m$ \e[0m
-@endcode
+@code{.cpp} Inline=code; @endcode at the start of a line. Then a code that
+is inside of @code{.cpp} true || false @endcode a text, should be delimited by
+spaces. But not when it is in (@code{.cpp} std::exit(2); @endcode) parentheses.
@code{.cpp}
{
@endcode
-Look:
-
-@snippet snippet.cpp 0
-
-A paragraph following a one line snippet should not be merged with it.
-
-@snippet snippet.cpp 0
-<p>
-
-This one also not.
-
-@snippet snippet.cpp 1
-
-And this should not produce a warning.
-
-Another paragraph.
-
Code block inside a list (has to be done using HTML):
<ul>
@endcode
A paragraph.
-@code{.ini}
-Multi=line
-code=that is a part of a paragraph.
-@endcode
-
-@code{.whatthehell}
-Code that has unrecognizable format.
+@code{.cpp}
+multi=line;
+code="that is a part of a paragraph.";
@endcode
Improper code block inside a list that needs to be extracted out:
Code that produces warnings
</h1>
<pre class="m-code"><span class="c1">// Code without language</span>
-<span class="c1">// description</span></pre><p>A paragraph.</p><pre class="m-code"><span class="na">Multi</span><span class="o">=</span><span class="s">line</span>
-<span class="na">code</span><span class="o">=</span><span class="s">that is a part of a paragraph.</span></pre><pre class="m-code">Code that has unrecognizable format.</pre><p>Improper code block inside a list that needs to be extracted out:</p><ul><li><p>A paragraph.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><os></span><span class="cp"></span>
+<span class="c1">// description</span></pre><p>A paragraph.</p><pre class="m-code"><span class="n">multi</span><span class="o">=</span><span class="n">line</span><span class="p">;</span>
+<span class="n">code</span><span class="o">=</span><span class="s">"that is a part of a paragraph."</span><span class="p">;</span></pre><p>Improper code block inside a list that needs to be extracted out:</p><ul><li><p>A paragraph.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><os></span><span class="cp"></span>
<span class="c1">// hello again</span></pre></li></ul>
</div>
</div>
--- /dev/null
+INPUT = input.dox
+EXAMPLE_PATH = .
+QUIET = YES
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+
+M_SHOW_DOXYGEN_VERSION = NO
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>ANSI color escape code highlighting | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html" id="m-navbar-current">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ ANSI color escape code highlighting
+ </h1>
+<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
--- /dev/null
+#!/bin/bash
+
+if [ -d '/user' ]; then echo "Hello"; fi
+false
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>My Project | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html" id="m-navbar-current">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ My Project
+ </h1>
+<pre class="m-code"><span class="c1">// Special handling of some extensions</span></pre><p><code class="m-code"><span class="na">Inline</span><span class="o">=</span><span class="s">code</span></code> of different <code class="m-code"><span class="nb">cd</span> dir</code> languages.</p><p>Code file with a custom language:</p><pre class="m-code"><span class="ch">#!/bin/bash</span>
+
+<span class="k">if</span> <span class="o">[</span> -d <span class="s1">'/user'</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> <span class="nb">echo</span> <span class="s2">"Hello"</span><span class="p">;</span> <span class="k">fi</span>
+<span class="nb">false</span></pre><p>Look:</p><pre class="m-code"><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>A paragraph following a one line snippet should not be merged with it.</p><pre class="m-code"><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>This one also not.</p><pre class="m-code"><span class="cp">#include</span> <span class="cpf"><cmath></span><span class="cp"></span>
+
+<span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span></pre><p>And this should not produce a warning.</p><p>Another paragraph.</p>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
--- /dev/null
+/** @mainpage
+
+@code{.glsl}
+// Special handling of some extensions
+@endcode
+
+@code{.ini} Inline=code @endcode of different @code{.sh} cd dir @endcode
+languages.
+
+Code file with a custom language:
+
+@include code.sh
+
+Look:
+
+@snippet snippet.cpp 0
+
+A paragraph following a one line snippet should not be merged with it.
+
+@snippet snippet.cpp 0
+<p>
+
+This one also not.
+
+@snippet snippet.cpp 1
+
+And this should not produce a warning.
+
+Another paragraph.
+
+*/
+
+/** @page ansi ANSI color escape code highlighting
+
+@code{.ansi}
+!\e[0;34m[\e[1;37mmosra@don-perverzo \e[0;37mm.css\e[0;34m]\e[1;36m$ \e[0m
+@endcode
+
+*/
+
+/** @page warnings Code that produces warnings
+
+@code
+// Code without language
+// description
+@endcode
+
+@code{.whatthehell}
+Code that has unrecognizable format.
+@endcode
+
+*/
+
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>Code that produces warnings | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html" id="m-navbar-current">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ Code that produces warnings
+ </h1>
+<pre class="m-code"><span class="c1">// Code without language</span>
+<span class="c1">// description</span></pre><pre class="m-code">Code that has unrecognizable format.</pre>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+INPUT = File.h
+AUTOLINK_SUPPORT = NO
+QUIET = YES
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+
+M_SHOW_DOXYGEN_VERSION = NO
--- /dev/null
+/** @file
+ * @brief A file.
+ */
+
+/** @brief Strongly-typed enum */
+enum class Boolean: unsigned char {
+ True = 7, /**< True. */
+ False, /**< False? */
+ FileNotFound = -1 /**< Haha. */
+};
+
+/** @brief Typed enum */
+enum E: int {
+ Value = 42 /**< Value */
+};
+
+/** @brief Strong implicitly typed enum */
+enum class F {};
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>File.h file | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html" id="m-navbar-current">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ File.h <span class="m-thin">file</span>
+ </h1>
+ <p>A file.</p>
+ <section id="enum-members">
+ <h2><a href="#enum-members">Enums</a></h3>
+ <dl class="m-dox">
+ <dt>
+ <span class="m-dox-wrap-bumper">enum class <a href="#adc1e732190c7fc8fff26792c5a6cee5d" class="m-dox">Boolean</a>: unsigned char { </span><span class="m-dox-wrap"><a href="#adc1e732190c7fc8fff26792c5a6cee5daf827cf462f62848df37c5e1e94a4da74" class="m-dox">True</a> = 7,
+ <a href="#adc1e732190c7fc8fff26792c5a6cee5daf8320b26d30ab433c5a54546d21f414c" class="m-dox">False</a>,
+ <a href="#adc1e732190c7fc8fff26792c5a6cee5da2767828026039e8ba7b38973cbb701f2" class="m-dox">FileNotFound</a> = -1 }</span>
+ </dt>
+ <dd>Strongly-typed enum.</dd>
+ <dt>
+ <span class="m-dox-wrap-bumper">enum <a href="#a24aaac6b6062996acca336e09ffbbffb" class="m-dox">E</a>: int { </span><span class="m-dox-wrap"><a href="#a24aaac6b6062996acca336e09ffbbffba050889cfb2c606473596b8f70f702769" class="m-dox">Value</a> = 42 }</span>
+ </dt>
+ <dd>Typed enum.</dd>
+ <dt>
+ <span class="m-dox-wrap-bumper">enum class <a href="#a1fd406685cbdee605d0a7bebed56fdb0" class="m-dox-self" name="a1fd406685cbdee605d0a7bebed56fdb0">F</a> { </span><span class="m-dox-wrap"> }</span>
+ </dt>
+ <dd>Strong implicitly typed enum.</dd>
+ </dl>
+ </section>
+ <section>
+ <h2>Enum documentation</h2>
+ <section class="m-dox-details" id="adc1e732190c7fc8fff26792c5a6cee5d"><div>
+ <h3>
+ enum class <a href="#adc1e732190c7fc8fff26792c5a6cee5d" class="m-dox-self">Boolean</a>: unsigned char
+ </h3>
+ <p>Strongly-typed enum.</p>
+ <table class="m-table m-fullwidth m-flat m-dox">
+ <thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
+ <tbody>
+ <tr>
+ <td><a href="#adc1e732190c7fc8fff26792c5a6cee5daf827cf462f62848df37c5e1e94a4da74" class="m-dox-self" name="adc1e732190c7fc8fff26792c5a6cee5daf827cf462f62848df37c5e1e94a4da74">True</a></td>
+ <td>
+<p>True.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="#adc1e732190c7fc8fff26792c5a6cee5daf8320b26d30ab433c5a54546d21f414c" class="m-dox-self" name="adc1e732190c7fc8fff26792c5a6cee5daf8320b26d30ab433c5a54546d21f414c">False</a></td>
+ <td>
+<p>False?</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="#adc1e732190c7fc8fff26792c5a6cee5da2767828026039e8ba7b38973cbb701f2" class="m-dox-self" name="adc1e732190c7fc8fff26792c5a6cee5da2767828026039e8ba7b38973cbb701f2">FileNotFound</a></td>
+ <td>
+<p>Haha.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div></section>
+ <section class="m-dox-details" id="a24aaac6b6062996acca336e09ffbbffb"><div>
+ <h3>
+ enum <a href="#a24aaac6b6062996acca336e09ffbbffb" class="m-dox-self">E</a>: int
+ </h3>
+ <p>Typed enum.</p>
+ <table class="m-table m-fullwidth m-flat m-dox">
+ <thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
+ <tbody>
+ <tr>
+ <td><a href="#a24aaac6b6062996acca336e09ffbbffba050889cfb2c606473596b8f70f702769" class="m-dox-self" name="a24aaac6b6062996acca336e09ffbbffba050889cfb2c606473596b8f70f702769">Value</a></td>
+ <td>
+<p>Value</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div></section>
+ </section>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+INPUT = File.h
+AUTOLINK_SUPPORT = NO
+QUIET = YES
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+
+M_SHOW_DOXYGEN_VERSION = NO
--- /dev/null
+/** @file
+ * @brief A file.
+ */
+
+/** @brief Class with template parameters */
+template<class T, class U = void, class = int> struct Template {
+ /**
+ * @brief Template alias
+ * @tparam V Well, this is V as well
+ *
+ * Should include both template lists, with _3 for unnamed parameter.
+ */
+ template<class V, bool = false> using Foo = Buuu<V, false>;
+};
+
+/**
+@brief A templated type with just template details
+@tparam T Template param
+*/
+template<class T, typename = void> using Foo = Bar<T, int>;
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>File.h file | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html" id="m-navbar-current">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ File.h <span class="m-thin">file</span>
+ </h1>
+ <p>A file.</p>
+ <div class="m-block m-default">
+ <h3>Contents</h3>
+ <ul>
+ <li>
+ Reference
+ <ul>
+ <li><a href="#nested-classes">Classes</a></li>
+ <li><a href="#typedef-members">Typedefs</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <section id="nested-classes">
+ <h2><a href="#nested-classes">Classes</a></h3>
+ <dl class="m-dox">
+ <dt>
+ <div class="m-dox-template">template<class T, class U = void, class = int></div>
+ struct <a href="structTemplate.html" class="m-dox">Template</a>
+ </dt>
+ <dd>Class with template parameters.</dd>
+ </dl>
+ </section>
+ <section id="typedef-members">
+ <h2><a href="#typedef-members">Typedefs</a></h3>
+ <dl class="m-dox">
+ <dt>
+ <div class="m-dox-template">template<class T, typename = void></div>
+ using <a href="#a8a7e587ba0f9fe178534e96d78ae2565" class="m-dox">Foo</a> = Bar<T, int>
+ </dt>
+ <dd>A templated type with just template details.</dd>
+ </dl>
+ </section>
+ <section>
+ <h2>Typedef documentation</h2>
+ <section class="m-dox-details" id="a8a7e587ba0f9fe178534e96d78ae2565"><div>
+ <h3>
+ <div class="m-dox-template">
+ template<class T, typename = void>
+ </div>
+ using <a href="#a8a7e587ba0f9fe178534e96d78ae2565" class="m-dox-self">Foo</a> = Bar<T, int>
+ </h3>
+ <p>A templated type with just template details.</p>
+ <table class="m-table m-fullwidth m-flat">
+ <thead>
+ <tr><th colspan="2">Template parameters</th></tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="width: 1%">T</td>
+ <td>Template param</td>
+ </tr>
+ </tbody>
+ </table>
+ </div></section>
+ </section>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>Template struct | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html" id="m-navbar-current">Classes</a></li>
+ <li><a href="files.html">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ <div class="m-dox-template">template<class T, class U = void, class = int></div>
+ Template <span class="m-thin">struct</span>
+ </h1>
+ <p>Class with template parameters.</p>
+ <div class="m-block m-default">
+ <h3>Contents</h3>
+ <ul>
+ <li>
+ Reference
+ <ul>
+ <li><a href="#pub-types">Public types</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <section id="pub-types">
+ <h2><a href="#pub-types">Public types</a></h3>
+ <dl class="m-dox">
+ <dt>
+ <div class="m-dox-template">template<class V, bool = false></div>
+ using <a href="#a6b37f78f11b281740b9daf07f695c0fa" class="m-dox">Foo</a> = Buuu<V, false>
+ </dt>
+ <dd>Template alias.</dd>
+ </dl>
+ </section>
+ <section>
+ <h2>Typedef documentation</h2>
+ <section class="m-dox-details" id="a6b37f78f11b281740b9daf07f695c0fa"><div>
+ <h3>
+ <div class="m-dox-template">
+ template<class T, class U, class _3>
+ template<class V, bool = false>
+ </div>
+ using Template<T, U, _3>::<wbr /><a href="#a6b37f78f11b281740b9daf07f695c0fa" class="m-dox-self">Foo</a> = Buuu<V, false>
+ </h3>
+ <p>Template alias.</p>
+ <table class="m-table m-fullwidth m-flat">
+ <thead>
+ <tr><th colspan="2">Template parameters</th></tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="width: 1%">V</td>
+ <td>Well, this is V as well</td>
+ </tr>
+ </tbody>
+ </table>
+<p>Should include both template lists, with _3 for unnamed parameter.</p>
+ </div></section>
+ </section>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="theme-color" content="#22272e" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">My Project</a>
+ <a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a>
+ <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
+ <div class="m-row">
+ <ol class="m-col-t-6 m-col-m-none">
+ <li><a href="pages.html" id="m-navbar-current">Pages</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ </ol>
+ <ol class="m-col-t-6 m-col-m-none" start="3">
+ <li><a href="annotated.html">Classes</a></li>
+ <li><a href="files.html">Files</a></li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>Pages</h2>
+ <ul class="m-dox">
+ <li><a href="page-a.html" class="m-dox">A page</a> <span class="m-dox">Brief docs for a page.</span></li>
+ <li><a href="page-b.html" class="m-dox">Page B</a> <span class="m-dox">Brief with a period.</span></li>
+ </ul>
+ <script>
+ function toggle(e) {
+ e.parentElement.className = e.parentElement.className == 'm-dox-collapsible' ?
+ 'm-dox-expansible' : 'm-dox-collapsible';
+ return false;
+ }
+ /* Collapse all nodes marked as such. Doing it via JS instead of directly in
+ markup so disabling it doesn't harm usability. The list is somehow
+ regenerated on every iteration and shrinks as I change the classes. It's not
+ documented anywhere and I'm not sure if this is the same across browsers, so
+ I am going backwards in that list to be sure. */
+ var collapsed = document.getElementsByClassName("collapsed");
+ for(var i = collapsed.length - 1; i >= 0; --i)
+ collapsed[i].className = 'm-dox-expansible';
+ </script>
+ </div>
+ </div>
+ </div>
+</article></main>
+<footer><nav>
+ <div class="m-container">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <p>My Project. Created by <a href="http://doxygen.org/">Doxygen</a> and <a href="http://mcss.mosra.cz/">m.css</a>.</p>
+ </div>
+ </div>
+ </div>
+</nav></footer>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+INPUT = input.dox
+QUIET = YES
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+
+M_SHOW_DOXYGEN_VERSION = NO
--- /dev/null
+/** @page page-toc Page with TOC
+
+@tableofcontents
+
+@section section A section
+
+Text.
+
+@subsection sub-section Subsection
+
+@subsection sub-section2 Subsection 2
+
+@subsubsection sub-section3 Subsection 3
+
+@section section2 Section 2
+
+*/
self.run_dox2html5(wildcard='union*Bar*.xml')
self.assertFalse(os.path.exists(os.path.join(self.path, 'html', 'unionRoot_1_1Directory_1_1Sub_1_1Class_1_1Bar.html')))
- def test_page_toc(self):
- self.run_dox2html5(wildcard='page-toc.xml')
- self.assertEqual(*self.actual_expected_contents('page-toc.html'))
-
def test_page_no_toc(self):
self.run_dox2html5(wildcard='page-no-toc.xml')
self.assertEqual(*self.actual_expected_contents('page-no-toc.html'))
import os
+import unittest
-from test import IntegrationTestCase
+from distutils.version import LooseVersion
+
+from test import IntegrationTestCase, doxygen_version
class Typography(IntegrationTestCase):
def __init__(self, *args, **kwargs):
self.run_dox2html5(wildcard='warnings.xml')
self.assertEqual(*self.actual_expected_contents('warnings.html'))
+class CodeLanguage(IntegrationTestCase):
+ def __init__(self, *args, **kwargs):
+ super().__init__(__file__, 'code_language', *args, **kwargs)
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/621")
+ def test(self):
+ self.run_dox2html5(wildcard='indexpage.xml')
+ self.assertEqual(*self.actual_expected_contents('index.html'))
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/623")
+ def test_ansi(self):
+ self.run_dox2html5(wildcard='ansi.xml')
+ self.assertEqual(*self.actual_expected_contents('ansi.html'))
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/621")
+ def test_warnings(self):
+ self.run_dox2html5(wildcard='warnings.xml')
+ self.assertEqual(*self.actual_expected_contents('warnings.html'))
+
class Image(IntegrationTestCase):
def __init__(self, *args, **kwargs):
super().__init__(__file__, 'image', *args, **kwargs)
--- /dev/null
+import unittest
+
+from distutils.version import LooseVersion
+
+from test import IntegrationTestCase, doxygen_version
+
+class EnumClass(IntegrationTestCase):
+ def __init__(self, *args, **kwargs):
+ super().__init__(__file__, 'enum_class', *args, **kwargs)
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/627")
+ def test(self):
+ self.run_dox2html5(wildcard='File_8h.xml')
+ self.assertEqual(*self.actual_expected_contents('File_8h.html'))
+
+class TemplateAlias(IntegrationTestCase):
+ def __init__(self, *args, **kwargs):
+ super().__init__(__file__, 'template_alias', *args, **kwargs)
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/626")
+ def test(self):
+ self.run_dox2html5(wildcard='*.xml')
+ self.assertEqual(*self.actual_expected_contents('File_8h.html'))
+ self.assertEqual(*self.actual_expected_contents('structTemplate.html'))
-from test import IntegrationTestCase
+import unittest
+
+from distutils.version import LooseVersion
+
+from test import IntegrationTestCase, doxygen_version
class Order(IntegrationTestCase):
def __init__(self, *args, **kwargs):
self.run_dox2html5(index_pages=['pages'], wildcard='index.xml')
self.assertEqual(*self.actual_expected_contents('pages.html'))
-class DuplicatedBrief(IntegrationTestCase):
+class Brief(IntegrationTestCase):
def __init__(self, *args, **kwargs):
- super().__init__(__file__, 'duplicated_brief', *args, **kwargs)
+ super().__init__(__file__, 'brief', *args, **kwargs)
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/624")
def test(self):
- self.run_dox2html5(wildcard='page-*.xml')
+ self.run_dox2html5(wildcard='*.xml')
+ self.assertEqual(*self.actual_expected_contents('pages.html'))
self.assertEqual(*self.actual_expected_contents('page-a.html'))
self.assertEqual(*self.actual_expected_contents('page-b.html'))
+
+class Toc(IntegrationTestCase):
+ def __init__(self, *args, **kwargs):
+ super().__init__(__file__, 'toc', *args, **kwargs)
+
+ @unittest.skipUnless(LooseVersion(doxygen_version()) > LooseVersion("1.8.13"),
+ "https://github.com/doxygen/doxygen/pull/625")
+ def test(self):
+ self.run_dox2html5(wildcard='page-toc.xml')
+ self.assertEqual(*self.actual_expected_contents('page-toc.html'))