From 29ebdc3ad5baf6e2d1d9a40118175e399ccd2517 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 14 Jan 2015 11:45:34 -0300 Subject: [PATCH] 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 Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/www/history.t | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 t/db_dependent/www/history.t diff --git a/t/db_dependent/www/history.t b/t/db_dependent/www/history.t new file mode 100644 index 0000000000..55748c7a5c --- /dev/null +++ b/t/db_dependent/www/history.t @@ -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 . + +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; -- 2.39.5