File: assert_nonempty.t

package info (click to toggle)
libcarp-assert-more-perl 1.10-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 164 kB
  • ctags: 26
  • sloc: perl: 762; makefile: 51
file content (40 lines) | stat: -rw-r--r-- 739 bytes parent folder | download | duplicates (3)
1
2
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
#!perl -Tw

use warnings;
use strict;

use Test::More tests => 8;

BEGIN {
    use_ok( 'Carp::Assert::More' );
}

use constant PASS => 1;
use constant FAIL => 0;

my $array_object = bless( [], 'WackyPackage' );

my @cases = (
    [ 0         => FAIL ],
    [ 'foo'     => FAIL ],
    [ undef     => FAIL ],
    [ {}        => FAIL ],
    [ []        => FAIL ],
    [ {foo=>1}  => PASS ],
    [ [1,2,3]   => PASS ],
);

for my $case ( @cases ) {
    my ($val,$expected_status) = @$case;

    eval { assert_nonempty( $val ) };
    $val = "undef" if !defined($val);
    my $desc = "Checking \"$val\"";

    if ( $expected_status eq FAIL ) {
        like( $@, qr/Assertion.+failed/, $desc );
    } else {
        is( $@, "", $desc );
    }
}