Acme-EyeDrops

 view release on metacpan or  search on metacpan

t/13_to.t  view on Meta::CPAN

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 )