fix #16993, #18054, #17835 runnableExamples now works with templates and nested templates (#18082)

This commit is contained in:
Timothee Cour 2021-06-02 09:02:14 -07:00 • committed by GitHub
commit 0de3d4292f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 108 additions and 46 deletions

View file

@ -206,9 +206,9 @@ constructor.
<dt><pre><span class="Keyword">template</span> <a href="#fromUtilsGen.t"><span class="Identifier">fromUtilsGen</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
this should be shown in utils.html
should be shown in utils.html only
<p><strong class="examples_text">Example:</strong></p>
<pre class="listing"><span class="Identifier">assert</span> <span class="DecNumber">3</span><span class="Operator">*</span><span class="DecNumber">2</span> <span class="Operator">==</span> <span class="DecNumber">6</span></pre>ditto
<pre class="listing"><span class="Keyword">discard</span> <span class="StringLit">&quot;should be in utils.html only, not in module that calls fromUtilsGen&quot;</span></pre>ditto
</dd>

View file

@ -431,10 +431,7 @@ window.addEventListener('DOMContentLoaded', main);
<span class="Keyword">discard</span> <span class="StringLit">&quot;in top2&quot;</span></pre>top2 after
<p><strong class="examples_text">Example:</strong></p>
<pre class="listing"><span class="Keyword">import</span> <span class="Identifier">testproject</span>
<span class="Keyword">discard</span> <span class="StringLit">&quot;in top3&quot;</span></pre>top3 after
<p><strong class="examples_text">Example:</strong></p>
<pre class="listing"><span class="Keyword">import</span> <span class="Identifier">testproject</span>
<span class="Identifier">assert</span> <span class="DecNumber">3</span><span class="Operator">*</span><span class="DecNumber">2</span> <span class="Operator">==</span> <span class="DecNumber">6</span></pre></p>
<span class="Keyword">discard</span> <span class="StringLit">&quot;in top3&quot;</span></pre>top3 after</p>
<div class="section" id="6">
<h1><a class="toc-backref" href="#6">Imports</a></h1>
<dl class="item">
@ -574,7 +571,8 @@ My someFunc. Stuff in <tt class="docutils literal"><span class="pre"><span class
came form utils but should be shown where <tt class="docutils literal"><span class="pre"><span class="Identifier">fromUtilsGen</span></span></tt> is called
<p><strong class="examples_text">Example:</strong></p>
<pre class="listing"><span class="Keyword">discard</span> <span class="DecNumber">1</span></pre>
<pre class="listing"><span class="Keyword">discard</span> <span class="LongStringLit">&quot;&quot;&quot;should be shown as examples for fromUtils3
in module calling fromUtilsGen&quot;&quot;&quot;</span></pre>
</dd>
<a id="isValid,T"></a>
@ -957,6 +955,9 @@ cz18
<dd>
ok3
<p><strong class="examples_text">Example:</strong></p>
<pre class="listing"><span class="Keyword">discard</span> <span class="LongStringLit">&quot;&quot;&quot;should be shown as examples for fromUtils2
in module calling fromUtilsGen&quot;&quot;&quot;</span></pre>
</dd>
<a id="z6t.t"></a>

View file

@ -50,9 +50,9 @@ template bEnum*(): untyped =
discard
template fromUtilsGen*(): untyped =
## this should be shown in utils.html
## should be shown in utils.html only
runnableExamples:
assert 3*2 == 6
discard "should be in utils.html only, not in module that calls fromUtilsGen"
## ditto
iterator fromUtils1*(): int =
@ -64,7 +64,11 @@ template fromUtilsGen*(): untyped =
template fromUtils2*() =
## ok3
runnableExamples:
discard """should be shown as examples for fromUtils2
in module calling fromUtilsGen"""
proc fromUtils3*() =
## came form utils but should be shown where `fromUtilsGen` is called
runnableExamples: discard 1
runnableExamples: discard """should be shown as examples for fromUtils3
in module calling fromUtilsGen"""