📄 basic.t
字号:
#!/usr/bin/perl -w# $Id: basic.t,v 1.11 2006-09-16 20:25:25 eagle Exp $## basic.t -- Basic tests for podlators.## Copyright 2001, 2002, 2004, 2006 by Russ Allbery <rra@stanford.edu>## This program is free software; you may redistribute it and/or modify it# under the same terms as Perl itself.BEGIN { chdir 't' if -d 't'; if ($ENV{PERL_CORE}) { @INC = '../lib'; } else { unshift (@INC, '../blib/lib'); } unshift (@INC, '../blib/lib'); $| = 1; print "1..11\n";}END { print "not ok 1\n" unless $loaded;}use Pod::Man;use Pod::Text;use Pod::Text::Overstrike;use Pod::Text::Termcap;# Find the path to the test source files. This requires some fiddling when# these tests are run as part of Perl core.sub source_path { my $file = shift; if ($ENV{PERL_CORE}) { require File::Spec; my $updir = File::Spec->updir; my $dir = File::Spec->catdir ($updir, 'lib', 'Pod', 't'); return File::Spec->catfile ($dir, $file); } else { return $file; }}$loaded = 1;print "ok 1\n";# Hard-code a few values to try to get reproducible results.$ENV{COLUMNS} = 80;$ENV{TERM} = 'xterm';$ENV{TERMCAP} = 'xterm:co=80:do=^J:md=\E[1m:us=\E[4m:me=\E[m';# Map of translators to file extensions to find the formatted output to# compare against.my %translators = ('Pod::Man' => 'man', 'Pod::Text' => 'txt', 'Pod::Text::Color' => 'clr', 'Pod::Text::Overstrike' => 'ovr', 'Pod::Text::Termcap' => 'cap');# Set default options to match those of pod2man and pod2text.%options = (sentence => 0);my $n = 2;for (sort keys %translators) { if ($_ eq 'Pod::Text::Color') { eval { require Term::ANSIColor }; if ($@) { print "ok $n # skip\n"; $n++; print "ok $n # skip\n"; $n++; next; } require Pod::Text::Color; } my $parser = $_->new (%options); print (($parser && ref ($parser) eq $_) ? "ok $n\n" : "not ok $n\n"); $n++; # For Pod::Man, strip out the autogenerated header up to the .TH title # line. That means that we don't check those things; oh well. The header # changes with each version change or touch of the input file. open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n"; $parser->parse_from_file (source_path ('basic.pod'), \*OUT); close OUT; if ($_ eq 'Pod::Man') { open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n"; open (OUTPUT, "> out.$translators{$_}") or die "Cannot create out.$translators{$_}: $!\n"; local $_; while (<TMP>) { last if /^\.nh/ } print OUTPUT while <TMP>; close OUTPUT; close TMP; unlink 'out.tmp'; } else { rename ('out.tmp', "out.$translators{$_}") or die "Cannot rename out.tmp: $!\n"; } { local $/; open (MASTER, source_path ("basic.$translators{$_}")) or die "Cannot open basic.$translators{$_}: $!\n"; open (OUTPUT, "out.$translators{$_}") or die "Cannot open out.$translators{$_}: $!\n"; my $master = <MASTER>; my $output = <OUTPUT>; close MASTER; close OUTPUT; # OS/390 is EBCDIC, which uses a different character for ESC # apparently. Try to convert so that the test still works. if ($^O eq 'os390' && $_ eq 'Pod::Text::Termcap') { $output =~ tr/\033/\047/; } if ($master eq $output) { print "ok $n\n"; unlink "out.$translators{$_}"; } else { print "not ok $n\n"; print "# Non-matching output left in out.$translators{$_}\n"; } } $n++;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -