diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-10-09 10:42:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-10-09 10:44:27 -0500 |
commit | f7e612ae487ce2cf72af1aecf5eb8b1bb45eaeaf (patch) | |
tree | 5d80694fc79aebb0283d17554cb2a65618fbbede /t/basic.t | |
parent | 4879437a0f628b3d685a3972695aed5011622ca4 (diff) | |
download | locale-pofilemanager-f7e612ae487ce2cf72af1aecf5eb8b1bb45eaeaf.tar.gz locale-pofilemanager-f7e612ae487ce2cf72af1aecf5eb8b1bb45eaeaf.zip |
remove test numbers0.04
Diffstat (limited to 't/basic.t')
-rw-r--r-- | t/basic.t | 80 |
1 files changed, 80 insertions, 0 deletions
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; |