1#!/usr/bin/perl -w
2# $Id: text.t,v 1.1 2002/06/23 19:16:25 eagle Exp $
3#
4# text.t -- Additional specialized tests for Pod::Text.
5#
6# Copyright 2002 by Russ Allbery <rra@stanford.edu>
7#
8# This program is free software; you may redistribute it and/or modify it
9# under the same terms as Perl itself.
10
11BEGIN {
12    chdir 't' if -d 't';
13    if ($ENV{PERL_CORE}) {
14        @INC = '../lib';
15    } else {
16        unshift (@INC, '../blib/lib');
17    }
18    unshift (@INC, '../blib/lib');
19    $| = 1;
20    print "1..2\n";
21}
22
23END {
24    print "not ok 1\n" unless $loaded;
25}
26
27use Pod::Text;
28
29$loaded = 1;
30print "ok 1\n";
31
32my $n = 2;
33while (<DATA>) {
34    next until $_ eq "###\n";
35    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
36    while (<DATA>) {
37        last if $_ eq "###\n";
38        print TMP $_;
39    }
40    close TMP;
41    my $parser = Pod::Text->new or die "Cannot create parser\n";
42    $parser->parse_from_file ('tmp.pod', 'out.tmp');
43    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
44    my $output;
45    {
46        local $/;
47        $output = <TMP>;
48    }
49    close TMP;
50    unlink ('tmp.pod', 'out.tmp');
51    my $expected = '';
52    while (<DATA>) {
53        last if $_ eq "###\n";
54        $expected .= $_;
55    }
56    if ($output eq $expected) {
57        print "ok $n\n";
58    } else {
59        print "not ok $n\n";
60        print "Expected\n========\n$expected\nOutput\n======\n$output\n";
61    }
62    $n++;
63}
64
65# Below the marker are bits of POD and corresponding expected text output.
66# This is used to test specific features or problems with Pod::Text.  The
67# input and output are separated by lines containing only ###.
68
69__DATA__
70
71###
72=head1 PERIODS
73
74This C<.> should be quoted.
75###
76PERIODS
77    This "." should be quoted.
78
79###
80