diff options
author | John Koleszar <jkoleszar@google.com> | 2010-05-18 11:58:33 -0400 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2010-05-18 11:58:33 -0400 |
commit | 0ea50ce9cb4b65eee6afa1d041fe8beb5abda667 (patch) | |
tree | 1f3b9019f28bc56fd3156f96e5a9653a983ee61b /examples/includes/HTML-Toc-0.91/t/manualTest.t | |
download | libvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.tar.gz |
Initial WebM releasev0.9.0
Diffstat (limited to 'examples/includes/HTML-Toc-0.91/t/manualTest.t')
-rw-r--r-- | examples/includes/HTML-Toc-0.91/t/manualTest.t | 768 |
1 files changed, 768 insertions, 0 deletions
diff --git a/examples/includes/HTML-Toc-0.91/t/manualTest.t b/examples/includes/HTML-Toc-0.91/t/manualTest.t new file mode 100644 index 000000000..cc19fffe9 --- /dev/null +++ b/examples/includes/HTML-Toc-0.91/t/manualTest.t @@ -0,0 +1,768 @@ +#--- manual.t ----------------------------------------------------------------- +# function: Test HTML::ToC generating a manual. + +use strict; +use Test; + +BEGIN { plan tests => 3; } + +use HTML::Toc; +use HTML::TocGenerator; +use HTML::TocInsertor; +use HTML::TocUpdator; + + +#--- AssembleTocLine() -------------------------------------------------------- +# function: Assemble ToC line. + +sub AssembleTocLine { + # Get arguments + my ($aLevel, $aGroupId, $aNode, $aSequenceNr, $aText) = @_; + # Local variables + my ($result); + + # Assemble ToC line + SWITCH: { + if ($aGroupId eq "prelude") { + $result = "<li>$aText\n"; + last SWITCH; + } + if ($aGroupId eq "part") { + $result = "<li>Part $aNode $aText\n"; + last SWITCH; + } + if ($aGroupId eq "h") { + $result = "<li>$aSequenceNr. $aText\n"; + last SWITCH; + } + else { + $result = "<li>$aNode $aText\n"; + last SWITCH; + } + } + + # Return value + return $result; +} # AssembleTocLine() + + +#--- AssembleTokenNumber() ---------------------------------------------------- +# function: Assemble token number. + +sub AssembleTokenNumber { + # Get arguments + my ($aNode, $aGroupId, $aFile, $aGroupLevel, $aLevel, $aToc) = @_; + # Local variables + my ($result); + # Assemble token number + SWITCH: { + if ($aGroupId eq "part") { + $result = "Part $aNode "; + last SWITCH; + } + else { + $result = "$aNode "; + last SWITCH; + } + } + # Return value + return $result; +} # AssembleTokenNumber() + + +#--- TestInsertManualToc ------------------------------------------------------ +# function: Test inserting ToC into manual. + +sub TestInsertManualToc { + my $output; + # Create objects + my $toc = new HTML::Toc; + my $tocOfFigures = new HTML::Toc; + my $tocOfTables = new HTML::Toc; + my $tocInsertor = new HTML::TocInsertor; + + # Set ToC options + $toc->setOptions({ + 'doNestGroup' => 1, + 'doNumberToken' => 1, + 'insertionPoint' => "replace <!-- Table of Contents -->", + 'templateLevel' => \&AssembleTocLine, + 'templateLevelBegin' => '"<ul class=toc_$groupId$level>\n"', + 'templateLevelEnd' => '"</ul>\n"', + 'templateTokenNumber' => \&AssembleTokenNumber, + 'tokenToToc' => [{ + 'groupId' => 'part', + 'doNumberToken' => 1, + 'level' => 1, + 'tokenBegin' => '<h1 class=part>', + }, { + 'tokenBegin' => '<h1 class=-[appendix|prelude|hidden|part]>' + }, { + 'tokenBegin' => '<h2>', + 'level' => 2 + }, { + 'tokenBegin' => '<h3>', + 'level' => 3 + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h1 class=appendix>', + 'numberingStyle' => 'upper-alpha', + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h2 class=appendix>', + 'level' => 2 + }, { + 'groupId' => 'prelude', + 'tokenBegin' => '<h1 class=prelude>', + 'level' => 1, + 'doNumberToken' => 0, + }], + }); + $tocOfFigures->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "replace <!-- Table of Figures -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Figure $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Figure', + 'tokenBegin' => '<p class=captionFigure>' + }] + }); + $tocOfTables->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "replace <!-- Table of Tables -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Table $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Table', + 'tokenBegin' => '<p class=captionTable>' + }] + }); + # Insert ToC + $tocInsertor->insertIntoFile( + [$toc, $tocOfFigures, $tocOfTables], + 't/ManualTest/manualTest1.htm', { + 'doUseGroupsGlobal' => 1, + 'output' => \$output, + 'outputFile' => 't/ManualTest/manualTest2.htm' + } + ); + ok($output, <<EOT); +<html> +<head> + <title>Manual</title> + <style type="text/css"> + ul.toc_appendix1 { + list-style-type: none; + margin-left: 0; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h2 { + list-style-type: none; + } + ul.toc_h3 { + list-style-type: none; + } + ul.toc_part1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_prelude1 { + list-style: none; + } + p.captionFigure { + font-style: italic; + font-weight: bold; + } + p.captionTable { + font-style: italic; + font-weight: bold; + } + </style> +</head> +<body> + +<a name=prelude-1><h1 class=prelude>Preface</h1></a> +Better C than never. + +<h1 class=hidden>Table of Contents</h1> + +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ul class=toc_prelude1> + <li><a href=#prelude-1>Preface</a> + <li><a href=#prelude-2>Table of Figures</a> + <li><a href=#prelude-3>Table of Tables</a> + <li><a href=#prelude-4>Introduction</a> + <ul class=toc_part1> + <li>Part 1 <a href=#part-1>Disks</a> + <ul class=toc_h1> + <li>1. <a href=#h-1>Compiler Disk v1</a> + <ul class=toc_h2> + <li>1. <a href=#h-1.1>System</a> + <li>2. <a href=#h-1.2>Standard Library</a> + </ul> + <li>2. <a href=#h-2>Compiler Disk v2</a> + <ul class=toc_h2> + <li>1. <a href=#h-2.1>System</a> + <ul class=toc_h3> + <li>1. <a href=#h-2.1.1>parser.com</a> + <li>2. <a href=#h-2.1.2>compiler.com</a> + <li>3. <a href=#h-2.1.3>linker.com</a> + </ul> + <li>2. <a href=#h-2.2>Standard Library</a> + </ul> + <li>3. <a href=#h-3>Library System Disk</a> + </ul> + <li>Part 2 <a href=#part-2>Personal</a> + <ul class=toc_h1> + <li>4. <a href=#h-4>Tips & Tricks</a> + </ul> + <li>Part 3 <a href=#part-3>Appendixes</a> + <ul class=toc_appendix1> + <li>A <a href=#appendix-A>Functions Standard Library v1</a> + <li>B <a href=#appendix-B>Functions Standard Library v2</a> + <li>C <a href=#appendix-C>Functions Graphic Library</a> + </ul> + </ul> + <li><a href=#prelude-5>Bibliography</a> +</ul> +<!-- End of generated Table of Contents --> + + +<a name=prelude-2><h1 class=prelude>Table of Figures</h1></a> + +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Figure-1>Contents Compiler Disk v1</a> + <li><a href=#Figure-2>Contents Compiler Disk v2</a> +</ol> +<!-- End of generated Table of Contents --> + + +<a name=prelude-3><h1 class=prelude>Table of Tables</h1></a> + +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Table-1>Compile Steps</a> +</ol> +<!-- End of generated Table of Contents --> + + +<a name=prelude-4><h1 class=prelude>Introduction</h1></a> +Thanks to standardisation and the excellent work of the QWERTY corporation it is possible to learn C with almost any C manual. +<a name=Table-1><p class=captionTable>Table 1: Compile Steps</p></a> +<ul><pre> + Parser + Compiler + Linker +</pre></ul> + +<a name=part-1><h1 class=part>Part 1 Disks</h1></a> +<a name=h-1><h1>1 Compiler Disk v1</h1></a> +<img src=img.gif alt="Contents Compiler Disk v1"> +<a name=Figure-1><p class=captionFigure>Figure 1: Contents Compiler Disk v1</p></a> + +<a name=h-1.1><h2>1.1 System</h2></a> +<a name=h-1.2><h2>1.2 Standard Library</h2></a> + +<a name=h-2><h1>2 Compiler Disk v2</h1></a> +<img src=img.gif alt="Contents Compiler Disk v2"> +<a name=Figure-2><p class=captionFigure>Figure 2: Contents Compiler Disk v2</p></a> + +<a name=h-2.1><h2>2.1 System</h2></a> +<a name=h-2.1.1><h3>2.1.1 parser.com</h3></a> +<a name=h-2.1.2><h3>2.1.2 compiler.com</h3></a> +<a name=h-2.1.3><h3>2.1.3 linker.com</h3></a> +<a name=h-2.2><h2>2.2 Standard Library</h2></a> + +<a name=h-3><h1>3 Library System Disk</h1></a> +<a name=part-2><h1 class=part>Part 2 Personal</h1></a> +<a name=h-4><h1>4 Tips & Tricks</h1></a> +<a name=part-3><h1 class=part>Part 3 Appendixes</h1></a> +<a name=appendix-A><h1 class=appendix>A Functions Standard Library v1</h1></a> +<a name=appendix-B><h1 class=appendix>B Functions Standard Library v2</h1></a> +<a name=appendix-C><h1 class=appendix>C Functions Graphic Library</h1></a> +<a name=prelude-5><h1 class=prelude>Bibliography</h1></a> +</body> +</html> +EOT +} # TestInsertManualToc() + + +#--- TestInsertManualForUpdating() -------------------------------------------- +# function: Test inserting ToC into manual. + +sub TestInsertManualForUpdating { + my $output; + # Create objects + my $toc = new HTML::Toc; + my $tocOfFigures = new HTML::Toc; + my $tocOfTables = new HTML::Toc; + my $tocUpdator = new HTML::TocUpdator; + + # Set ToC options + $toc->setOptions({ + 'doNestGroup' => 1, + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Contents -->", + 'templateLevel' => \&AssembleTocLine, + 'templateLevelBegin' => '"<ul class=toc_$groupId$level>\n"', + 'templateLevelEnd' => '"</ul>\n"', + 'templateTokenNumber' => \&AssembleTokenNumber, + 'tokenToToc' => [{ + 'groupId' => 'part', + 'doNumberToken' => 1, + 'level' => 1, + 'tokenBegin' => '<h1 class=part>', + }, { + 'tokenBegin' => '<h1 class=-[appendix|prelude|hidden|part]>' + }, { + 'tokenBegin' => '<h2>', + 'level' => 2 + }, { + 'tokenBegin' => '<h3>', + 'level' => 3 + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h1 class=appendix>', + 'numberingStyle' => 'upper-alpha', + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h2 class=appendix>', + 'level' => 2 + }, { + 'groupId' => 'prelude', + 'tokenBegin' => '<h1 class=prelude>', + 'level' => 1, + 'doNumberToken' => 0, + }], + }); + $tocOfFigures->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Figures -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Figure $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Figure', + 'tokenBegin' => '<p class=captionFigure>' + }] + }); + $tocOfTables->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Tables -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Table $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Table', + 'tokenBegin' => '<p class=captionTable>' + }] + }); + # Insert ToC + $tocUpdator->updateFile( + [$toc, $tocOfFigures, $tocOfTables], + 't/ManualTest/manualTest1.htm', { + 'doUseGroupsGlobal' => 1, + 'output' => \$output, + 'outputFile' => 't/ManualTest/manualTest3.htm' + } + ); + ok($output, <<EOT); +<html> +<head> + <title>Manual</title> + <style type="text/css"> + ul.toc_appendix1 { + list-style-type: none; + margin-left: 0; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h2 { + list-style-type: none; + } + ul.toc_h3 { + list-style-type: none; + } + ul.toc_part1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_prelude1 { + list-style: none; + } + p.captionFigure { + font-style: italic; + font-weight: bold; + } + p.captionTable { + font-style: italic; + font-weight: bold; + } + </style> +</head> +<body> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-1><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Preface</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +Better C than never. + +<h1 class=hidden>Table of Contents</h1> +<!-- Table of Contents --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ul class=toc_prelude1> + <li><a href=#prelude-1>Preface</a> + <li><a href=#prelude-2>Table of Figures</a> + <li><a href=#prelude-3>Table of Tables</a> + <li><a href=#prelude-4>Introduction</a> + <ul class=toc_part1> + <li>Part 1 <a href=#part-1>Disks</a> + <ul class=toc_h1> + <li>1. <a href=#h-1>Compiler Disk v1</a> + <ul class=toc_h2> + <li>1. <a href=#h-1.1>System</a> + <li>2. <a href=#h-1.2>Standard Library</a> + </ul> + <li>2. <a href=#h-2>Compiler Disk v2</a> + <ul class=toc_h2> + <li>1. <a href=#h-2.1>System</a> + <ul class=toc_h3> + <li>1. <a href=#h-2.1.1>parser.com</a> + <li>2. <a href=#h-2.1.2>compiler.com</a> + <li>3. <a href=#h-2.1.3>linker.com</a> + </ul> + <li>2. <a href=#h-2.2>Standard Library</a> + </ul> + <li>3. <a href=#h-3>Library System Disk</a> + </ul> + <li>Part 2 <a href=#part-2>Personal</a> + <ul class=toc_h1> + <li>4. <a href=#h-4>Tips & Tricks</a> + </ul> + <li>Part 3 <a href=#part-3>Appendixes</a> + <ul class=toc_appendix1> + <li>A <a href=#appendix-A>Functions Standard Library v1</a> + <li>B <a href=#appendix-B>Functions Standard Library v2</a> + <li>C <a href=#appendix-C>Functions Graphic Library</a> + </ul> + </ul> + <li><a href=#prelude-5>Bibliography</a> +</ul> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-2><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Table of Figures</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- Table of Figures --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Figure-1>Contents Compiler Disk v1</a> + <li><a href=#Figure-2>Contents Compiler Disk v2</a> +</ol> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-3><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Table of Tables</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- Table of Tables --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Table-1>Compile Steps</a> +</ol> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-4><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Introduction</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +Thanks to standardisation and the excellent work of the QWERTY corporation it is possible to learn C with almost any C manual. +<!-- #BeginTocAnchorNameBegin --><a name=Table-1><!-- #EndTocAnchorNameBegin --><p class=captionTable><!-- #BeginTocNumber -->Table 1: <!-- #EndTocNumber -->Compile Steps</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<ul><pre> + Parser + Compiler + Linker +</pre></ul> + +<!-- #BeginTocAnchorNameBegin --><a name=part-1><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 1 <!-- #EndTocNumber -->Disks</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-1><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->1 <!-- #EndTocNumber -->Compiler Disk v1</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<img src=img.gif alt="Contents Compiler Disk v1"> +<!-- #BeginTocAnchorNameBegin --><a name=Figure-1><!-- #EndTocAnchorNameBegin --><p class=captionFigure><!-- #BeginTocNumber -->Figure 1: <!-- #EndTocNumber -->Contents Compiler Disk v1</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-1.1><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->1.1 <!-- #EndTocNumber -->System</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-1.2><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->1.2 <!-- #EndTocNumber -->Standard Library</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-2><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->2 <!-- #EndTocNumber -->Compiler Disk v2</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<img src=img.gif alt="Contents Compiler Disk v2"> +<!-- #BeginTocAnchorNameBegin --><a name=Figure-2><!-- #EndTocAnchorNameBegin --><p class=captionFigure><!-- #BeginTocNumber -->Figure 2: <!-- #EndTocNumber -->Contents Compiler Disk v2</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->2.1 <!-- #EndTocNumber -->System</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.1><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.1 <!-- #EndTocNumber -->parser.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.2><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.2 <!-- #EndTocNumber -->compiler.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.3><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.3 <!-- #EndTocNumber -->linker.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.2><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->2.2 <!-- #EndTocNumber -->Standard Library</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-3><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->3 <!-- #EndTocNumber -->Library System Disk</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=part-2><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 2 <!-- #EndTocNumber -->Personal</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-4><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->4 <!-- #EndTocNumber -->Tips & Tricks</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=part-3><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 3 <!-- #EndTocNumber -->Appendixes</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-A><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->A <!-- #EndTocNumber -->Functions Standard Library v1</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-B><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->B <!-- #EndTocNumber -->Functions Standard Library v2</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-C><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->C <!-- #EndTocNumber -->Functions Graphic Library</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=prelude-5><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Bibliography</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +</body> +</html> +EOT +} # TestInsertManualForUpdating() + + +#--- TestUpdateManual() ------------------------------------------------------- +# function: Test inserting ToC into manual. + +sub TestUpdateManual { + my $output; + # Create objects + my $toc = new HTML::Toc; + my $tocOfFigures = new HTML::Toc; + my $tocOfTables = new HTML::Toc; + my $tocUpdator = new HTML::TocUpdator; + + # Set ToC options + $toc->setOptions({ + 'doNestGroup' => 1, + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Contents -->", + 'templateLevel' => \&AssembleTocLine, + 'templateLevelBegin' => '"<ul class=toc_$groupId$level>\n"', + 'templateLevelEnd' => '"</ul>\n"', + 'templateTokenNumber' => \&AssembleTokenNumber, + 'tokenToToc' => [{ + 'groupId' => 'part', + 'doNumberToken' => 1, + 'level' => 1, + 'tokenBegin' => '<h1 class=part>', + }, { + 'tokenBegin' => '<h1 class=-[appendix|prelude|hidden|part]>' + }, { + 'tokenBegin' => '<h2>', + 'level' => 2 + }, { + 'tokenBegin' => '<h3>', + 'level' => 3 + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h1 class=appendix>', + 'numberingStyle' => 'upper-alpha', + }, { + 'groupId' => 'appendix', + 'tokenBegin' => '<h2 class=appendix>', + 'level' => 2 + }, { + 'groupId' => 'prelude', + 'tokenBegin' => '<h1 class=prelude>', + 'level' => 1, + 'doNumberToken' => 0, + }], + }); + $tocOfFigures->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Figures -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Figure $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Figure', + 'tokenBegin' => '<p class=captionFigure>' + }] + }); + $tocOfTables->setOptions({ + 'doNumberToken' => 1, + 'insertionPoint' => "after <!-- Table of Tables -->", + 'templateLevelBegin' => '"<ol>\n"', + 'templateLevelEnd' => '"</ol>\n"', + 'templateTokenNumber' => '"Table $node: "', + 'tokenToToc' => [{ + 'groupId' => 'Table', + 'tokenBegin' => '<p class=captionTable>' + }] + }); + # Insert ToC + $tocUpdator->updateFile( + [$toc, $tocOfFigures, $tocOfTables], + 't/ManualTest/manualTest3.htm', { + 'doUseGroupsGlobal' => 1, + 'output' => \$output, + 'outputFile' => 't/ManualTest/manualTest4.htm' + } + ); + ok($output, <<EOT); +<html> +<head> + <title>Manual</title> + <style type="text/css"> + ul.toc_appendix1 { + list-style-type: none; + margin-left: 0; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_h2 { + list-style-type: none; + } + ul.toc_h3 { + list-style-type: none; + } + ul.toc_part1 { + list-style-type: none; + margin-left: 1; + margin-top: 1em; + margin-bottom: 1em; + } + ul.toc_prelude1 { + list-style: none; + } + p.captionFigure { + font-style: italic; + font-weight: bold; + } + p.captionTable { + font-style: italic; + font-weight: bold; + } + </style> +</head> +<body> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-1><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Preface</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +Better C than never. + +<h1 class=hidden>Table of Contents</h1> +<!-- Table of Contents --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ul class=toc_prelude1> + <li><a href=#prelude-1>Preface</a> + <li><a href=#prelude-2>Table of Figures</a> + <li><a href=#prelude-3>Table of Tables</a> + <li><a href=#prelude-4>Introduction</a> + <ul class=toc_part1> + <li>Part 1 <a href=#part-1>Disks</a> + <ul class=toc_h1> + <li>1. <a href=#h-1>Compiler Disk v1</a> + <ul class=toc_h2> + <li>1. <a href=#h-1.1>System</a> + <li>2. <a href=#h-1.2>Standard Library</a> + </ul> + <li>2. <a href=#h-2>Compiler Disk v2</a> + <ul class=toc_h2> + <li>1. <a href=#h-2.1>System</a> + <ul class=toc_h3> + <li>1. <a href=#h-2.1.1>parser.com</a> + <li>2. <a href=#h-2.1.2>compiler.com</a> + <li>3. <a href=#h-2.1.3>linker.com</a> + </ul> + <li>2. <a href=#h-2.2>Standard Library</a> + </ul> + <li>3. <a href=#h-3>Library System Disk</a> + </ul> + <li>Part 2 <a href=#part-2>Personal</a> + <ul class=toc_h1> + <li>4. <a href=#h-4>Tips & Tricks</a> + </ul> + <li>Part 3 <a href=#part-3>Appendixes</a> + <ul class=toc_appendix1> + <li>A <a href=#appendix-A>Functions Standard Library v1</a> + <li>B <a href=#appendix-B>Functions Standard Library v2</a> + <li>C <a href=#appendix-C>Functions Graphic Library</a> + </ul> + </ul> + <li><a href=#prelude-5>Bibliography</a> +</ul> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-2><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Table of Figures</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- Table of Figures --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Figure-1>Contents Compiler Disk v1</a> + <li><a href=#Figure-2>Contents Compiler Disk v2</a> +</ol> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-3><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Table of Tables</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- Table of Tables --><!-- #BeginToc --> +<!-- Table of Contents generated by Perl - HTML::Toc --> +<ol> + <li><a href=#Table-1>Compile Steps</a> +</ol> +<!-- End of generated Table of Contents --> +<!-- #EndToc --> + +<!-- #BeginTocAnchorNameBegin --><a name=prelude-4><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Introduction</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +Thanks to standardisation and the excellent work of the QWERTY corporation it is possible to learn C with almost any C manual. +<!-- #BeginTocAnchorNameBegin --><a name=Table-1><!-- #EndTocAnchorNameBegin --><p class=captionTable><!-- #BeginTocNumber -->Table 1: <!-- #EndTocNumber -->Compile Steps</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<ul><pre> + Parser + Compiler + Linker +</pre></ul> + +<!-- #BeginTocAnchorNameBegin --><a name=part-1><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 1 <!-- #EndTocNumber -->Disks</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-1><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->1 <!-- #EndTocNumber -->Compiler Disk v1</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<img src=img.gif alt="Contents Compiler Disk v1"> +<!-- #BeginTocAnchorNameBegin --><a name=Figure-1><!-- #EndTocAnchorNameBegin --><p class=captionFigure><!-- #BeginTocNumber -->Figure 1: <!-- #EndTocNumber -->Contents Compiler Disk v1</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-1.1><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->1.1 <!-- #EndTocNumber -->System</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-1.2><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->1.2 <!-- #EndTocNumber -->Standard Library</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-2><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->2 <!-- #EndTocNumber -->Compiler Disk v2</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<img src=img.gif alt="Contents Compiler Disk v2"> +<!-- #BeginTocAnchorNameBegin --><a name=Figure-2><!-- #EndTocAnchorNameBegin --><p class=captionFigure><!-- #BeginTocNumber -->Figure 2: <!-- #EndTocNumber -->Contents Compiler Disk v2</p><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->2.1 <!-- #EndTocNumber -->System</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.1><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.1 <!-- #EndTocNumber -->parser.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.2><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.2 <!-- #EndTocNumber -->compiler.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.1.3><!-- #EndTocAnchorNameBegin --><h3><!-- #BeginTocNumber -->2.1.3 <!-- #EndTocNumber -->linker.com</h3><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-2.2><!-- #EndTocAnchorNameBegin --><h2><!-- #BeginTocNumber -->2.2 <!-- #EndTocNumber -->Standard Library</h2><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> + +<!-- #BeginTocAnchorNameBegin --><a name=h-3><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->3 <!-- #EndTocNumber -->Library System Disk</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=part-2><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 2 <!-- #EndTocNumber -->Personal</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=h-4><!-- #EndTocAnchorNameBegin --><h1><!-- #BeginTocNumber -->4 <!-- #EndTocNumber -->Tips & Tricks</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=part-3><!-- #EndTocAnchorNameBegin --><h1 class=part><!-- #BeginTocNumber -->Part 3 <!-- #EndTocNumber -->Appendixes</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-A><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->A <!-- #EndTocNumber -->Functions Standard Library v1</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-B><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->B <!-- #EndTocNumber -->Functions Standard Library v2</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=appendix-C><!-- #EndTocAnchorNameBegin --><h1 class=appendix><!-- #BeginTocNumber -->C <!-- #EndTocNumber -->Functions Graphic Library</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +<!-- #BeginTocAnchorNameBegin --><a name=prelude-5><!-- #EndTocAnchorNameBegin --><h1 class=prelude>Bibliography</h1><!-- #BeginTocAnchorNameEnd --></a><!-- #EndTocAnchorNameEnd --> +</body> +</html> +EOT +} # TestUpdateManual() + + + # Test inserting ToC into manual +TestInsertManualToc(); + # Test inserting ToC with update tokens into manual +TestInsertManualForUpdating(); + # Test updating ToC +TestUpdateManual(); |