From f044945710bcae60ee8069cdbf01e75b82bfb5d0 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 24 Feb 2010 22:43:39 -0600 Subject: add tests for proper unicode handling --- t/004-utf8.t | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ t/data/004/en.po | 8 ++++++++ t/data/004/hi.po | 11 +++++++++++ 3 files changed, 71 insertions(+) create mode 100644 t/004-utf8.t create mode 100644 t/data/004/en.po create mode 100644 t/data/004/hi.po 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 "नमस्ते" -- cgit v1.2.3