summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-02-24 22:43:39 -0600
committerJesse Luehrs <doy@tozt.net>2010-02-24 22:44:28 -0600
commitf044945710bcae60ee8069cdbf01e75b82bfb5d0 (patch)
tree35a95d2ed1961c39f35f9491a3a014ec2765fc98
parenta2855ff136611cedfac668f685902e3567240b57 (diff)
downloadlocale-pofilemanager-f044945710bcae60ee8069cdbf01e75b82bfb5d0.tar.gz
locale-pofilemanager-f044945710bcae60ee8069cdbf01e75b82bfb5d0.zip
add tests for proper unicode handling
-rw-r--r--t/004-utf8.t52
-rw-r--r--t/data/004/en.po8
-rw-r--r--t/data/004/hi.po11
3 files changed, 71 insertions, 0 deletions
diff --git a/t/004-utf8.t b/t/004-utf8.t
new file mode 100644
index 0000000..9b716a8
--- /dev/null
+++ b/t/004-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/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/data/004/en.po b/t/data/004/en.po
new file mode 100644
index 0000000..d9783c7
--- /dev/null
+++ b/t/data/004/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/004/hi.po b/t/data/004/hi.po
new file mode 100644
index 0000000..5fd7b45
--- /dev/null
+++ b/t/data/004/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 "नमस्ते"