Bug 13579: (regression tests) Encoding issues on about > timeline get tested
authorTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 14 Jan 2015 14:45:34 +0000 (11:45 -0300)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 14 Jan 2015 15:24:22 +0000 (12:24 -0300)
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>
t/db_dependent/www/history.t [new file with mode: 0644]

diff --git a/t/db_dependent/www/history.t b/t/db_dependent/www/history.t
new file mode 100644 (file)
index 0000000..55748c7
--- /dev/null
@@ -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;