diff options
author | markm <markm@FreeBSD.org> | 1998-09-09 07:00:04 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 1998-09-09 07:00:04 +0000 |
commit | 4fcbc3669aa997848e15198cc9fb856287a6788c (patch) | |
tree | 58b20e81687d6d5931f120b50802ed21225bf440 /contrib/perl5/t/base | |
download | FreeBSD-src-4fcbc3669aa997848e15198cc9fb856287a6788c.zip FreeBSD-src-4fcbc3669aa997848e15198cc9fb856287a6788c.tar.gz |
Initial import of Perl5. The king is dead; long live the king!
Diffstat (limited to 'contrib/perl5/t/base')
-rwxr-xr-x | contrib/perl5/t/base/cond.t | 19 | ||||
-rwxr-xr-x | contrib/perl5/t/base/if.t | 11 | ||||
-rwxr-xr-x | contrib/perl5/t/base/lex.t | 119 | ||||
-rwxr-xr-x | contrib/perl5/t/base/pat.t | 11 | ||||
-rwxr-xr-x | contrib/perl5/t/base/rs.t | 131 | ||||
-rwxr-xr-x | contrib/perl5/t/base/term.t | 55 |
6 files changed, 346 insertions, 0 deletions
diff --git a/contrib/perl5/t/base/cond.t b/contrib/perl5/t/base/cond.t new file mode 100755 index 0000000..9a57348 --- /dev/null +++ b/contrib/perl5/t/base/cond.t @@ -0,0 +1,19 @@ +#!./perl + +# $RCSfile: cond.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:02 $ + +# make sure conditional operators work + +print "1..4\n"; + +$x = '0'; + +$x eq $x && (print "ok 1\n"); +$x ne $x && (print "not ok 1\n"); +$x eq $x || (print "not ok 2\n"); +$x ne $x || (print "ok 2\n"); + +$x == $x && (print "ok 3\n"); +$x != $x && (print "not ok 3\n"); +$x == $x || (print "not ok 4\n"); +$x != $x || (print "ok 4\n"); diff --git a/contrib/perl5/t/base/if.t b/contrib/perl5/t/base/if.t new file mode 100755 index 0000000..12db765 --- /dev/null +++ b/contrib/perl5/t/base/if.t @@ -0,0 +1,11 @@ +#!./perl + +# $RCSfile: if.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:03 $ + +print "1..2\n"; + +# first test to see if we can run the tests. + +$x = 'test'; +if ($x eq $x) { print "ok 1\n"; } else { print "not ok 1\n";} +if ($x ne $x) { print "not ok 2\n"; } else { print "ok 2\n";} diff --git a/contrib/perl5/t/base/lex.t b/contrib/perl5/t/base/lex.t new file mode 100755 index 0000000..045cb22 --- /dev/null +++ b/contrib/perl5/t/base/lex.t @@ -0,0 +1,119 @@ +#!./perl + +# $RCSfile: lex.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:04 $ + +print "1..30\n"; + +$x = 'x'; + +print "#1 :$x: eq :x:\n"; +if ($x eq 'x') {print "ok 1\n";} else {print "not ok 1\n";} + +$x = $#; # this is the register $# + +if ($x eq '') {print "ok 2\n";} else {print "not ok 2\n";} + +$x = $#x; + +if ($x eq '-1') {print "ok 3\n";} else {print "not ok 3\n";} + +$x = '\\'; # '; + +if (length($x) == 1) {print "ok 4\n";} else {print "not ok 4\n";} + +eval 'while (0) { + print "foo\n"; +} +/^/ && (print "ok 5\n"); +'; + +eval '$foo{1} / 1;'; +if (!$@) {print "ok 6\n";} else {print "not ok 6 $@\n";} + +eval '$foo = 123+123.4+123e4+123.4E5+123.4e+5+.12;'; + +$foo = int($foo * 100 + .5); +if ($foo eq 2591024652) {print "ok 7\n";} else {print "not ok 7 :$foo:\n";} + +print <<'EOF'; +ok 8 +EOF + +$foo = 'ok 9'; +print <<EOF; +$foo +EOF + +eval <<\EOE, print $@; +print <<'EOF'; +ok 10 +EOF + +$foo = 'ok 11'; +print <<EOF; +$foo +EOF +EOE + +print <<`EOS` . <<\EOF; +echo ok 12 +EOS +ok 13 +EOF + +print qq/ok 14\n/; +print qq(ok 15\n); + +print qq +[ok 16\n] +; + +print q<ok 17 +>; + +print <<; # Yow! +ok 18 + +# previous line intentionally left blank. + +print <<E1 eq "foo\n\n" ? "ok 19\n" : "not ok 19\n"; +@{[ <<E2 ]} +foo +E2 +E1 + +print <<E1 eq "foo\n\n" ? "ok 20\n" : "not ok 20\n"; +@{[ + <<E2 +foo +E2 +]} +E1 + +$foo = FOO; +$bar = BAR; +$foo{$bar} = BAZ; +$ary[0] = ABC; + +print "$foo{$bar}" eq "BAZ" ? "ok 21\n" : "not ok 21\n"; + +print "${foo}{$bar}" eq "FOO{BAR}" ? "ok 22\n" : "not ok 22\n"; +print "${foo{$bar}}" eq "BAZ" ? "ok 23\n" : "not ok 23\n"; + +print "FOO:" =~ /$foo[:]/ ? "ok 24\n" : "not ok 24\n"; +print "ABC" =~ /^$ary[$A]$/ ? "ok 25\n" : "not ok 25\n"; +print "FOOZ" =~ /^$foo[$A-Z]$/ ? "ok 26\n" : "not ok 26\n"; + +# MJD 19980425 +($X, @X) = qw(a b c d); +print "d" =~ /^$X[-1]$/ ? "ok 27\n" : "not ok 27\n"; +print "a1" !~ /^$X[-1]$/ ? "ok 28\n" : "not ok 28\n"; + +print (((q{{\{\(}} . q{{\)\}}}) eq '{{\(}{\)}}') ? "ok 29\n" : "not ok 29\n"); + + +$foo = "not ok 30\n"; +$foo =~ s/^not /substr(<<EOF, 0, 0)/e; + Ignored +EOF +print $foo; diff --git a/contrib/perl5/t/base/pat.t b/contrib/perl5/t/base/pat.t new file mode 100755 index 0000000..c689f45 --- /dev/null +++ b/contrib/perl5/t/base/pat.t @@ -0,0 +1,11 @@ +#!./perl + +# $RCSfile: pat.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:05 $ + +print "1..2\n"; + +# first test to see if we can run the tests. + +$_ = 'test'; +if (/^test/) { print "ok 1\n"; } else { print "not ok 1\n";} +if (/^foo/) { print "not ok 2\n"; } else { print "ok 2\n";} diff --git a/contrib/perl5/t/base/rs.t b/contrib/perl5/t/base/rs.t new file mode 100755 index 0000000..52a9572 --- /dev/null +++ b/contrib/perl5/t/base/rs.t @@ -0,0 +1,131 @@ +#!./perl +# Test $! + +print "1..14\n"; + +$teststring = "1\n12\n123\n1234\n1234\n12345\n\n123456\n1234567\n"; + +# Create our test datafile +open TESTFILE, ">./foo" or die "error $! $^E opening"; +binmode TESTFILE; +print TESTFILE $teststring; +close TESTFILE; + +open TESTFILE, "<./foo"; +binmode TESTFILE; + +# Check the default $/ +$bar = <TESTFILE>; +if ($bar eq "1\n") {print "ok 1\n";} else {print "not ok 1\n";} + +# explicitly set to \n +$/ = "\n"; +$bar = <TESTFILE>; +if ($bar eq "12\n") {print "ok 2\n";} else {print "not ok 2\n";} + +# Try a non line terminator +$/ = "3"; +$bar = <TESTFILE>; +if ($bar eq "123") {print "ok 3\n";} else {print "not ok 3\n";} + +# Eat the line terminator +$/ = "\n"; +$bar = <TESTFILE>; + +# How about a larger terminator +$/ = "34"; +$bar = <TESTFILE>; +if ($bar eq "1234") {print "ok 4\n";} else {print "not ok 4\n";} + +# Eat the line terminator +$/ = "\n"; +$bar = <TESTFILE>; + +# Does paragraph mode work? +$/ = ''; +$bar = <TESTFILE>; +if ($bar eq "1234\n12345\n\n") {print "ok 5\n";} else {print "not ok 5\n";} + +# Try slurping the rest of the file +$/ = undef; +$bar = <TESTFILE>; +if ($bar eq "123456\n1234567\n") {print "ok 6\n";} else {print "not ok 6\n";} + +# try the record reading tests. New file so we don't have to worry about +# the size of \n. +close TESTFILE; +unlink "./foo"; +open TESTFILE, ">./foo"; +print TESTFILE "1234567890123456789012345678901234567890"; +binmode TESTFILE; +close TESTFILE; +open TESTFILE, "<./foo"; +binmode TESTFILE; + +# Test straight number +$/ = \2; +$bar = <TESTFILE>; +if ($bar eq "12") {print "ok 7\n";} else {print "not ok 7\n";} + +# Test stringified number +$/ = \"2"; +$bar = <TESTFILE>; +if ($bar eq "34") {print "ok 8\n";} else {print "not ok 8\n";} + +# Integer variable +$foo = 2; +$/ = \$foo; +$bar = <TESTFILE>; +if ($bar eq "56") {print "ok 9\n";} else {print "not ok 9\n";} + +# String variable +$foo = "2"; +$/ = \$foo; +$bar = <TESTFILE>; +if ($bar eq "78") {print "ok 10\n";} else {print "not ok 10\n";} + +# Get rid of the temp file +close TESTFILE; +unlink "./foo"; + +# Now for the tricky bit--full record reading +if ($^O eq 'VMS') { + # Create a temp file. We jump through these hoops 'cause CREATE really + # doesn't like our methods for some reason. + open FDLFILE, "> ./foo.fdl"; + print FDLFILE "RECORD\n FORMAT VARIABLE\n"; + close FDLFILE; + open CREATEFILE, "> ./foo.com"; + print CREATEFILE '$ DEFINE/USER SYS$INPUT NL:', "\n"; + print CREATEFILE '$ DEFINE/USER SYS$OUTPUT NL:', "\n"; + print CREATEFILE '$ OPEN YOW []FOO.BAR/WRITE', "\n"; + print CREATEFILE '$ CLOSE YOW', "\n"; + print CREATEFILE "\$EXIT\n"; + close CREATEFILE; + $throwaway = `\@\[\]foo`, "\n"; + open(TEMPFILE, ">./foo.bar") or print "# open failed $! $^E\n"; + print TEMPFILE "foo\nfoobar\nbaz\n"; + close TEMPFILE; + + open TESTFILE, "<./foo.bar"; + $/ = \10; + $bar = <TESTFILE>; + if ($bar eq "foo\n") {print "ok 11\n";} else {print "not ok 11\n";} + $bar = <TESTFILE>; + if ($bar eq "foobar\n") {print "ok 12\n";} else {print "not ok 12\n";} + # can we do a short read? + $/ = \2; + $bar = <TESTFILE>; + if ($bar eq "ba") {print "ok 13\n";} else {print "not ok 13\n";} + # do we get the rest of the record? + $bar = <TESTFILE>; + if ($bar eq "z\n") {print "ok 14\n";} else {print "not ok 14\n";} + + close TESTFILE; + unlink "./foo.bar"; + unlink "./foo.com"; +} else { + # Nobody else does this at the moment (well, maybe OS/390, but they can + # put their own tests in) so we just punt + foreach $test (11..14) {print "ok $test # skipped on non-VMS system\n"}; +} diff --git a/contrib/perl5/t/base/term.t b/contrib/perl5/t/base/term.t new file mode 100755 index 0000000..e96313d --- /dev/null +++ b/contrib/perl5/t/base/term.t @@ -0,0 +1,55 @@ +#!./perl + +# $RCSfile: term.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:07 $ + +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; +} + +use Config; + +print "1..7\n"; + +# check "" interpretation + +$x = "\n"; +# 10 is ASCII/Iso Latin, 21 is EBCDIC. +if ($x eq chr(10) || + ($Config{ebcdic} eq 'define' && $x eq chr(21))) {print "ok 1\n";} +else {print "not ok 1\n";} + +# check `` processing + +$x = `echo hi there`; +if ($x eq "hi there\n") {print "ok 2\n";} else {print "not ok 2\n";} + +# check $#array + +$x[0] = 'foo'; +$x[1] = 'foo'; +$tmp = $#x; +print "#3\t:$tmp: == :1:\n"; +if ($#x == '1') {print "ok 3\n";} else {print "not ok 3\n";} + +# check numeric literal + +$x = 1; +if ($x == '1') {print "ok 4\n";} else {print "not ok 4\n";} + +$x = '1E2'; +if (($x | 1) == 101) {print "ok 5\n";} else {print "not ok 5\n";} + +# check <> pseudoliteral + +open(try, "/dev/null") || open(try,"nla0:") || (die "Can't open /dev/null."); +if (<try> eq '') { + print "ok 6\n"; +} +else { + print "not ok 6\n"; + die "/dev/null IS NOT A CHARACTER SPECIAL FILE!!!!\n" unless -c '/dev/null'; +} + +open(try, "../Configure") || (die "Can't open ../Configure."); +if (<try> ne '') {print "ok 7\n";} else {print "not ok 7\n";} |