| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 
 | #!/usr/bin/perl -w
# Test with assert on.
use strict;
use Test::More tests => 8;
# Make sure we're shielded against the user possibly having
# NDEBUG or PERL_NDEBUG set.  Localize the changes because changes
# to %ENV persist across processes in VMS.
BEGIN {
    local %ENV = %ENV;
    delete @ENV{qw(PERL_NDEBUG NDEBUG)};
    require Carp::Assert;
    Carp::Assert->import;
}
# shouldn't makes its decision at run-time
local %ENV = %ENV;
delete @ENV{qw(PERL_NDEBUG NDEBUG)};
eval { assert(1==0) if DEBUG; };
like $@, '/^Assertion failed/i';
eval { assert(1==1); };
is $@, '';
eval { assert(Dogs->isa('People'), 'Dogs are people, too!') };
like $@, '/Dogs are people, too!/';
eval { should('this', 'this') };
is $@, '';
eval { should('this', 'that') };
like $@, '/^Assertion \(.*\) failed/i';
eval { shouldnt('this', 'that') };
is $@, '';
eval { shouldnt('up', 'up') };
like $@, '/^Assertion \(.*\) failed/i';
eval { shouldn't('up', 'up') };
like $@, '/^Assertion \(.*\) failed/i';
 |