Thu Jan 14 19:50:48 2010: Request 53704 was acted upon.
Transaction: Correspondence added by j...@activestate.com
       Queue: Win32-OLE
     Subject: RE: [rt.cpan.org #53704] t/ole.t failing test 42 (translate 
ANSI->OEM) 
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: k...@cpan.org
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=53704 >


On Thu, 14 Jan 2010, kmx via RT wrote:
> 
> I have experienced failing test "# 42. Translate character from ANSI -> OEM" 
> in
> t/ole.t - here is the failing message:
> 
> # Excel version is 11.0
> # ANSI(cp1252) -> OEM(cp437/cp850): 163 -> 156
> # ANSI is "ú" (163) and OEM is "Ł" (157)
> not ok 42
> 
> I am pretty sure that the reason is Eastern Europe locale on my Windows box =
> ANSI:cp1250 OEM:cp852

Yes, that diagnosis is correct.  The test assumes that the OEM codepage is
either 437 or 850 and might fail for any other code page that doesn't
map the Pound sign to chr(156).
 
> The same behaviour on Win32 strawberry perl 5.8.9 and 5.10.1.
> 
> Would it be possible to somehow modify this test to be ready for non
> English/Latin1 Windows? Even skipping the test on non-English Windows would be
> fine.

Can you confirm that the following command prints "852" on your system?

perl -MWin32::OLE::NLS -we"print GetLocaleInfo(GetSystemDefaultLCID(), 
Win32::OLE::NLS::LOCALE_IDEFAULTCODEPAGE)"

Cheers,
-Jan


Reply via email to