Bug 25067: Move PO file manipulation code into gulp tasks
[koha.git] / t / misc / translator / xgettext-pref.t
blob8c699fe108a51c114a66232002e911f35e613e77
1 #!/usr/bin/perl
3 use Modern::Perl;
5 use File::Slurp;
6 use File::Temp qw(tempdir);
7 use FindBin qw($Bin);
8 use Locale::PO;
9 use Test::More tests => 16;
11 my $tempdir = tempdir(CLEANUP => 1);
13 write_file("$tempdir/files", "$Bin/sample.pref");
15 my $xgettext_cmd = "$Bin/../../../misc/translator/xgettext-pref "
16 . "-o $tempdir/Koha.pot -f $tempdir/files";
18 system($xgettext_cmd);
19 my $pot = Locale::PO->load_file_asarray("$tempdir/Koha.pot");
21 my @expected = (
23 msgid => '"sample.pref"',
26 msgid => '"sample.pref Subsection"',
29 msgid => '"sample.pref#MultiplePref# Bar"',
32 msgid => '"sample.pref#MultiplePref# Baz"',
35 msgid => '"sample.pref#MultiplePref# Foo ツ"',
38 msgid => '"sample.pref#SamplePref# Do"',
41 msgid => '"sample.pref#SamplePref# Do not do"',
44 msgid => '"sample.pref#SamplePref# that thing"',
48 for (my $i = 0; $i < @expected; $i++) {
49 for my $key (qw(msgid msgctxt)) {
50 my $expected = $expected[$i]->{$key};
51 my $expected_str = defined $expected ? $expected : 'not defined';
52 is($pot->[$i + 1]->$key, $expected, "$i: $key is $expected_str");