Bug 13579: (regression tests) Encoding issues on about > timeline get tested

This patch introduces two tests for encoding issues on about > timeline

To test:
- Apply the patch and run
  $ KOHA_USER=kohaadmin KOHA_PASS=katikoan KOHA_INTRANET_URL=http://koha-dev.biblioadmin prove t/db_dependent/www/history.t
  (adjust to your own settings, the user needs to have access to the about page)

Regards

Signed-off-by: Manuel Cohen Arazi <manuelcohenarazi@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Tomás Cohen Arazi 2015-01-14 11:45:34 -03:00
parent f831176787
commit 29ebdc3ad5

View file

@ -0,0 +1,67 @@
#!/usr/bin/perl
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use utf8;
use XML::Simple;
use Encode;
use Test::More tests => 2;
use Test::WWW::Mechanize;
my $koha_conf = $ENV{KOHA_CONF};
my $xml = XMLin($koha_conf);
eval{
use C4::Context;
};
if ($@) {
plan skip_all => "Tests skip. You must have a working Context\n";
}
my $user = $ENV{KOHA_USER} || $xml->{config}->{user};
my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass};
my $intranet = $ENV{KOHA_INTRANET_URL};
if (not defined $intranet) {
plan skip_all => "Tests skip. You must set env. variable KOHA_INTRANET_URL to do tests\n";
}
$intranet =~ s#/$##;
my $agent = Test::WWW::Mechanize->new( autocheck => 1 );
# Login
$agent->get( "$intranet/cgi-bin/koha/mainpage.pl", 'Load the intranet login page' );
$agent->form_name('loginform');
$agent->field( 'password', $password );
$agent->field( 'userid', $user );
$agent->field( 'branch', '' );
$agent->click( '', 'Login to the intranet' );
$agent->get( "$intranet/cgi-bin/koha/about.pl", 'Load the about page' );
# Test about > timeline is correctly encoded
my $encoded_latin_name = Encode::encode('UTF-8', 'Frédéric Demians');
my $encoded_cyrillic_name = Encode::encode('UTF-8', 'Сергій Дубик');
my $history_page = Encode::encode('UTF-8', $agent->text());
ok( $history_page =~ m/$encoded_latin_name/, "Latin characters with umlauts show correctly on the history page." );
ok( $history_page =~ m/$encoded_cyrillic_name/, "Cyrillic characters with umlauts show correctly on the history page." );
1;