diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-09-28 13:48:18 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-09-28 13:48:18 +0200 |
commit | eebdf078fcbd5b69e0ed70adcb3c6d1d0c50343e (patch) | |
tree | d475bdfe4e54104fb4769f80bd1aec34309ee012 /cli/tests | |
parent | 2181ec73117f2e18cc622ead6256c8104b631214 (diff) |
Move runtime tests from cli-tests/ to cli/tests/
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/.gitignore | 2 | ||||
-rw-r--r-- | cli/tests/build/.gitignore | 3 | ||||
-rw-r--r-- | cli/tests/build/bootstrap.build | 8 | ||||
-rw-r--r-- | cli/tests/build/root.build | 8 | ||||
-rw-r--r-- | cli/tests/buildfile | 4 | ||||
-rw-r--r-- | cli/tests/headings/buildfile | 8 | ||||
-rw-r--r-- | cli/tests/headings/testscript | 36 | ||||
-rw-r--r-- | cli/tests/note/buildfile | 8 | ||||
-rw-r--r-- | cli/tests/note/testscript | 197 | ||||
-rw-r--r-- | cli/tests/toc/buildfile | 8 | ||||
-rw-r--r-- | cli/tests/toc/testscript | 155 |
11 files changed, 437 insertions, 0 deletions
diff --git a/cli/tests/.gitignore b/cli/tests/.gitignore new file mode 100644 index 0000000..d4a788b --- /dev/null +++ b/cli/tests/.gitignore @@ -0,0 +1,2 @@ +test +test-* diff --git a/cli/tests/build/.gitignore b/cli/tests/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/cli/tests/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/cli/tests/build/bootstrap.build b/cli/tests/build/bootstrap.build new file mode 100644 index 0000000..bb305a2 --- /dev/null +++ b/cli/tests/build/bootstrap.build @@ -0,0 +1,8 @@ +# file : tests/build/bootstrap.build +# license : MIT; see accompanying LICENSE file + +project = + +using config +using dist +using test diff --git a/cli/tests/build/root.build b/cli/tests/build/root.build new file mode 100644 index 0000000..cb9ba03 --- /dev/null +++ b/cli/tests/build/root.build @@ -0,0 +1,8 @@ +# file : tests/build/root.build +# license : MIT; see accompanying LICENSE file + +# Configure C++ module and specify the test target for cross-testing. +# +using cxx.config + +test.target = $cxx.target diff --git a/cli/tests/buildfile b/cli/tests/buildfile new file mode 100644 index 0000000..556ed55 --- /dev/null +++ b/cli/tests/buildfile @@ -0,0 +1,4 @@ +# file : tests/buildfile +# license : MIT; see accompanying LICENSE file + +./: {*/ -build/} diff --git a/cli/tests/headings/buildfile b/cli/tests/headings/buildfile new file mode 100644 index 0000000..aa665c7 --- /dev/null +++ b/cli/tests/headings/buildfile @@ -0,0 +1,8 @@ +# file : tests/headings/buildfile +# license : MIT; see accompanying LICENSE file + +import! [metadata] cli = cli%exe{cli} + +./: testscript $cli + +testscript{*}: test = $cli diff --git a/cli/tests/headings/testscript b/cli/tests/headings/testscript new file mode 100644 index 0000000..163ba5f --- /dev/null +++ b/cli/tests/headings/testscript @@ -0,0 +1,36 @@ +# file : tests/headings/testscript +# license : MIT; see accompanying LICENSE file + +: auto-headings +: +: Note that auto-headings break if we split into multiple doc strings. +: +cat <<EOI >=map.cli; +" +\h1|Heading 1| + +\h|Heading 1.1| + +\h2|Heading 1.1.1| + +\h|Heading 1.2| + +\h2|Heading 1.2.1| + +\h1|Heading 2| +" +EOI +$* --generate-html --stdout map.cli >>EOO + <h1>Heading 1</h1> + + <h2>Heading 1.1</h2> + + <h3>Heading 1.1.1</h3> + + <h2>Heading 1.2</h2> + + <h3>Heading 1.2.1</h3> + + <h1>Heading 2</h1> + +EOO diff --git a/cli/tests/note/buildfile b/cli/tests/note/buildfile new file mode 100644 index 0000000..b35a911 --- /dev/null +++ b/cli/tests/note/buildfile @@ -0,0 +1,8 @@ +# file : tests/note/buildfile +# license : MIT; see accompanying LICENSE file + +import! [metadata] cli = cli%exe{cli} + +./: testscript $cli + +testscript{*}: test = $cli diff --git a/cli/tests/note/testscript b/cli/tests/note/testscript new file mode 100644 index 0000000..52bcecc --- /dev/null +++ b/cli/tests/note/testscript @@ -0,0 +1,197 @@ +# file : tests/note/testscript +# license : MIT; see accompanying LICENSE file + +: block-basics +: +cat <<EOI >=test.cli; +" +Leading paragraph. + +\N|This is a note block one.| + +Interleaving paragraph that is quite long and therefore it may span many +lines in order to make text easy to read. + +\N|This is a note block two that is quite long and therefore it may span many +lines in order to make text easy to read.| + +Trailing paragraph. +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <p>Leading paragraph.</p> + + <div class="note"> + <p>This is a note block one.</p> + </div> + + <p>Interleaving paragraph that is quite long and therefore it may span many + lines in order to make text easy to read.</p> + + <div class="note"> + <p>This is a note block two that is quite long and therefore it may span + many lines in order to make text easy to read.</p> + </div> + + <p>Trailing paragraph.</p> + +EOO + $* --generate-txt --stdout test.cli >>EOO +Leading paragraph. + +| This is a note block one. + +Interleaving paragraph that is quite long and therefore it may span many lines +in order to make text easy to read. + +| This is a note block two that is quite long and therefore it may span many +| lines in order to make text easy to read. + +Trailing paragraph. +EOO + + +: block-multi-para +: +cat <<EOI >=test.cli; +" +\N| +This is a note para one that is quite long and therefore it may span many +lines in order to make text easy to read. + +This is a note para two. +| +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <div class="note"> + <p>This is a note para one that is quite long and therefore it may span many + lines in order to make text easy to read.</p> + + <p>This is a note para two.</p> + </div> + +EOO +$* --generate-txt --stdout test.cli >>EOO +| This is a note para one that is quite long and therefore it may span many +| lines in order to make text easy to read. +| +| This is a note para two. +EOO + +: block-pre +: +cat <<EOI >=test.cli; +" + +\N| +This is a note para one. + +\ +And this is a +pre-formatter text fragment. +\ + +| +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <div class="note"> + <p>This is a note para one.</p> + + <pre>And this is a +pre-formatter text fragment.</pre> + </div> + +EOO +$* --generate-txt --stdout test.cli >>EOO +| This is a note para one. +| +| And this is a +| pre-formatter text fragment. +EOO + +# This is not yet supported (see txt_wrap_lines()). +# +#\ +: block-list +: +cat <<EOI >=test.cli; +" +\N|This is a note para one followed by a list. + +\ul| + +\li|This is a list item that is quite long and therefore it may span many +lines in order to make text easy to read.||| +" +EOI +$* --generate-html --stdout test.cli >>EOO; +EOO +$* --generate-txt --stdout test.cli >>EOO +EOO +#\ + +: block-in-list +: +cat <<EOI >=test.cli; +" +\ul| + +\li|Normal text para. + +\N|This is a note para one that is quite long and therefore it may span many +lines in order to make text easy to read.||| +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <ul> + <li>Normal text para. + + <div class="note"> + <p>This is a note para one that is quite long and therefore it may span many + lines in order to make text easy to read.</p> + </div></li> + </ul> + +EOO +$* --generate-txt --stdout test.cli >>EOO +* Normal text para. + + | This is a note para one that is quite long and therefore it may span many + | lines in order to make text easy to read. +EOO + + +: span-basics +: +cat <<EOI >=test.cli; +" +This is normal text. \N{This is a note.} And this is normal text again. +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <p>This is normal text. <span class="note">This is a note.</span> And this + is normal text again.</p> + +EOO + $* --generate-txt --stdout test.cli >>EOO +This is normal text. [Note: This is a note.] And this is normal text again. +EOO + + +: span-nested-link +: +cat <<EOI >=test.cli; +" +\N{This is a note with a \l{https://example.com link} inside.} +" +EOI +$* --generate-html --stdout test.cli >>EOO; + <p><span class="note">This is a note with a <a + href="https://example.com">link</a> inside.</span></p> + +EOO +$* --generate-txt --stdout test.cli >>EOO +[Note: This is a note with a link (https://example.com) inside.] +EOO diff --git a/cli/tests/toc/buildfile b/cli/tests/toc/buildfile new file mode 100644 index 0000000..50a9ec0 --- /dev/null +++ b/cli/tests/toc/buildfile @@ -0,0 +1,8 @@ +# file : tests/toc/buildfile +# license : MIT; see accompanying LICENSE file + +import! [metadata] cli = cli%exe{cli} + +./: testscript $cli + +testscript{*}: test = $cli diff --git a/cli/tests/toc/testscript b/cli/tests/toc/testscript new file mode 100644 index 0000000..6b3ff3e --- /dev/null +++ b/cli/tests/toc/testscript @@ -0,0 +1,155 @@ +# file : tests/toc/testscript +# license : MIT; see accompanying LICENSE file + +: toc +: +cat <<EOI >=toc.cli; +"\h1|Table of Contents|" +"\$TOC$" + +" +\h0#preface|Preface| + +This document describes something awesome. + +\h#about-document|About This Document| + +And this document is also awesome. + +\h#more-information|More Information| + +It is so awesome that no further information will be required." + +" +\H#part1|PART I| + +Start of part one. + +\h1#intro|Introduction| + +Beginning of the first chapter. + +\h#arch-flow|Architecture and Workflow| + +Some basics. + +\h#benefits|Benefits| + +You will like them. + +\h1#hello|Hello World| + +Beginning of the second chapter. + +\h#hell-setup|Setup| + +More basics. + +\h#hello-compile|Compiling| + +How to build the example + +\h2#hello-compile-gcc|Compiling with GCC| + +GCC. For Clang see \l{#hello-compile-clang Compiling with Clang}. + +\h2#hello-compile-clang|Compiling with Clang| + +Clang. For GCC see \l{#hello-compile-gcc Compiling with GCC}. + +\h#hello-conclusion|Conclusion| + +Some remarks. +" +EOI +$* --generate-html --stdout toc.cli >>EOO + <h1>Table of Contents</h1> + + <table class="toc"> + <tr><td class="preface" colspan="2"><a href="#preface">Preface</a> + <table class="toc"> + <tr><td class="preface" colspan="2"><a href="#about-document">About +This Document</a></td></tr> + <tr><td class="preface" colspan="2"><a href="#more-information">More +Information</a></td></tr> + </table> + </td></tr> + <tr><th colspan="2"><a href="#part1">PART I</a></th></tr> + <tr><th>1</th><td><a href="#intro">Introduction</a> + <table class="toc"> + <tr><th>1.1</th><td><a href="#arch-flow">Architecture and +Workflow</a></td></tr> + <tr><th>1.2</th><td><a href="#benefits">Benefits</a></td></tr> + </table> + </td></tr> + <tr><th>2</th><td><a href="#hello">Hello World</a> + <table class="toc"> + <tr><th>2.1</th><td><a href="#hell-setup">Setup</a></td></tr> + <tr><th>2.2</th><td><a href="#hello-compile">Compiling</a> + <table class="toc"> + <tr><th>2.2.1</th><td><a href="#hello-compile-gcc">Compiling with +GCC</a></td></tr> + <tr><th>2.2.2</th><td><a href="#hello-compile-clang">Compiling +with Clang</a></td></tr> + </table> + </td></tr> + <tr><th>2.3</th><td><a href="#hello-conclusion">Conclusion</a></td></tr> + </table> + </td></tr> + </table> + + <h1 id="preface" class="preface">Preface</h1> + + <p>This document describes something awesome.</p> + + <h2 id="about-document">About This Document</h2> + + <p>And this document is also awesome.</p> + + <h2 id="more-information">More Information</h2> + + <p>It is so awesome that no further information will be required.</p> + + <h1 id="part1" class="part">PART I</h1> + + <p>Start of part one.</p> + + <h1 id="intro">1 Introduction</h1> + + <p>Beginning of the first chapter.</p> + + <h2 id="arch-flow">1.1 Architecture and Workflow</h2> + + <p>Some basics.</p> + + <h2 id="benefits">1.2 Benefits</h2> + + <p>You will like them.</p> + + <h1 id="hello">2 Hello World</h1> + + <p>Beginning of the second chapter.</p> + + <h2 id="hell-setup">2.1 Setup</h2> + + <p>More basics.</p> + + <h2 id="hello-compile">2.2 Compiling</h2> + + <p>How to build the example</p> + + <h3 id="hello-compile-gcc">2.2.1 Compiling with GCC</h3> + + <p>GCC. For Clang see <a href="#hello-compile-clang">Compiling with + Clang</a>.</p> + + <h3 id="hello-compile-clang">2.2.2 Compiling with Clang</h3> + + <p>Clang. For GCC see <a href="#hello-compile-gcc">Compiling with + GCC</a>.</p> + + <h2 id="hello-conclusion">2.3 Conclusion</h2> + + <p>Some remarks.</p> + +EOO |