summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/t/comp/bproto.t
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/t/comp/bproto.t')
-rwxr-xr-xcontrib/perl5/t/comp/bproto.t44
1 files changed, 44 insertions, 0 deletions
diff --git a/contrib/perl5/t/comp/bproto.t b/contrib/perl5/t/comp/bproto.t
new file mode 100755
index 0000000..01efb84
--- /dev/null
+++ b/contrib/perl5/t/comp/bproto.t
@@ -0,0 +1,44 @@
+#!./perl
+#
+# check if builtins behave as prototyped
+#
+
+BEGIN {
+ chdir 't' if -d 't';
+ unshift @INC, '../lib';
+}
+
+print "1..10\n";
+
+my $i = 1;
+
+sub foo {}
+my $bar = "bar";
+
+sub test_too_many {
+ eval $_[0];
+ print "not " unless $@ =~ /^Too many arguments/;
+ printf "ok %d\n",$i++;
+}
+
+sub test_no_error {
+ eval $_[0];
+ print "not " if $@;
+ printf "ok %d\n",$i++;
+}
+
+test_too_many($_) for split /\n/,
+q[ defined(&foo, $bar);
+ undef(&foo, $bar);
+ uc($bar,$bar);
+];
+
+test_no_error($_) for split /\n/,
+q[ scalar(&foo,$bar);
+ defined &foo, &foo, &foo;
+ undef &foo, $bar;
+ uc $bar,$bar;
+ grep(not($bar), $bar);
+ grep(not($bar, $bar), $bar);
+ grep((not $bar, $bar, $bar), $bar);
+];
OpenPOWER on IntegriCloud