b168f4a2e9
This patch adds a .perlcriticrc (copied from qa-test-tools) and fixes almost all perlcrictic violations according to this .perlcriticrc The remaining violations are silenced out by appending a '## no critic' to the offending lines. They can still be seen by using the --force option of perlcritic This patch also modify t/00-testcritic.t to check all Perl files using the new .perlcriticrc. I'm not sure if this test script is still useful as it is now equivalent to `perlcritic --quiet .` and it looks like it is much slower (approximatively 5 times slower on my machine) Test plan: 1. Run `perlcritic --quiet .` from the root directory. It should output nothing 2. Run `perlcritic --quiet --force .`. It should output 7 errors (6 StringyEval, 1 BarewordFileHandles) 3. Run `TEST_QA=1 prove t/00-testcritic.t` 4. Read the patch. Check that all changes make sense and do not introduce undesired behaviour Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
46 lines
1.7 KiB
Perl
Executable file
46 lines
1.7 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use File::Spec;
|
|
|
|
use Test::More;
|
|
|
|
BEGIN {
|
|
use_ok('Koha::SuggestionEngine');
|
|
}
|
|
|
|
my $plugindir = File::Spec->rel2abs('Koha/SuggestionEngine/Plugin');
|
|
|
|
opendir(my $dh, $plugindir);
|
|
my @installed_plugins = map { my $p = $_; ( $p =~ /\.pm$/ && -f "$plugindir/$p" && $p =~ s/\.pm$// ) ? "Koha::SuggestionEngine::Plugin::$p" : () } readdir($dh);
|
|
my @available_plugins = Koha::SuggestionEngine::AvailablePlugins();
|
|
|
|
foreach my $plugin (@installed_plugins) {
|
|
ok(grep($plugin, @available_plugins), "Found plugin $plugin");
|
|
}
|
|
|
|
my $suggestor = Koha::SuggestionEngine->new( { plugins => [ 'ABCD::EFGH::IJKL' ] } );
|
|
|
|
is(ref($suggestor), 'Koha::SuggestionEngine', 'Created suggestion engine with invalid plugin');
|
|
is(scalar @{ $suggestor->get_suggestions({ 'search' => 'books' }) }, 0 , 'Request suggestions with empty suggestor');
|
|
|
|
$suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Null' ] } );
|
|
is(ref($suggestor->plugins->[0]), 'Koha::SuggestionEngine::Plugin::Null', 'Created record suggestor with implicitly scoped Null filter');
|
|
|
|
$suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Koha::SuggestionEngine::Plugin::Null' ] } );
|
|
is(ref($suggestor->plugins->[0]), 'Koha::SuggestionEngine::Plugin::Null', 'Created record suggestor with explicitly scoped Null filter');
|
|
|
|
my $suggestions = $suggestor->get_suggestions({ 'search' => 'books' });
|
|
|
|
is_deeply($suggestions->[0], { 'search' => 'book', label => 'Book!', relevance => 1 }, "Good suggestion");
|
|
|
|
$suggestions = $suggestor->get_suggestions({ 'search' => 'silliness' });
|
|
|
|
eval {
|
|
$suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Koha::SuggestionEngine::Plugin::Null' ] } );
|
|
undef $suggestor;
|
|
};
|
|
ok(!$@, 'Destroyed suggestor successfully');
|
|
|
|
done_testing();
|