I18N::Langinfo is not available on Win32
Christian Walde [Sun, 29 May 2011 21:32:49 +0000 (23:32 +0200)]
lib/Gitalist/Git/Repository.pm
t/02git_Repository.t

index 602126b..fca63dc 100644 (file)
@@ -11,7 +11,8 @@ class Gitalist::Git::Repository with (Gitalist::Git::HasUtils, Gitalist::Git::Se
     use aliased 'DateTime' => 'DT';
     use List::MoreUtils qw/any zip/;
     use Encode          qw/decode/;
-    use I18N::Langinfo  qw/langinfo CODESET/;
+
+    use if $^O ne 'MSWin32' => 'I18N::Langinfo', qw/langinfo CODESET/; 
 
     use Gitalist::Git::Object::Blob;
     use Gitalist::Git::Object::Tree;
@@ -224,7 +225,9 @@ class Gitalist::Git::Repository with (Gitalist::Git::HasUtils, Gitalist::Git::Se
     }
 
     method _build_owner {
-        my ($gecos, $name) = map { decode(langinfo(CODESET), $_) } (getpwuid $self->path->stat->uid)[6,0];
+        return 'system' if $^O =~ 'MSWin32';
+
+        my ($gecos, $name) = map { decode(langinfo(CODESET()), $_) } (getpwuid $self->path->stat->uid)[6,0];
         $gecos =~ s/,+$//;
         return length($gecos) ? $gecos : $name;
     }
index 885a490..d77dd23 100644 (file)
@@ -16,7 +16,7 @@ use Data::Dumper;
 
 BEGIN {
     # Mocking to allow testing regardless of the user's locale
-    require I18N::Langinfo;
+    require I18N::Langinfo if $^O ne 'MSWin32';
     no warnings 'redefine';
     *I18N::Langinfo::langinfo = sub($) {
         return "UTF-8" if $_[0] == I18N::Langinfo::CODESET();