X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/2c88fa888f003d5ed662773b59e0a8b1ff819c61..9f3d182ed95630da223ec0d99832141e262ccc05:/t/comp/require.t diff --git a/t/comp/require.t b/t/comp/require.t index 0f3b97f..f963a8c 100755 --- a/t/comp/require.t +++ b/t/comp/require.t @@ -2,12 +2,12 @@ BEGIN { chdir 't' if -d 't'; - @INC = ('.', '../lib'); + unshift @INC, ('.', '../lib'); } # don't make this lexical $i = 1; -print "1..4\n"; +print "1..20\n"; sub do_require { %INC = (); @@ -23,6 +23,74 @@ sub write_file { close REQ; } +eval {require 5.005}; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +eval { require 5.005 }; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +eval { require 5.005; }; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +eval { + require 5.005 +}; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +# new style version numbers + +eval { require v5.5.630; }; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +eval { require v10.0.2; }; +print "# $@\nnot " unless $@ =~ /^Perl v10\.0\.2 required/; +print "ok ",$i++,"\n"; + +eval q{ use v5.5.630; }; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +eval q{ use v10.0.2; }; +print "# $@\nnot " unless $@ =~ /^Perl v10\.0\.2 required/; +print "ok ",$i++,"\n"; + +my $ver = v5.5.630; +eval { require $ver; }; +print "# $@\nnot " if $@; +print "ok ",$i++,"\n"; + +$ver = v10.0.2; +eval { require $ver; }; +print "# $@\nnot " unless $@ =~ /^Perl v10\.0\.2 required/; +print "ok ",$i++,"\n"; + +print "not " unless v5.5.1 gt v5.5; +print "ok ",$i++,"\n"; + +print "not " unless 5.005_01 > v5.5; +print "ok ",$i++,"\n"; + +print "not " unless 5.005_64 - v5.5.640 < 0.0000001; +print "ok ",$i++,"\n"; + +{ + use utf8; + print "not " unless v5.5.640 eq "\x{5}\x{5}\x{280}"; + print "ok ",$i++,"\n"; + + print "not " unless v7.15 eq "\x{7}\x{f}"; + print "ok ",$i++,"\n"; + + print "not " + unless v1.20.300.4000.50000.600000 eq "\x{1}\x{14}\x{12c}\x{fa0}\x{c350}\x{927c0}"; + print "ok ",$i++,"\n"; +} + # interaction with pod (see the eof) write_file('bleah.pm', "print 'ok $i\n'; 1;\n"); require "bleah.pm"; @@ -35,9 +103,9 @@ print "ok ",$i++,"\n"; # compile-time failure in require do_require "1)\n"; -# bison says 'parser error' instead of 'syntax error', +# bison says 'parse error' instead of 'syntax error', # various yaccs may or may not capitalize 'syntax'. -print "# $@\nnot " unless $@ =~ /(syntax|parser) error/mi; +print "# $@\nnot " unless $@ =~ /(syntax|parse) error/mi; print "ok ",$i++,"\n"; # successful require @@ -45,7 +113,7 @@ do_require "1"; print "# $@\nnot " if $@; print "ok ",$i++,"\n"; -END { unlink 'bleah.pm'; } +END { 1 while unlink 'bleah.pm'; } # ***interaction with pod (don't put any thing after here)***