c6f178a25385c9f3992ddb9146be1b8b3d6cd994
[perl.git] / ext / Pod-Plainer / t / plainer.t
1 #!./perl
2
3 use Pod::Plainer;
4 my $parser = Pod::Plainer->new();
5 my $header = "=pod\n\n";
6 my $input  = 'plnr_in.pod';
7 my $output = 'plnr_out.pod';
8
9 my $test = 0;
10 print "1..7\n";
11 while( <DATA> ) {
12     my $expected = $header.<DATA>; 
13
14     open(IN, '>', $input) or die $!;
15     print IN $header, $_;
16     close IN or die $!;
17
18     open IN, '<', $input or die $!;
19     open OUT, '>', $output or die $!;
20     $parser->parse_from_filehandle(\*IN,\*OUT);
21
22     open OUT, '<', $output or die $!;
23     my $returned; { local $/; $returned = <OUT>; }
24     
25     unless( $returned eq $expected ) {
26        print map { s/^/\#/mg; $_; }
27                map {+$_}               # to avoid readonly values
28                    "EXPECTED:\n", $expected, "GOT:\n", $returned;
29        print "not ";
30     }
31     printf "ok %d\n", ++$test; 
32     close OUT;
33     close IN;
34 }
35
36 END { 
37     1 while unlink $input;
38     1 while unlink $output;
39 }
40
41 __END__
42 =head <> now reads in records
43 =head E<lt>E<gt> now reads in records
44 =item C<-T> and C<-B> not implemented on filehandles
45 =item C<-T> and C<-B> not implemented on filehandles
46 e.g. C<< Foo->bar() >> or C<< $obj->bar() >>
47 e.g. C<Foo-E<gt>bar()> or C<$obj-E<gt>bar()>
48 The C<< => >> operator is mostly just a more visually distinctive
49 The C<=E<gt>> operator is mostly just a more visually distinctive
50 C<uv < 0x80> in which case you can use C<*s = uv>.
51 C<uv E<lt> 0x80> in which case you can use C<*s = uv>.
52 C<time ^ ($$ + ($$ << 15))>), but that isn't necessary any more.
53 C<time ^ ($$ + ($$ E<lt>E<lt> 15))>), but that isn't necessary any more.
54 The bitwise operation C<<< >> >>>
55 The bitwise operation C<E<gt>E<gt>>