DEATH TO ALL zionist ELLIPSES
[gitmo/Moose.git] / t / 010_basics / 007_always_strict_warnings.t
CommitLineData
c235cd98 1#!/usr/bin/perl
2
6fde788b 3use Test::More tests => 15;
c235cd98 4
5# for classes ...
6{
7 package Foo;
8 use Moose;
d03bd989 9
c235cd98 10 eval '$foo = 5;';
1808c2da 11 ::ok($@, 'got an error because strict is on');
12 ::like($@, qr/Global symbol \"\$foo\" requires explicit package name at/, 'got the right error');
d03bd989 13
c235cd98 14 {
15 my $warn;
16 local $SIG{__WARN__} = sub { $warn = $_[0] };
17
1808c2da 18 ::ok(!$warn, 'no warning yet');
d03bd989 19
c235cd98 20 eval 'my $bar = 1 + "hello"';
d03bd989 21
1808c2da 22 ::ok($warn, 'got a warning');
c235cd98 23 ::like($warn, qr/Argument \"hello\" isn\'t numeric in addition \(\+\)/, '.. and it is the right warning');
24 }
25}
26
27# and for roles ...
28{
29 package Bar;
30 use Moose::Role;
d03bd989 31
c235cd98 32 eval '$foo = 5;';
1808c2da 33 ::ok($@, 'got an error because strict is on');
34 ::like($@, qr/Global symbol \"\$foo\" requires explicit package name at/, 'got the right error');
d03bd989 35
c235cd98 36 {
37 my $warn;
38 local $SIG{__WARN__} = sub { $warn = $_[0] };
39
1808c2da 40 ::ok(!$warn, 'no warning yet');
d03bd989 41
c235cd98 42 eval 'my $bar = 1 + "hello"';
d03bd989 43
1808c2da 44 ::ok($warn, 'got a warning');
c235cd98 45 ::like($warn, qr/Argument \"hello\" isn\'t numeric in addition \(\+\)/, '.. and it is the right warning');
46 }
6fde788b 47}
48
49# and for exporters
50{
51 package Bar;
52 use Moose::Exporter;
53
54 eval '$foo = 5;';
1808c2da 55 ::ok($@, 'got an error because strict is on');
56 ::like($@, qr/Global symbol \"\$foo\" requires explicit package name at/, 'got the right error');
6fde788b 57
58 {
59 my $warn;
60 local $SIG{__WARN__} = sub { $warn = $_[0] };
61
1808c2da 62 ::ok(!$warn, 'no warning yet');
6fde788b 63
64 eval 'my $bar = 1 + "hello"';
65
1808c2da 66 ::ok($warn, 'got a warning');
6fde788b 67 ::like($warn, qr/Argument \"hello\" isn\'t numeric in addition \(\+\)/, '.. and it is the right warning');
68 }
69}