# This Koha test module is a stub!
# Add more tests here!!!
-use strict;
-use warnings;
+use Modern::Perl;
-use Test::More tests => 16;
+use Test::More tests => 17;
use List::Util qw(first);
use Data::Dumper;
use Test::Warn;
+use t::lib::Mocks;
+use Koha::Database;
BEGIN {
use_ok('C4::Languages');
}
+my $schema = Koha::Database->new->schema;
+$schema->storage->txn_begin;
my $dbh = C4::Context->dbh;
-$dbh->{AutoCommit} = 0;
-$dbh->{RaiseError} = 1;
isnt(C4::Languages::_get_themes(), undef, 'testing _get_themes doesnt return undef');
ok(C4::Languages::_get_language_dirs(), 'test getting _get_language_dirs');
-is(C4::Languages::accept_language(),undef, 'test that accept_languages returns undef when nothing is entered');
+my $result;
+warning_is { $result = C4::Languages::accept_language(); }
+ q{accept_language(x,y) called with no clientPreferences (x).},
+ 'accept_language() generated expected warning';
+is($result,undef, 'test that accept_languages returns undef when nothing is entered');
ok(C4::Languages::getAllLanguages(), 'test get all languages');
-C4::Context->set_preference('AdvancedSearchLanguages', '');
+t::lib::Mocks::mock_preference('AdvancedSearchLanguages', '');
my $all_languages = C4::Languages::getAllLanguages('eng');
ok(@$all_languages > 10, 'retrieved a bunch of languges');
$languages = C4::Languages::getLanguages('eng', 1);
is_deeply($languages, $all_languages, 'getLanguages() and getAllLanguages() with filtering selected but AdvancedSearchLanguages blank return the same list');
-C4::Context->set_preference('AdvancedSearchLanguages', 'ita|eng');
+t::lib::Mocks::mock_preference('AdvancedSearchLanguages', 'ita|eng');
$languages = C4::Languages::getLanguages('eng', 1);
is(scalar(@$languages), 2, 'getLanguages() filtering using AdvancedSearchLanguages works');
my $LangRfc4646 = $sth->fetchall_arrayref({});
is(scalar(@$LangRfc4646),scalar(@$DistinctLangRfc4646),"No unexpected language_rfc4646_to_iso639 duplicates.");
-
-$dbh->rollback;