⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 corpus.t

📁 source of perl for linux application,
💻 T
字号:
BEGIN {    if($ENV{PERL_CORE}) {        chdir 't';        @INC = '../lib';    }    use Config;    if ($Config::Config{'extensions'} !~ /\bEncode\b/) {      print "1..0 # Skip: Encode was not built\n";      exit 0;    }}#use Pod::Simple::Debug (10);use Test qw(plan ok skip);use File::Spec;#use utf8;use strict;my(@testfiles, %xmlfiles, %wouldxml);#use Pod::Simple::Debug (10);BEGIN { 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', 'Simple', 't');        return File::Spec->catdir ($dir, $file);    } else {        return $file;    }}   my @bits;  if(-e( File::Spec::->catdir( @bits =    source_path('corpus') ) ) )   {    # OK    print "# 1Bits: @bits\n";  } elsif( -e (File::Spec::->catdir( @bits =    (File::Spec::->curdir, 'corpus') ) )  ) {    # OK    print "# 2Bits: @bits\n";  } elsif ( -e (File::Spec::->catdir( @bits =    (File::Spec::->curdir, 't', 'corpus') ) )  ) {    # OK    print "# 3Bits: @bits\n";  } else {    die "Can't find the corpusdir";  }  my $corpusdir = File::Spec::->catdir( @bits);  print "#Corpusdir: $corpusdir\n";  opendir(INDIR, $corpusdir) or die "Can't opendir corpusdir : $!";  my @f = map File::Spec::->catfile(@bits, $_), readdir(INDIR);  closedir(INDIR);  my %f;  @f{@f} = ();  foreach my $maybetest (sort @f) {    my $xml = $maybetest;    $xml =~ s/\.(txt|pod)$/\.xml/is  or  next;    $wouldxml{$maybetest} = $xml;    push @testfiles, $maybetest;    foreach my $x ($xml, uc($xml), lc($xml)) {      next unless exists $f{$x};      $xmlfiles{$maybetest} = $x;      last;    }  }  die "Too few test files (".@testfiles.")" unless @ARGV or @testfiles > 20;  @testfiles = @ARGV if @ARGV and !grep !m/\.txt/, @ARGV;  plan tests => (2 + 2*@testfiles - 1);}my $HACK = 1;#@testfiles = ('nonesuch.txt');ok 1;my $skippy =  ($] < 5.008) ? "skip because perl ($]) pre-dates v5.8.0" : 0;if($skippy) {  print "# This is just perl v$], so I'm skipping many many tests.\n";}{  my @x = @testfiles;  print "# Files to test:\n";  while(@x) {  print "#  ", join(' ', splice @x,0,3), "\n" }}require Pod::Simple::DumpAsXML;foreach my $f (@testfiles) {  my $xml = $xmlfiles{$f};  if($xml) {    print "#\n#To test $f against $xml\n";  } else {    print "#\n# $f has no xml to test it against\n";  }  my $outstring;  eval {    my $p = Pod::Simple::DumpAsXML->new;    $p->output_string( \$outstring );    $p->parse_file( $f );    undef $p;  };    if($@) {    my $x = "#** Couldn't parse $f:\n $@";    $x =~ s/([\n\r]+)/\n#** /g;    print $x, "\n";    ok 0;    ok 0;    next;  } else {    print "# OK, parsing $f generated ", length($outstring), " bytes\n";    ok 1;  }    die "Null outstring?" unless $outstring;    next if $f =~ /nonesuch/;  # foo.xml.out is not a portable filename. foo.xml_out may be a bit more portable  my $outfilename = ($HACK > 1) ? $wouldxml{$f} : "$wouldxml{$f}_out";  if($HACK) {    open OUT, ">$outfilename" or die "Can't write-open $outfilename: $!\n";    binmode(OUT);    print OUT $outstring;    close(OUT);  }  unless($xml) {    print "#  (no comparison done)\n";    ok 1;    next;  }    open(IN, "<$xml") or die "Can't read-open $xml: $!";  #binmode(IN);  local $/;  my $xmlsource = <IN>;  close(IN);    print "# There's errata!\n" if $outstring =~ m/start_line="-321"/;    if(    $xmlsource eq $outstring    or do {      $xmlsource =~ s/[\n\r]+/\n/g;      $outstring =~ s/[\n\r]+/\n/g;      $xmlsource eq $outstring;    }  ) {    print "#  (Perfect match to $xml)\n";    unlink $outfilename unless $outfilename =~ m/\.xml$/is;    ok 1;    next;  }  if($skippy) {    skip $skippy, 0;  } else {    print "#  $outfilename and $xml don't match!\n";    ok 0;  }}print "#\n# I've been using Encode v",  $Encode::VERSION ? $Encode::VERSION : "(NONE)", "\n";print "# Byebye\n";ok 1;print "# --- Done with ", __FILE__, " --- \n";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -