The test fails because readdir() on Cygwin returns a scalar containing UTF8,
but it does not set the scalar's UTF-8 flag. It helps to set the flag
explicitely:
--- t/Unicode.t.bak 2011-08-26 16:37:11.483644100 +0200
+++ t/Unicode.t 2011-08-26 16:45:10.802566000 +0200
@@ -1,5 +1,6 @@
use strict;
use Test;
+use Encode;
use Cwd qw(cwd);
use Win32;
@@ -48,6 +49,7 @@
ok(opendir(my $dh, Win32::GetANSIPathName($dir)));
while ($_ = readdir($dh)) {
next if /^\./;
+ Encode::_utf8_on($_) if $^O eq "cygwin";
ok($file, Win32::GetLongPathName("$dir\\$_"));
}
closedir($dh);
--
Toni Andjelkovic
s IT Solutions
Risk and Balance Sheet Management Solutions
s IT Solutions AT Spardat GmbH
A-1010 Wien, Werdertorgasse 5
Phone: +43 (0) 50100 - 16558
Fax: +43 (0) 50100 9 - 16558
mailto:[email protected]
http://www.s-itsolutions.com