From b5462a72aea93745d2ba53645775a58136fff66b Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 11 May 2022 11:27:41 +0100 Subject: [PATCH] Bug 27619: (QA follow-up) Remove xt/sample_notices.t Now that we've remove the last of the translated .sql files, we can just drop this test entirely.. translation is now handled on pootle for all languages. Woopie! :) Signed-off-by: Martin Renvoize --- xt/sample_notices.t | 130 -------------------------------------------- 1 file changed, 130 deletions(-) delete mode 100755 xt/sample_notices.t diff --git a/xt/sample_notices.t b/xt/sample_notices.t deleted file mode 100755 index 88662c0447..0000000000 --- a/xt/sample_notices.t +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/perl - -# Copyright (C) 2014 Tamil s.a.r.l. -# -# 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 Test::More qw(no_plan); - - -my $root_dir = 'installer/data/mysql'; -my $base_notices_file = "en/mandatory/sample_notices.yml"; -my @trans_notices_files = qw( - fr-FR/1-Obligatoire/sample_notices.sql -); - -ok( - open( my $ref_fh, "<", "$root_dir/$base_notices_file" ), - "Open reference sample notices file $root_dir/$base_notices_file" ); -my $ref_notice = get_notices_from_yml_file( $ref_fh ); -my @ref_notices = sort { lc $a cmp lc $b } keys %$ref_notice; -cmp_ok( - $#ref_notices, '>=', 0, - "Found " . ($#ref_notices + 1) . " sample notices" ); - -foreach my $file_name ( @trans_notices_files ) { - compare_notices( $file_name ); -} - - -# -# Get sample notices from SQL file populating letters table with INSERT -# statement. -# -sub get_notices_from_sql_file { - my $fh = shift; - my %notice; - while ( <$fh> ) { - next unless /, *'([\_A-Z_]*)'/; - $notice{$1} = 1; - } - return \%notice; -} -sub get_notices_from_yml_file { - my $fh = shift; - my %notice; - while ( <$fh> ) { - next unless /^\s+code:\s([\_A-Z_]*)$/; - $notice{$1} = 1; - } - return \%notice; -} - - - -sub compare_notices { - my $trans_file = shift; - ok( - open( my $trans_fh,"<", "$root_dir/$trans_file" ), - "Open translated sample notices file $root_dir/$trans_file" ); - my $trans_notice = get_notices_from_sql_file( $trans_fh ); - my @trans_notices = sort { lc $a cmp lc $b } keys %$trans_notice; - cmp_ok( - $#trans_notices, '>=', 0, - "Found " . ($#trans_notices + 1) . " notices" ); - my @to_add_notices; - foreach ( @ref_notices ) { - push @to_add_notices, $_ if ! $trans_notice->{$_}; - } - if ( $#to_add_notices >= 0 ) { - fail( 'No sample notice to add') or diag( "Sample notices to add in $trans_file: " . join(', ', @to_add_notices ) ); - } - else { - pass( 'No sample notice to add' ); - } - - my @to_delete_notices; - foreach ( @trans_notices ) { - push @to_delete_notices, $_ if ! $ref_notice->{$_}; - } - if ( $#to_delete_notices >= 0 ) { - fail( 'No sample notice to delete' ); - diag( "Sample notices to delete in $trans_file: " . join(', ', @to_delete_notices ) ); - diag( 'Warning: Some of those sample notices may rather have to be added to English notice' ); - } - else { - pass( 'No sample notices to delete' ); - } -} - - -=head1 NAME - -sample_notices.t - -=head1 DESCRIPTION - -This test identifies incoherences between translated sample notices and the -'en' reference file. - -Koha sample notices are loaded to 'letter' table from a text SQL file -during Koha installation by web installer. The reference file is the one -provided for English (en) installation : - - /installer/data/mysql/en/mandatory/sample_notices.sql - -Alternatives files are provided for other languages. Those files are difficult -to keep synchronized with reference file. This could be an functional issue -since some Koha operation depend on notice existence, for example Print Slip in -Circulation. - -=head1 USAGE - - prove -v sample_notices.t - prove sample_notices.t - -=cut -- 2.20.1