View | Details | Raw Unified | Return to bug 39876
Collapse All | Expand All

(-)a/Koha/Devel/Files.pm (-4 / +49 lines)
Lines 29-41 The module defines a set of exceptions for different file types and contexts. Th Link Here
29
=cut
29
=cut
30
30
31
my $exceptions = {
31
my $exceptions = {
32
    pl => { tidy => [qw(Koha/Schema/Result Koha/Schema.pm)] },
32
    pl => {
33
        tidy => [
34
            qw(
35
                Koha/Schema/Result
36
                Koha/Schema.pm
37
            )
38
        ],
39
        valid => [
40
            qw(
41
                Koha/Account/Credit.pm
42
                Koha/Account/Debit.pm
43
                Koha/Old/Hold.pm
44
                misc/translator/TmplTokenizer.pm
45
            )
46
        ],
47
        codespell => [
48
            qw(
49
                installer/data/mysql/updatedatabase.pl
50
                installer/data/mysql/update22to30.pl
51
                installer/data/mysql/db_revs/241200035.pl
52
                misc/cronjobs/build_browser_and_cloud.pl
53
            )
54
        ],
55
    },
33
    js => {
56
    js => {
34
        tidy => [
57
        tidy => [
35
            qw(koha-tmpl/intranet-tmpl/lib koha-tmpl/intranet-tmpl/js/Gettext.js koha-tmpl/opac-tmpl/lib Koha/ILL/Backend/)
58
            qw(
36
        ]
59
                koha-tmpl/intranet-tmpl/lib
60
                koha-tmpl/intranet-tmpl/js/Gettext.js
61
                koha-tmpl/opac-tmpl/lib
62
                Koha/ILL/Backend/
63
            )
64
        ],
65
        codespell => [],
66
    },
67
    tt => {
68
        tidy => [
69
            qw(
70
                Koha/ILL/Backend/
71
                *doc-head-open.inc
72
                misc/cronjobs/rss
73
            )
74
        ],
75
        codespell => [
76
            qw(
77
                koha-tmpl/intranet-tmpl/lib
78
                koha-tmpl/intranet-tmpl/js/Gettext.js
79
                koha-tmpl/opac-tmpl/lib
80
                koha-tmpl/opac-tmpl/bootstrap/js/Gettext.js
81
            )
82
        ],
37
    },
83
    },
38
    tt => { tidy => [qw(Koha/ILL/Backend/ *doc-head-open.inc misc/cronjobs/rss)] },
39
};
84
};
40
85
41
=head1 METHODS
86
=head1 METHODS
(-)a/xt/author/codespell.t (-7 / +6 lines)
Lines 3-26 use Modern::Perl; Link Here
3
use Test::PerlTidy;
3
use Test::PerlTidy;
4
use Test::More;
4
use Test::More;
5
5
6
use Koha::Devel::Files;
7
6
my $codespell_version = qx{codespell --version};
8
my $codespell_version = qx{codespell --version};
7
chomp $codespell_version;
9
chomp $codespell_version;
8
$codespell_version =~ s/-.*$//;
10
$codespell_version =~ s/-.*$//;
9
if ( ( $codespell_version =~ s/\.//gr ) < 220 ) {    # if codespell < 2.2.0
11
if ( ( $codespell_version =~ s/\.//gr ) < 220 ) {    # if codespell < 2.2.0
10
    plan skip_all => "codespell version $codespell_version too low, need at least 2.2.0";
12
    plan skip_all => "codespell version $codespell_version too low, need at least 2.2.0";
11
}
13
}
14
my $dev_files = Koha::Devel::Files->new( { context => 'codespell' } );
12
my @files;
15
my @files;
13
push @files,
16
push @files, $dev_files->ls_perl_files;
14
    qx{git ls-files '*.pl' '*.PL' '*.pm' '*.t' ':(exclude)installer/data/mysql/updatedatabase.pl' ':(exclude)installer/data/mysql/update22to30.pl' ':(exclude)installer/data/mysql/db_revs/241200035.pl' ':(exclude)misc/cronjobs/build_browser_and_cloud.pl'};
17
push @files, $dev_files->ls_tt_files;
15
push @files, qx{git ls-files svc opac/svc};          # Files without extension
18
push @files, $dev_files->ls_js_files;
16
push @files, qx{git ls-files '*.tt' '*.inc'};
17
push @files,
18
    qx{git ls-files '*.js' '*.ts' '*.vue' ':(exclude)koha-tmpl/intranet-tmpl/lib' ':(exclude)koha-tmpl/intranet-tmpl/js/Gettext.js' ':(exclude)koha-tmpl/opac-tmpl/lib' ':(exclude)koha-tmpl/opac-tmpl/bootstrap/js/Gettext.js'};
19
19
20
plan tests => scalar @files;
20
plan tests => scalar @files;
21
21
22
for my $file (@files) {
22
for my $file (@files) {
23
    chomp $file;
24
    my $output = qx{codespell -d --ignore-words .codespell-ignore $file};
23
    my $output = qx{codespell -d --ignore-words .codespell-ignore $file};
25
    chomp $output;
24
    chomp $output;
26
    is( $output, q{} );
25
    is( $output, q{} );
(-)a/xt/author/pod_checker.t (-4 / +3 lines)
Lines 4-14 use Modern::Perl; Link Here
4
use Test::More;
4
use Test::More;
5
use Test::NoWarnings;
5
use Test::NoWarnings;
6
use Pod::Checker;
6
use Pod::Checker;
7
use Koha::Devel::Files;
7
8
8
my @files;
9
my $dev_files = Koha::Devel::Files->new;
9
push @files, qx{git ls-files '*.pl' '*.PL' '*.pm' '*.t'};
10
my @files     = $dev_files->ls_perl_files;
10
push @files, qx{git ls-files svc opac/svc};                 # Files without extension
11
chomp for @files;
12
11
13
plan tests => scalar @files + 1;
12
plan tests => scalar @files + 1;
14
13
(-)a/xt/author/podcorrectness.t (-4 / +4 lines)
Lines 15-23 use Modern::Perl; Link Here
15
use Test::More;
15
use Test::More;
16
use Test::Pod;
16
use Test::Pod;
17
17
18
my @files;
18
use Koha::Devel::Files;
19
push @files, qx{git ls-files '*.pl' '*.PL' '*.pm' '*.t'};
19
20
push @files, qx{git ls-files svc opac/svc};                 # Files without extension
20
my $dev_files = Koha::Devel::Files->new;
21
chomp for @files;
21
my @files     = $dev_files->ls_perl_files;
22
22
23
all_pod_files_ok(@files);
23
all_pod_files_ok(@files);
(-)a/xt/find-missing-csrf.t (-8 / +3 lines)
Lines 22-41 use Test::More tests => 2; Link Here
22
use File::Slurp;
22
use File::Slurp;
23
use Data::Dumper;
23
use Data::Dumper;
24
24
25
my @files;
25
use Koha::Devel::Files;
26
26
27
# OPAC
27
my $dev_files = Koha::Devel::Files->new;
28
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.tt'`;
28
my @files     = $dev_files->ls_tt_files;
29
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.inc'`;
30
29
31
# Staff
32
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.tt'`;
33
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.inc'`;
34
ok( @files > 0, 'We should test something' );
30
ok( @files > 0, 'We should test something' );
35
31
36
my @errors;
32
my @errors;
37
for my $file (@files) {
33
for my $file (@files) {
38
    chomp $file;
39
    my @e = check_csrf_in_forms($file);
34
    my @e = check_csrf_in_forms($file);
40
    push @errors, sprintf "%s:%s", $file, join( ",", @e ) if @e;
35
    push @errors, sprintf "%s:%s", $file, join( ",", @e ) if @e;
41
}
36
}
(-)a/xt/find-missing-filters.t (-9 / +3 lines)
Lines 20-40 use Test::More tests => 2; Link Here
20
use File::Slurp qw( read_file );
20
use File::Slurp qw( read_file );
21
use Data::Dumper;
21
use Data::Dumper;
22
use t::lib::QA::TemplateFilters;
22
use t::lib::QA::TemplateFilters;
23
use Koha::Devel::Files;
23
24
24
my @files;
25
my $dev_files = Koha::Devel::Files->new;
26
my @files     = $dev_files->ls_tt_files;
25
27
26
# OPAC
27
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.tt'`;
28
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.inc'`;
29
30
# Staff
31
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.tt'`;
32
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.inc'`;
33
ok( @files > 0, 'We should test something' );
28
ok( @files > 0, 'We should test something' );
34
29
35
my @errors;
30
my @errors;
36
for my $file (@files) {
31
for my $file (@files) {
37
    chomp $file;
38
    my $content = read_file($file);
32
    my $content = read_file($file);
39
    my @e       = t::lib::QA::TemplateFilters::missing_filters($content);
33
    my @e       = t::lib::QA::TemplateFilters::missing_filters($content);
40
    push @errors, { file => $file, errors => \@e } if @e;
34
    push @errors, { file => $file, errors => \@e } if @e;
(-)a/xt/find-missing-op-in-forms.t (-9 / +3 lines)
Lines 22-41 use Test::More tests => 2; Link Here
22
use File::Slurp;
22
use File::Slurp;
23
use Data::Dumper;
23
use Data::Dumper;
24
24
25
my @files;
25
use Koha::Devel::Files;
26
26
27
# OPAC
27
my $dev_files = Koha::Devel::Files->new;
28
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.tt'`;
28
my @files     = $dev_files->ls_perl_files;
29
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.inc'`;
30
31
# Staff
32
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.tt'`;
33
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.inc'`;
34
ok( @files > 0, 'We should test something' );
29
ok( @files > 0, 'We should test something' );
35
30
36
my @errors;
31
my @errors;
37
for my $file (@files) {
32
for my $file (@files) {
38
    chomp $file;
39
    my @e = catch_missing_op($file);
33
    my @e = catch_missing_op($file);
40
    push @errors, sprintf "%s:%s", $file, join( ",", @e ) if @e;
34
    push @errors, sprintf "%s:%s", $file, join( ",", @e ) if @e;
41
}
35
}
(-)a/xt/perltidy.t (-4 / +4 lines)
Lines 3-15 use Modern::Perl; Link Here
3
use Test::PerlTidy;
3
use Test::PerlTidy;
4
use Test::More;
4
use Test::More;
5
5
6
my @files;
6
use Koha::Devel::Files;
7
push @files, qx{git ls-files '*.pl' '*.PL' '*.pm' '*.t' ':(exclude)Koha/Schema/Result' ':(exclude)Koha/Schema.pm'};
7
8
push @files, qx{git ls-files svc opac/svc};    # Files without extension
8
my $dev_files = Koha::Devel::Files->new;
9
my @files     = $dev_files->ls_perl_files( { context => 'tidy' } );
9
10
10
plan tests => scalar @files;
11
plan tests => scalar @files;
11
12
12
for my $file (@files) {
13
for my $file (@files) {
13
    chomp $file;
14
    ok( Test::PerlTidy::is_file_tidy($file) );
14
    ok( Test::PerlTidy::is_file_tidy($file) );
15
}
15
}
(-)a/xt/pl_valid.t (-10 / +3 lines)
Lines 24-40 use Pod::Checker; Link Here
24
use Parallel::ForkManager;
24
use Parallel::ForkManager;
25
use Sys::CPU;
25
use Sys::CPU;
26
26
27
my @files;
27
use Koha::Devel::Files;
28
push @files, qx{git ls-files '*.pl' '*.PL' '*.pm' '*.t'};
29
push @files, qx{git ls-files svc opac/svc};                 # Files without extension
30
chomp for @files;
31
28
32
my @exceptions = qw(
29
my $dev_files = Koha::Devel::Files->new;
33
    Koha/Account/Credit.pm
30
my @files     = $dev_files->ls_perl_files;
34
    Koha/Account/Debit.pm
35
    Koha/Old/Hold.pm
36
    misc/translator/TmplTokenizer.pm
37
);
38
31
39
my $ncpu;
32
my $ncpu;
40
if ( $ENV{KOHA_PROVE_CPUS} ) {
33
if ( $ENV{KOHA_PROVE_CPUS} ) {
(-)a/xt/single_quotes.t (-8 / +3 lines)
Lines 21-40 use Modern::Perl; Link Here
21
use Test::More tests => 2;
21
use Test::More tests => 2;
22
use File::Slurp qw( read_file );
22
use File::Slurp qw( read_file );
23
23
24
my @files;
24
use Koha::Devel::Files;
25
25
26
# OPAC
26
my $dev_files = Koha::Devel::Files->new;
27
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.tt'`;
27
my @files     = $dev_files->ls_tt_files;
28
push @files, `git ls-files 'koha-tmpl/opac-tmpl/bootstrap/en/*.inc'`;
29
28
30
# Staff
31
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.tt'`;
32
push @files, `git ls-files 'koha-tmpl/intranet-tmpl/prog/en/*.inc'`;
33
ok( @files > 0, 'We should test something' );
29
ok( @files > 0, 'We should test something' );
34
30
35
my @errors;
31
my @errors;
36
for my $file (@files) {
32
for my $file (@files) {
37
    chomp $file;
38
    my @lines = sort grep /\_\(\'/, read_file($file);
33
    my @lines = sort grep /\_\(\'/, read_file($file);
39
    push @errors, { name => $file, lines => \@lines } if @lines;
34
    push @errors, { name => $file, lines => \@lines } if @lines;
40
}
35
}
(-)a/xt/tt_tidy.t (-3 / +4 lines)
Lines 23-29 use Test::Strict; Link Here
23
use Parallel::ForkManager;
23
use Parallel::ForkManager;
24
use Sys::CPU;
24
use Sys::CPU;
25
25
26
my @tt_files = qx{git ls-files '*.tt' '*.inc'};
26
use Koha::Devel::Files;
27
28
my $dev_files = Koha::Devel::Files->new( { context => 'tidy' } );
29
my @tt_files  = $dev_files->ls_perl_files;
27
30
28
$Test::Strict::TEST_STRICT = 0;
31
$Test::Strict::TEST_STRICT = 0;
29
32
Lines 39-45 my $pm = Parallel::ForkManager->new($ncpu); Link Here
39
foreach my $filepath (@tt_files) {
42
foreach my $filepath (@tt_files) {
40
    $pm->start and next;
43
    $pm->start and next;
41
44
42
    chomp $filepath;
43
    my $tidy    = qx{perl misc/devel/tidy.pl --silent --no-write $filepath};
45
    my $tidy    = qx{perl misc/devel/tidy.pl --silent --no-write $filepath};
44
    my $content = read_file $filepath;
46
    my $content = read_file $filepath;
45
    ok( $content eq $tidy, "$filepath should be kept tidy" );
47
    ok( $content eq $tidy, "$filepath should be kept tidy" );
46
- 

Return to bug 39876