summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-02-18 12:58:34 -0600
committerJesse Luehrs <doy@tozt.net>2010-02-18 12:58:34 -0600
commit71c2e5f4949252df6dbcd2b2ad553200808fd14a (patch)
tree8195fb2d6a858582fbb1bde8526c646fa5fce287
parenta4035974b11c61dc06da957de2ea45c23fa24509 (diff)
downloadlocale-pofilemanager-71c2e5f4949252df6dbcd2b2ad553200808fd14a.tar.gz
locale-pofilemanager-71c2e5f4949252df6dbcd2b2ad553200808fd14a.zip
add some basic tests
-rw-r--r--t/001-basic.t67
1 files changed, 67 insertions, 0 deletions
diff --git a/t/001-basic.t b/t/001-basic.t
new file mode 100644
index 0000000..55be954
--- /dev/null
+++ b/t/001-basic.t
@@ -0,0 +1,67 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use File::Temp qw(tempdir);
+use File::Copy;
+use Path::Class;
+
+use Locale::POFileManager;
+
+{
+ 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 $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\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) {
+ is($file->file->slurp, $header . $langs{$file->language},
+ "got the right stubs");
+ }
+}
+
+done_testing;