Commit | Line | Data |
72e5dea6 |
1 | #!perl |
2 | |
3 | # Purpose: test UserPreamble and UserPostamble |
4 | # It's a minor variation of 'pod2latex.t', |
5 | # subject to the same limitations. |
6 | # Variant provided by |
7 | # Adriano Rodrigues Ferreira <ferreira@triang.com.br> |
8 | |
9 | use Test; |
10 | use strict; |
11 | |
12 | BEGIN { plan tests => 17 } |
13 | |
14 | use Pod::LaTeX; |
15 | |
16 | # The link parsing changed between v0.22 and v0.30 of Pod::ParseUtils |
17 | use Pod::ParseUtils; |
18 | my $linkver = $Pod::ParseUtils::VERSION; |
19 | |
20 | # Set up an END block to remove the test output file |
21 | END { |
22 | unlink "test.tex"; |
23 | }; |
24 | |
25 | ok(1); |
26 | |
27 | # First thing to do is to read the expected output from |
28 | # the DATA filehandle and store it in a scalar. |
29 | # Do this until we read an =pod |
30 | my @reference; |
31 | while (my $line = <DATA>) { |
32 | last if $line =~ /^=pod/; |
33 | push(@reference,$line); |
34 | } |
35 | |
36 | my $user_preamble = <<PRE; |
37 | |
38 | \\documentclass{article} |
39 | |
40 | \\begin{document} |
41 | PRE |
42 | |
43 | my $user_postamble = <<POST; |
44 | \\end{document} |
45 | |
46 | POST |
47 | |
48 | # Create a new parser |
49 | my %params = ( |
50 | UserPreamble => $user_preamble, |
51 | UserPostamble => $user_postamble |
52 | ); |
53 | |
54 | my $parser = Pod::LaTeX->new(%params); |
55 | ok($parser); |
56 | |
57 | # Create an output file |
58 | open(OUTFH, "> test.tex" ) or die "Unable to open test tex file: $!\n"; |
59 | |
60 | # Read from the DATA filehandle and write to a new output file |
61 | # Really want to write this to a scalar |
62 | $parser->parse_from_filehandle(\*DATA,\*OUTFH); |
63 | |
64 | close(OUTFH) or die "Error closing OUTFH test.tex: $!\n"; |
65 | |
66 | # Now read in OUTFH and compare |
67 | open(INFH, "< test.tex") or die "Unable to read test tex file: $!\n"; |
68 | my @output = <INFH>; |
69 | |
70 | ok(@output, @reference); |
71 | |
72 | for my $i (0..$#reference) { |
73 | next if $reference[$i] =~ /^%%/; # skip timestamp comments |
74 | ok($output[$i], $reference[$i]); |
75 | } |
76 | |
77 | close(INFH) or die "Error closing INFH test.tex: $!\n"; |
78 | |
79 | |
80 | __DATA__ |
81 | |
82 | \documentclass{article} |
83 | |
84 | \begin{document} |
85 | |
86 | %% Latex generated from POD in document (unknown) |
87 | %% Using the perl module Pod::LaTeX |
88 | %% Converted on Wed Jan 14 19:04:22 2004 |
89 | |
90 | %% Preamble supplied by user. |
91 | |
92 | \section{POD\label{POD}\index{POD}} |
93 | |
94 | |
95 | This is a POD file, very simple. \textit{Bye}. |
96 | |
97 | \end{document} |
98 | |
99 | =pod |
100 | |
101 | =head1 POD |
102 | |
103 | This is a POD file, very simple. I<Bye>. |
104 | |