|
Lines 49-62
my @tables = qw( biblio biblioitems borrowers items statistics subscription );
Link Here
|
| 49 |
cmp_deeply( \@keys, \@tables, 'GetColumnDefs returns the expected tables'); |
49 |
cmp_deeply( \@keys, \@tables, 'GetColumnDefs returns the expected tables'); |
| 50 |
|
50 |
|
| 51 |
subtest 'Testing themelanguage for unique themes (BZ 17982)' => sub { |
51 |
subtest 'Testing themelanguage for unique themes (BZ 17982)' => sub { |
| 52 |
plan tests => 1; |
52 |
plan tests => 12; |
| 53 |
|
53 |
my $testing_language; |
| 54 |
t::lib::Mocks::mock_preference('template', 'prog'); |
|
|
| 55 |
my $module_language = Test::MockModule->new('C4::Languages'); |
54 |
my $module_language = Test::MockModule->new('C4::Languages'); |
| 56 |
$module_language->mock( 'getlanguage', sub { return 'en'; } ); |
|
|
| 57 |
|
55 |
|
| 58 |
# This only triggers the first uniq but that is sufficient for now |
56 |
$module_language->mock( |
| 59 |
cmp_deeply( ( C4::Templates::themelanguage( C4::Context->config('intrahtdocs'), 'about.tt' , 'intranet', 'fake_cgi' ) )[2], [ 'prog' ], 'We only expect one prog here' ); |
57 |
'getlanguage', |
|
|
58 |
sub { |
| 59 |
return $testing_language; |
| 60 |
} |
| 61 |
); |
| 62 |
|
| 63 |
my $cgi = CGI->new(); |
| 64 |
my $htdocs = C4::Context->config('intrahtdocs'); |
| 65 |
my $section = 'intranet'; |
| 66 |
|
| 67 |
# trigger first case. |
| 68 |
$testing_language = 'en'; |
| 69 |
my ($theme, $lang, $availablethemes) = C4::Templates::themelanguage( $htdocs, 'about.tt', $section, $cgi); |
| 70 |
is($theme,'prog',"Expected theme: set en - $theme"); |
| 71 |
is($lang,'en','Expected language: set en'); |
| 72 |
cmp_deeply( $availablethemes, [ 'prog' ], 'We only expect one prog: set en' ); |
| 73 |
|
| 74 |
# trigger second case. |
| 75 |
$testing_language = q{}; |
| 76 |
($theme, $lang, $availablethemes) = C4::Templates::themelanguage($htdocs, 'about.tt', $section, $cgi); |
| 77 |
is($theme,'prog',"Expected theme: default en - $theme"); |
| 78 |
is($lang,'en','Expected language: default en'); |
| 79 |
cmp_deeply( $availablethemes, [ 'prog' ], 'We only expect one prog: default en' ); |
| 80 |
|
| 81 |
# trigger third case. |
| 82 |
my $template = $htdocs . '/prog/en/modules/about.tt'; |
| 83 |
($theme, $lang, $availablethemes) = C4::Templates::themelanguage($htdocs, $template, $section, $cgi); |
| 84 |
is($theme,'prog',"Expected defined theme: unset - $theme"); |
| 85 |
is($lang,q{},'Expected language: unset'); |
| 86 |
cmp_deeply( $availablethemes, [ 'prog' ], 'We only expect one prog: unset' ); |
| 87 |
|
| 88 |
# trigger bad case. |
| 89 |
$template = $htdocs . '/prog/en/kaboom/about.tt'; |
| 90 |
($theme, $lang, $availablethemes) = C4::Templates::themelanguage($htdocs, $template, $section, $cgi); |
| 91 |
is($lang,undef,'Expected language: not coded for'); |
| 92 |
is( $availablethemes, undef, 'We only expect no prog: not coded for' ); |
| 93 |
is($theme,undef,"Expected no theme: not coded for"); |
| 94 |
|
| 95 |
return; |
| 60 |
}; |
96 |
}; |
| 61 |
|
97 |
|
| 62 |
1; |
98 |
1; |
| 63 |
- |
|
|