Acme-EyeDrops
view release on metacpan or search on metacpan
FLAMING_OSTRICHES
build_file($tmpeyp6, <<'FLAMING_OSTRICHES');
# Test no keywords
FLAMING_OSTRICHES
my @catdog = Acme::EyeDrops::_find_eye_shapes('.', 'cat', 'dog');
@catdog == 0 or print "not ";
++$itest; print "ok $itest - _find_eye_shapes, no cats or dogs\n";
test_one__find_eye_shapes(
'OR',
[ 'pink OR big' ],
[ 'tmpeye',
'tmpeye4' ]
);
test_one__find_eye_shapes(
'AND OR',
[ 'dog', 'apple OR orange' ],
[ 'tmpeye2',
'tmpeye3' ]
);
# Test some _get_eye_keywords...
{
my $h = Acme::EyeDrops::_get_eye_keywords('.');
# for my $k (sort keys %{$h}) { print "k='$k' v='@{$h->{$k}}'\n" }
ref($h) eq 'HASH' or print "not ";
++$itest; print "ok $itest - get_eye_keywords, hash ref\n";
my @skey = sort keys %{$h};
@skey == 6 or print "not ";
++$itest; print "ok $itest - get_eye_keywords, number\n";
for my $k ('apple',
'big',
'cat',
'dog',
'orange',
'pink') {
shift(@skey) eq $k or print "not ";
++$itest; print "ok $itest - get_eye_keywords, '$k'\n";
}
}
unlink($tmpeye, $tmpeyp, $tmpeye2, $tmpeyp2, $tmpeye3, $tmpeyp3,
$tmpeye4, $tmpeyp4, $tmpeye5, $tmpeyp5, $tmpeye6, $tmpeyp6,
$tmpeye7);
}
{
# XXX: need to update test when update shape properties.
my $h = get_eye_keywords();
# for my $k (sort keys %{$h}) { print "k='$k' v='@{$h->{$k}}'\n" }
ref($h) eq 'HASH' or print "not ";
++$itest; print "ok $itest - get_eye_keywords, hash ref\n";
my @skey = sort keys %{$h};
@skey == 15 or print "not ";
++$itest; print "ok $itest - get_eye_keywords, number\n";
for my $k ('animal',
'debian',
'face',
'flag',
'hbanner',
'logo',
'map',
'object',
'opera',
'perlhacker',
'person',
'planet',
'sport',
'underwear',
'vbanner') {
shift(@skey) eq $k or print "not ";
++$itest; print "ok $itest - get_eye_keywords, '$k'\n";
}
}
# -----------------------------------------------------------------------
# Old tests -- function set_eye_dir() has been removed.
# my $mypwd = Cwd::cwd();
# my $mytesteyedir = "$mypwd/eyedir.tmp";
# my $mytesteyefile = "$mytesteyedir/tmp.eye";
# -d $mytesteyedir or (mkdir($mytesteyedir, 0777) or die "error: mkdir '$mytesteyedir': $!");
# build_file($mytesteyefile, $mytestshapestr);
# set_eye_dir($mytesteyedir);
# get_eye_dir() eq $mytesteyedir or print "not ";
# ++$itest; print "ok $itest - set_eye_dir sane\n";
# my @eyes = get_eye_shapes();
# @eyes==1 or print "not ";
# ++$itest; print "ok $itest - set_eye_dir number\n";
# $eyes[0] eq 'tmp' or print "not ";
# ++$itest; print "ok $itest - set_eye_dir filename\n";
# test_one_shape('tmp', get_eye_string('tmp'));
# This is just a simple example of testing die inside EyeDrops.pm.
# eval { set_eye_dir($mytesteyefile) };
# $@ or print "not ";
# ++$itest; print "ok $itest - set_eye_dir eval die\n";
# $@ eq "error set_eye_dir '" . $mytesteyefile . "': no such directory\n"
# or print "not ";
# ++$itest; print "ok $itest - set_eye_dir eval die string\n";
# -----------------------------------------------------------------------
# unlink($mytesteyefile) or die "error: unlink '$mytesteyefile': $!";
# rmdir($mytesteyedir) or die "error: rmdir '$mytesteyedir': $!";
# --------------------------------------------------
unlink($tmpf) or die "error: unlink '$tmpf': $!";
# ----------------------------------------------------------------
# Test for file that does not exist.
eval { Acme::EyeDrops::_get_properties($tmpf) };
$@ =~ /'\Q$tmpf\E':/ or print "not ";
++$itest; print "ok $itest - _get_properties, file not found\n";
eval { Acme::EyeDrops::_get_eye_shapes($tmpf) };
$@ =~ /'\Q$tmpf\E':/ or print "not ";
++$itest; print "ok $itest - _get_eye_shapes, dir not found\n";
( run in 1.817 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )