App-CSE
view release on metacpan or search on metacpan
t/04-search.t view on Meta::CPAN
#! perl -T
use Test::More;
use App::CSE;
use File::Temp;
use Path::Class::Dir;
use Log::Log4perl qw/:easy/;
# Log::Log4perl->easy_init($ERROR);
use File::BaseDir qw//;
unless( File::BaseDir::data_files('mime/globs') ){
plan skip_all => 'No mime-info database on the machine. The shared-mime-info package is available from http://freedesktop.org/';
}
my $idx_dir = File::Temp->newdir( CLEANUP => 1 );
my $content_dir = Path::Class::Dir->new('t/toindex');
# {
# ## Indexing the content dir
# local @ARGV = ( 'index' , '--idx='.$idx_dir , $content_dir.'' );
# my $cse = App::CSE->new();
# is( $cse->main() , 0 , "Ok can execute the magic command just fine");
# }
{
## Searching just for bonjour
local @ARGV = ( 'bonjour' );
my $cse = App::CSE->new();
ok( $cse->command()->isa('App::CSE::Command::Search') , "Ok its a search command");
is_deeply( $cse->args() , [ 'bonjour' ] );
}
{
# Explicit search for bonjour
local @ARGV = ( 'search' , 'bonjour' );
my $cse = App::CSE->new();
ok( $cse->command()->isa('App::CSE::Command::Search') , "Ok its a search command");
is_deeply( $cse->args() , [ 'bonjour' ] );
}
{
# Explicit search for bonjour
local @ARGV = ( 'bonjour' , '--idx=blabla' );
my $cse = App::CSE->new();
ok( $cse->command()->isa('App::CSE::Command::Search') , "Ok its a search command");
is( $cse->options()->{idx} , 'blabla' );
is_deeply( $cse->args() , [ 'bonjour' ] );
}
{
## Searching the content dir for bonjour.
local @ARGV = ( '--idx='.$idx_dir, 'bonjour', '--dir='.$content_dir.'');
my $cse = App::CSE->new();
is( $cse->command()->execute(), 0 , "Ok execute has terminated just fine");
ok( $cse->command()->isa('App::CSE::Command::Search') , "Ok got search");
is( $cse->command()->query->to_string() , '(call:bonjour OR content:bonjour OR decl:bonjour OR path:bonjour)' , "Ok got good query");
ok( $cse->command()->hits() , "Ok got hits");
is( $cse->command()->hits()->total_hits() , 2 , "Ok got two hits");
ok( $cse->index_mtime() , "Ok got index mtime");
}
{
## Searching the content dir for exported_method.
local @ARGV = ( '--idx='.$idx_dir, 'call:exported_method', '--dir='.$content_dir.'');
my $cse = App::CSE->new();
is( $cse->command()->execute(), 0 , "Ok execute has terminated just fine");
ok( $cse->command()->isa('App::CSE::Command::Search') , "Ok got search");
is( $cse->command()->query->to_string() , 'call:exported_method');
ok( $cse->command()->hits() , "Ok got hits");
is( $cse->command()->hits()->total_hits() , 1 , "Ok got one hit");
( run in 3.128 seconds using v1.01-cache-2.11-cpan-97f6503c9c8 )