From f7e612ae487ce2cf72af1aecf5eb8b1bb45eaeaf Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 9 Oct 2011 10:42:32 -0500 Subject: remove test numbers --- t/001-basic.t | 80 ----------------------------------------- t/002-create.t | 98 --------------------------------------------------- t/003-comments.t | 38 -------------------- t/004-utf8.t | 52 --------------------------- t/basic.t | 80 +++++++++++++++++++++++++++++++++++++++++ t/comments.t | 38 ++++++++++++++++++++ t/create.t | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++ t/data/001/de.po | 15 -------- t/data/001/en.po | 14 -------- t/data/001/hi.po | 11 ------ t/data/001/ru.po | 9 ----- t/data/002/en.po | 14 -------- t/data/003/de.po | 22 ------------ t/data/003/en.po | 27 -------------- t/data/004/en.po | 8 ----- t/data/004/hi.po | 11 ------ t/data/basic/de.po | 15 ++++++++ t/data/basic/en.po | 14 ++++++++ t/data/basic/hi.po | 11 ++++++ t/data/basic/ru.po | 9 +++++ t/data/comments/de.po | 22 ++++++++++++ t/data/comments/en.po | 27 ++++++++++++++ t/data/create/en.po | 14 ++++++++ t/data/utf8/en.po | 8 +++++ t/data/utf8/hi.po | 11 ++++++ t/utf8.t | 52 +++++++++++++++++++++++++++ 26 files changed, 399 insertions(+), 399 deletions(-) delete mode 100644 t/001-basic.t delete mode 100644 t/002-create.t delete mode 100644 t/003-comments.t delete mode 100644 t/004-utf8.t create mode 100644 t/basic.t create mode 100644 t/comments.t create mode 100644 t/create.t delete mode 100644 t/data/001/de.po delete mode 100644 t/data/001/en.po delete mode 100644 t/data/001/hi.po delete mode 100644 t/data/001/ru.po delete mode 100644 t/data/002/en.po delete mode 100644 t/data/003/de.po delete mode 100644 t/data/003/en.po delete mode 100644 t/data/004/en.po delete mode 100644 t/data/004/hi.po create mode 100644 t/data/basic/de.po create mode 100644 t/data/basic/en.po create mode 100644 t/data/basic/hi.po create mode 100644 t/data/basic/ru.po create mode 100644 t/data/comments/de.po create mode 100644 t/data/comments/en.po create mode 100644 t/data/create/en.po create mode 100644 t/data/utf8/en.po create mode 100644 t/data/utf8/hi.po create mode 100644 t/utf8.t diff --git a/t/001-basic.t b/t/001-basic.t deleted file mode 100644 index 6bda558..0000000 --- a/t/001-basic.t +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use Test::More; -use File::Temp; -use File::Copy; -use Path::Class; - -use Locale::POFileManager; - -sub header_is { - my ($got, $expected) = @_; - local $Test::Builder::Level = $Test::Builder::Level + 1; - my @got = split /\n/, $got, -1; - my @expected = split /\n/, $expected, -1; - is_deeply([@got[0..1], sort @got[2..$#got]], - [@expected[0..1], sort @expected[2..$#expected]], - "got the right header"); -} - -{ - my $manager = Locale::POFileManager->new( - base_dir => 't/data/001', - canonical_language => 'en', - ); - - is_deeply({$manager->find_missing}, - {ru => [qw(bar baz)], hi => [qw(bar)], en => [], de => []}, - "got the correct missing messages"); -} - -{ - my $dir = File::Temp->newdir; - my $from_dir = dir('t/data/001'); - for my $file ($from_dir->children) { - copy($file->stringify, $dir->dirname); - } - my $manager = Locale::POFileManager->new( - base_dir => $dir->dirname, - canonical_language => 'en', - ); - $manager->add_stubs; - is_deeply({$manager->find_missing}, - {ru => [], hi => [], en => [], de => []}, - "got the correct missing messages"); - - my $expected_header = <<'HEADER'; -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -HEADER - - my %langs = ( - en => qq{msgid "foo"\nmsgstr "foo"\n\n} - . qq{msgid "bar"\nmsgstr "bar"\n\n} - . qq{msgid "baz"\nmsgstr "baz"\n}, - ru => qq{msgid "foo"\nmsgstr "foo"\n\n} - . qq{msgid "bar"\n\n} - . qq{msgid "baz"\n\n}, - hi => qq{msgid "foo"\nmsgstr "foo"\n\n} - . qq{msgid "baz"\nmsgstr "baz"\n\n} - . qq{msgid "bar"\n\n}, - de => qq{msgid "foo"\nmsgstr "foo"\n\n} - . qq{msgid "bar"\nmsgstr "bar"\n\n} - . qq{msgid "baz"\nmsgstr "baz"\n\n}, - ); - - for my $file ($manager->files) { - my $contents = $file->file->slurp; - my ($header, $data) = ($contents =~ /^(.*?\n\n)(.*)$/s); - header_is($header, $expected_header); - is($data, $langs{$file->language}, - "got the right stubs"); - } -} - -done_testing; diff --git a/t/002-create.t b/t/002-create.t deleted file mode 100644 index 92ec881..0000000 --- a/t/002-create.t +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use Test::More; -use File::Temp; -use File::Copy; -use Path::Class; - -use Locale::POFileManager; - -sub header_is { - my ($got, $expected) = @_; - local $Test::Builder::Level = $Test::Builder::Level + 1; - my @got = split /\n/, $got, -1; - my @expected = split /\n/, $expected, -1; - is_deeply([@got[0..1], sort @got[2..$#got]], - [@expected[0..1], sort @expected[2..$#expected]], - "got the right header"); -} - -{ - my $dir = File::Temp->newdir; - my $from_dir = dir('t/data/002'); - my $tmpdir = dir($dir->dirname); - for my $file ($from_dir->children) { - copy($file->stringify, $dir->dirname); - } - my $expected_header = $tmpdir->file('en.po')->slurp; - $expected_header =~ s/\n\n.*/\n\n/s; - - my $manager = Locale::POFileManager->new( - base_dir => $dir->dirname, - canonical_language => 'en', - ); - is_deeply([sort map { $_->basename } $tmpdir->children], - [qw(en.po)], - "correct initial directory contents"); - - $manager->add_language('ru'); - $manager->add_language('hi'); - - is_deeply([sort map { $_->basename } $tmpdir->children], - [qw(en.po hi.po ru.po)], - "correct directory contents after creation"); - - for my $lang (qw(ru hi)) { - header_is(scalar($tmpdir->file("$lang.po")->slurp), $expected_header); - } - - $manager->language_file('ru')->add_entry( - msgid => 'baz', - msgstr => 'Zab', - ); - is_deeply([sort $manager->language_file('ru')->msgids], - ['', qw(baz)], - "created new entry successfully"); - is($manager->language_file('ru')->msgstr('baz'), 'Zab', - "correct entry created"); - - is_deeply([sort $manager->language_file('hi')->msgids], - [''], - "other language file untouched"); - - $manager->add_stubs; - - for my $lang (qw(ru hi)) { - is_deeply([sort $manager->language_file($lang)->msgids], - ['', qw(bar baz foo)], - "stubs for $lang created properly"); - } - - my %langs = ( - en => [qq{msgid "foo"\nmsgstr "foo"\n\n} - . qq{msgid "bar"\nmsgstr "bar"\n\n} - . qq{msgid "baz"\nmsgstr "baz"\n}, - qq{}], - hi => [qq{}, - qq{msgid "foo"\n\n} - . qq{msgid "bar"\n\n} - . qq{msgid "baz"\n\n}], - ru => [qq{msgid "baz"\nmsgstr "Zab"\n\n}, - qq{msgid "foo"\n\n} - . qq{msgid "bar"\n\n}], - ); - - for my $lang (keys %langs) { - my $contents = $manager->language_file($lang)->file->slurp; - my ($header, $data) = ($contents =~ /^(.*?\n\n)(.*)$/s); - header_is($header, $expected_header); - my $fixed = substr($data, 0, length($langs{$lang}->[0]), ''); - is($fixed, $langs{$lang}->[0], "existing data untouched"); - is_deeply([sort split /\n\n/, $data], - [sort split /\n\n/, $langs{$lang}->[1]], - "correct new msgids added"); - } -} - -done_testing; diff --git a/t/003-comments.t b/t/003-comments.t deleted file mode 100644 index 529791e..0000000 --- a/t/003-comments.t +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use Test::More; -use File::Temp; -use File::Copy; -use Path::Class; - -use Locale::POFileManager; - -{ - my $dir = File::Temp->newdir; - my $from_dir = dir('t/data/003'); - my $tmpdir = dir($dir->dirname); - for my $file ($from_dir->children) { - copy($file->stringify, $dir->dirname); - } - - my $manager = Locale::POFileManager->new( - base_dir => $dir->dirname, - canonical_language => 'en', - ); - $manager->add_stubs; - - is($tmpdir->file('en.po')->slurp, $from_dir->file('en.po')->slurp, - "canonical file untouched"); - - my $expected = $from_dir->file("de.po")->slurp; - my $got = $tmpdir->file("de.po")->slurp; - my $fixed = substr $got, 0, length($expected), ''; - is($fixed, $expected, "original part of the file wasn't touched"); - is(substr($got, 0, 1, ''), "\n", "spacing newline added properly"); - is_deeply([sort split /\n\n/, $got], - [qq{msgid "quuux"}, qq{msgid "quux"}], - "added the correct stubs"); -} - -done_testing; diff --git a/t/004-utf8.t b/t/004-utf8.t deleted file mode 100644 index 9b716a8..0000000 --- a/t/004-utf8.t +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use utf8; -use Test::More; -use File::Temp; -use File::Copy; -use Path::Class; - -use Locale::POFileManager; - -{ - my $dir = File::Temp->newdir; - my $from_dir = dir('t/data/004'); - my $tmpdir = dir($dir->dirname); - for my $file ($from_dir->children) { - copy($file->stringify, $dir->dirname); - } - - { - my $manager = Locale::POFileManager->new( - base_dir => $dir->dirname, - canonical_language => 'hi', - ); - - is($manager->language_file('hi')->msgstr('नमस्ते'), - 'नमस्ते', - "got the right hindi translation"); - is($manager->language_file('en')->msgstr('नमस्ते'), - 'Hello', - "got the right english translation"); - ok(!$manager->language_file('en')->has_msgid('मेरा नाम'), - "no translation for this one"); - - $manager->add_stubs; - - ok($manager->language_file('en')->has_msgid('मेरा नाम'), - "correct stub added"); - } - - { - my $manager = Locale::POFileManager->new( - base_dir => $dir->dirname, - canonical_language => 'hi', - ); - - ok($manager->language_file('en')->has_msgid('मेरा नाम'), - "correct stub loaded"); - } -} - -done_testing; diff --git a/t/basic.t b/t/basic.t new file mode 100644 index 0000000..c86a965 --- /dev/null +++ b/t/basic.t @@ -0,0 +1,80 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use File::Temp; +use File::Copy; +use Path::Class; + +use Locale::POFileManager; + +sub header_is { + my ($got, $expected) = @_; + local $Test::Builder::Level = $Test::Builder::Level + 1; + my @got = split /\n/, $got, -1; + my @expected = split /\n/, $expected, -1; + is_deeply([@got[0..1], sort @got[2..$#got]], + [@expected[0..1], sort @expected[2..$#expected]], + "got the right header"); +} + +{ + my $manager = Locale::POFileManager->new( + base_dir => 't/data/basic', + canonical_language => 'en', + ); + + is_deeply({$manager->find_missing}, + {ru => [qw(bar baz)], hi => [qw(bar)], en => [], de => []}, + "got the correct missing messages"); +} + +{ + my $dir = File::Temp->newdir; + my $from_dir = dir('t/data/basic'); + for my $file ($from_dir->children) { + copy($file->stringify, $dir->dirname); + } + my $manager = Locale::POFileManager->new( + base_dir => $dir->dirname, + canonical_language => 'en', + ); + $manager->add_stubs; + is_deeply({$manager->find_missing}, + {ru => [], hi => [], en => [], de => []}, + "got the correct missing messages"); + + my $expected_header = <<'HEADER'; +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +HEADER + + my %langs = ( + en => qq{msgid "foo"\nmsgstr "foo"\n\n} + . qq{msgid "bar"\nmsgstr "bar"\n\n} + . qq{msgid "baz"\nmsgstr "baz"\n}, + ru => qq{msgid "foo"\nmsgstr "foo"\n\n} + . qq{msgid "bar"\n\n} + . qq{msgid "baz"\n\n}, + hi => qq{msgid "foo"\nmsgstr "foo"\n\n} + . qq{msgid "baz"\nmsgstr "baz"\n\n} + . qq{msgid "bar"\n\n}, + de => qq{msgid "foo"\nmsgstr "foo"\n\n} + . qq{msgid "bar"\nmsgstr "bar"\n\n} + . qq{msgid "baz"\nmsgstr "baz"\n\n}, + ); + + for my $file ($manager->files) { + my $contents = $file->file->slurp; + my ($header, $data) = ($contents =~ /^(.*?\n\n)(.*)$/s); + header_is($header, $expected_header); + is($data, $langs{$file->language}, + "got the right stubs"); + } +} + +done_testing; diff --git a/t/comments.t b/t/comments.t new file mode 100644 index 0000000..cced2a9 --- /dev/null +++ b/t/comments.t @@ -0,0 +1,38 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use File::Temp; +use File::Copy; +use Path::Class; + +use Locale::POFileManager; + +{ + my $dir = File::Temp->newdir; + my $from_dir = dir('t/data/comments'); + my $tmpdir = dir($dir->dirname); + for my $file ($from_dir->children) { + copy($file->stringify, $dir->dirname); + } + + my $manager = Locale::POFileManager->new( + base_dir => $dir->dirname, + canonical_language => 'en', + ); + $manager->add_stubs; + + is($tmpdir->file('en.po')->slurp, $from_dir->file('en.po')->slurp, + "canonical file untouched"); + + my $expected = $from_dir->file("de.po")->slurp; + my $got = $tmpdir->file("de.po")->slurp; + my $fixed = substr $got, 0, length($expected), ''; + is($fixed, $expected, "original part of the file wasn't touched"); + is(substr($got, 0, 1, ''), "\n", "spacing newline added properly"); + is_deeply([sort split /\n\n/, $got], + [qq{msgid "quuux"}, qq{msgid "quux"}], + "added the correct stubs"); +} + +done_testing; diff --git a/t/create.t b/t/create.t new file mode 100644 index 0000000..224af77 --- /dev/null +++ b/t/create.t @@ -0,0 +1,98 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use File::Temp; +use File::Copy; +use Path::Class; + +use Locale::POFileManager; + +sub header_is { + my ($got, $expected) = @_; + local $Test::Builder::Level = $Test::Builder::Level + 1; + my @got = split /\n/, $got, -1; + my @expected = split /\n/, $expected, -1; + is_deeply([@got[0..1], sort @got[2..$#got]], + [@expected[0..1], sort @expected[2..$#expected]], + "got the right header"); +} + +{ + my $dir = File::Temp->newdir; + my $from_dir = dir('t/data/create'); + my $tmpdir = dir($dir->dirname); + for my $file ($from_dir->children) { + copy($file->stringify, $dir->dirname); + } + my $expected_header = $tmpdir->file('en.po')->slurp; + $expected_header =~ s/\n\n.*/\n\n/s; + + my $manager = Locale::POFileManager->new( + base_dir => $dir->dirname, + canonical_language => 'en', + ); + is_deeply([sort map { $_->basename } $tmpdir->children], + [qw(en.po)], + "correct initial directory contents"); + + $manager->add_language('ru'); + $manager->add_language('hi'); + + is_deeply([sort map { $_->basename } $tmpdir->children], + [qw(en.po hi.po ru.po)], + "correct directory contents after creation"); + + for my $lang (qw(ru hi)) { + header_is(scalar($tmpdir->file("$lang.po")->slurp), $expected_header); + } + + $manager->language_file('ru')->add_entry( + msgid => 'baz', + msgstr => 'Zab', + ); + is_deeply([sort $manager->language_file('ru')->msgids], + ['', qw(baz)], + "created new entry successfully"); + is($manager->language_file('ru')->msgstr('baz'), 'Zab', + "correct entry created"); + + is_deeply([sort $manager->language_file('hi')->msgids], + [''], + "other language file untouched"); + + $manager->add_stubs; + + for my $lang (qw(ru hi)) { + is_deeply([sort $manager->language_file($lang)->msgids], + ['', qw(bar baz foo)], + "stubs for $lang created properly"); + } + + my %langs = ( + en => [qq{msgid "foo"\nmsgstr "foo"\n\n} + . qq{msgid "bar"\nmsgstr "bar"\n\n} + . qq{msgid "baz"\nmsgstr "baz"\n}, + qq{}], + hi => [qq{}, + qq{msgid "foo"\n\n} + . qq{msgid "bar"\n\n} + . qq{msgid "baz"\n\n}], + ru => [qq{msgid "baz"\nmsgstr "Zab"\n\n}, + qq{msgid "foo"\n\n} + . qq{msgid "bar"\n\n}], + ); + + for my $lang (keys %langs) { + my $contents = $manager->language_file($lang)->file->slurp; + my ($header, $data) = ($contents =~ /^(.*?\n\n)(.*)$/s); + header_is($header, $expected_header); + my $fixed = substr($data, 0, length($langs{$lang}->[0]), ''); + is($fixed, $langs{$lang}->[0], "existing data untouched"); + is_deeply([sort split /\n\n/, $data], + [sort split /\n\n/, $langs{$lang}->[1]], + "correct new msgids added"); + } +} + +done_testing; diff --git a/t/data/001/de.po b/t/data/001/de.po deleted file mode 100644 index da72c60..0000000 --- a/t/data/001/de.po +++ /dev/null @@ -1,15 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "foo" -msgstr "foo" - -msgid "bar" -msgstr "bar" - -msgid "baz" -msgstr "baz" - diff --git a/t/data/001/en.po b/t/data/001/en.po deleted file mode 100644 index b8aa9a8..0000000 --- a/t/data/001/en.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "foo" -msgstr "foo" - -msgid "bar" -msgstr "bar" - -msgid "baz" -msgstr "baz" diff --git a/t/data/001/hi.po b/t/data/001/hi.po deleted file mode 100644 index b132fe6..0000000 --- a/t/data/001/hi.po +++ /dev/null @@ -1,11 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "foo" -msgstr "foo" - -msgid "baz" -msgstr "baz" diff --git a/t/data/001/ru.po b/t/data/001/ru.po deleted file mode 100644 index 3cf4e46..0000000 --- a/t/data/001/ru.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "foo" -msgstr "foo" - diff --git a/t/data/002/en.po b/t/data/002/en.po deleted file mode 100644 index b8aa9a8..0000000 --- a/t/data/002/en.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "foo" -msgstr "foo" - -msgid "bar" -msgstr "bar" - -msgid "baz" -msgstr "baz" diff --git a/t/data/003/de.po b/t/data/003/de.po deleted file mode 100644 index 6e82f0d..0000000 --- a/t/data/003/de.po +++ /dev/null @@ -1,22 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -# erste Kapitel - -msgid "foo" -msgstr "oof" - -# Übersetzung für bar -msgid "bar" -msgstr "rab" - -# zweite Kapitel - -msgid "baz" -msgstr "zab" - - -# etwas zu machen diff --git a/t/data/003/en.po b/t/data/003/en.po deleted file mode 100644 index 825f817..0000000 --- a/t/data/003/en.po +++ /dev/null @@ -1,27 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -# first section - -msgid "foo" -msgstr "foo" - -msgid "quux" -msgstr "quux" - -# stuff for bar -msgid "bar" -msgstr "bar" - -# second section - -msgid "baz" -msgstr "baz" - -msgid "quuux" -msgstr "quuux" - -# stuff to do diff --git a/t/data/004/en.po b/t/data/004/en.po deleted file mode 100644 index d9783c7..0000000 --- a/t/data/004/en.po +++ /dev/null @@ -1,8 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "नमस्ते" -msgstr "Hello" diff --git a/t/data/004/hi.po b/t/data/004/hi.po deleted file mode 100644 index 5fd7b45..0000000 --- a/t/data/004/hi.po +++ /dev/null @@ -1,11 +0,0 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "मेरा नाम" -msgstr "मेरा नाम" - -msgid "नमस्ते" -msgstr "नमस्ते" diff --git a/t/data/basic/de.po b/t/data/basic/de.po new file mode 100644 index 0000000..da72c60 --- /dev/null +++ b/t/data/basic/de.po @@ -0,0 +1,15 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "foo" +msgstr "foo" + +msgid "bar" +msgstr "bar" + +msgid "baz" +msgstr "baz" + diff --git a/t/data/basic/en.po b/t/data/basic/en.po new file mode 100644 index 0000000..b8aa9a8 --- /dev/null +++ b/t/data/basic/en.po @@ -0,0 +1,14 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "foo" +msgstr "foo" + +msgid "bar" +msgstr "bar" + +msgid "baz" +msgstr "baz" diff --git a/t/data/basic/hi.po b/t/data/basic/hi.po new file mode 100644 index 0000000..b132fe6 --- /dev/null +++ b/t/data/basic/hi.po @@ -0,0 +1,11 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "foo" +msgstr "foo" + +msgid "baz" +msgstr "baz" diff --git a/t/data/basic/ru.po b/t/data/basic/ru.po new file mode 100644 index 0000000..3cf4e46 --- /dev/null +++ b/t/data/basic/ru.po @@ -0,0 +1,9 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "foo" +msgstr "foo" + diff --git a/t/data/comments/de.po b/t/data/comments/de.po new file mode 100644 index 0000000..6e82f0d --- /dev/null +++ b/t/data/comments/de.po @@ -0,0 +1,22 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# erste Kapitel + +msgid "foo" +msgstr "oof" + +# Übersetzung für bar +msgid "bar" +msgstr "rab" + +# zweite Kapitel + +msgid "baz" +msgstr "zab" + + +# etwas zu machen diff --git a/t/data/comments/en.po b/t/data/comments/en.po new file mode 100644 index 0000000..825f817 --- /dev/null +++ b/t/data/comments/en.po @@ -0,0 +1,27 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# first section + +msgid "foo" +msgstr "foo" + +msgid "quux" +msgstr "quux" + +# stuff for bar +msgid "bar" +msgstr "bar" + +# second section + +msgid "baz" +msgstr "baz" + +msgid "quuux" +msgstr "quuux" + +# stuff to do diff --git a/t/data/create/en.po b/t/data/create/en.po new file mode 100644 index 0000000..b8aa9a8 --- /dev/null +++ b/t/data/create/en.po @@ -0,0 +1,14 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "foo" +msgstr "foo" + +msgid "bar" +msgstr "bar" + +msgid "baz" +msgstr "baz" diff --git a/t/data/utf8/en.po b/t/data/utf8/en.po new file mode 100644 index 0000000..d9783c7 --- /dev/null +++ b/t/data/utf8/en.po @@ -0,0 +1,8 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "नमस्ते" +msgstr "Hello" diff --git a/t/data/utf8/hi.po b/t/data/utf8/hi.po new file mode 100644 index 0000000..5fd7b45 --- /dev/null +++ b/t/data/utf8/hi.po @@ -0,0 +1,11 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "मेरा नाम" +msgstr "मेरा नाम" + +msgid "नमस्ते" +msgstr "नमस्ते" diff --git a/t/utf8.t b/t/utf8.t new file mode 100644 index 0000000..1e7a520 --- /dev/null +++ b/t/utf8.t @@ -0,0 +1,52 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use utf8; +use Test::More; +use File::Temp; +use File::Copy; +use Path::Class; + +use Locale::POFileManager; + +{ + my $dir = File::Temp->newdir; + my $from_dir = dir('t/data/utf8'); + my $tmpdir = dir($dir->dirname); + for my $file ($from_dir->children) { + copy($file->stringify, $dir->dirname); + } + + { + my $manager = Locale::POFileManager->new( + base_dir => $dir->dirname, + canonical_language => 'hi', + ); + + is($manager->language_file('hi')->msgstr('नमस्ते'), + 'नमस्ते', + "got the right hindi translation"); + is($manager->language_file('en')->msgstr('नमस्ते'), + 'Hello', + "got the right english translation"); + ok(!$manager->language_file('en')->has_msgid('मेरा नाम'), + "no translation for this one"); + + $manager->add_stubs; + + ok($manager->language_file('en')->has_msgid('मेरा नाम'), + "correct stub added"); + } + + { + my $manager = Locale::POFileManager->new( + base_dir => $dir->dirname, + canonical_language => 'hi', + ); + + ok($manager->language_file('en')->has_msgid('मेरा नाम'), + "correct stub loaded"); + } +} + +done_testing; -- cgit v1.2.3-54-g00ecf