ACME-QuoteDB
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
t/02-get_quotes.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use ACME::QuoteDB;
use ACME::QuoteDB::LoadDB;
#use Test::More 'no_plan';
use Test::More tests => 33;
use File::Basename qw/dirname/;
use Data::Dumper qw/Dumper/;
use Carp qw/croak/;
use File::Spec;
BEGIN {
eval "use DBD::SQLite";
$@ and croak 'DBD::SQLite is a required dependancy';
}
#make test db writeable
sub make_test_db_rw {
use ACME::QuoteDB::DB::DBI;
# yeah, this is supposed to be covered by the build process
# but is failing sometimes,...
chmod 0666, ACME::QuoteDB::DB::DBI->get_current_db_path;
}
{
make_test_db_rw;
my $q = File::Spec->catfile((dirname(__FILE__),'data'), 'simpsons_quotes.csv');
my $load_db = ACME::QuoteDB::LoadDB->new({
file => $q,
file_format => 'csv',
create_db => 1, # first run, create the db
});
isa_ok $load_db, 'ACME::QuoteDB::LoadDB';
$load_db->data_to_db;
is $load_db->success, 1;
}
my $sq = ACME::QuoteDB->new;
# some 'the simpsons' characters
my @expected_attr_name_list = (
'Apu Nahasapemapetilon',
'Chief Wiggum',
'Comic Book Guy',
'Grandpa Simpson',
'Ralph Wiggum',
);
is( $sq->list_attr_names, join "\n", sort @expected_attr_name_list);
#warn $sq->get_quote, "\n";
ok $sq->get_quote; # default get random quote
ok $sq->get_quote =~ m{\w+};
{
my $res = $sq->get_quote({AttrName => 'apu'});
if ($res =~ m/apu/xmsgi) {
pass 'ok';
}
else {
fail 'a supposed apu quote, should contain "Apu" within,...';
}
}
{
my $res = $sq->get_quote({AttrName => 'chief wiggum'});
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.562 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )