1#!perl -T 2 3use warnings; 4use strict; 5 6use Test::More tests => 10; 7 8use Carp::Assert::More; 9 10my %foo = ( 11 name => 'Andy Lester', 12 phone => '578-3338', 13 wango => undef, 14); 15 16 17eval { 18 assert_exists( \%foo, 'name' ); 19}; 20is( $@, '' ); 21 22 23eval { 24 assert_exists( \%foo, 'wango' ); 25}; 26is( $@, '' ); 27 28 29eval { 30 assert_exists( \%foo, 'Nonexistent' ); 31}; 32like( $@, qr/Assert.+failed/ ); 33 34# Fails if list of keys to check is undef. 35eval { 36 assert_exists( \%foo, undef ); 37}; 38like( $@, qr/Assert.+failed/ ); 39 40# Fails if list of keys to check is not an array. 41eval { 42 assert_exists( \%foo, {} ); 43}; 44like( $@, qr/Assert.+failed/ ); 45 46# Fails with empty list of keys to check. 47eval { 48 assert_exists( \%foo, [] ); 49}; 50like( $@, qr/Assert.+failed/ ); 51 52eval { 53 assert_exists( \%foo, [qw( name )] ); 54}; 55is( $@, '' ); 56 57eval { 58 assert_exists( \%foo, [qw( name social-security-number )] ); 59}; 60like( $@, qr/Assertion.+failed/ ); 61 62eval { 63 assert_exists( \%foo, [qw( name phone )] ); 64}; 65is( $@, '' ); 66 67 68eval { 69 assert_exists( \%foo, ['name','Nonexistent'] ); 70}; 71like( $@, qr/Assert.+failed/ ); 72