summaryrefslogtreecommitdiffstats
path: root/t/003-comments.t
diff options
context:
space:
mode:
Diffstat (limited to 't/003-comments.t')
-rw-r--r--t/003-comments.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/t/003-comments.t b/t/003-comments.t
new file mode 100644
index 0000000..529791e
--- /dev/null
+++ b/t/003-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/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;