add begin.t from Method::Signatures
[p5sagit/Function-Parameters.git] / t / strict.t
1 use warnings;
2 use strict;
3
4 use Test::More tests => 10;
5
6 use Dir::Self;
7
8 for my $fail (
9         map [__DIR__ . "/strict_$_->[0].fail", @$_[1 .. $#$_]],
10         ['1', qr/expect.*\).*after.*"\@y".*"\$z"/],
11         ['2', qr/expect.*\).*after.*"\@x".*"\$y"/],
12         ['3', qr/expect.*\).*after.*"%y".*"\$z"/],
13         ['4', qr/expect.*\).*after.*"\@y".*"\@z"/],
14         ['5', qr/Invalid.*rarity/],
15 ) {
16         my ($file, $pat) = @$fail;
17         $@ = undef;
18         my $done = do $file;
19         my $exc = $@;
20         my $err = $!;
21
22         is $done, undef, "faulty code doesn't load";
23         $exc or die "$file: $err" if $err;
24         like $exc, $pat;
25 }