shell32: conformance tests for unicode filenames and fix
a bugforfile deletion (try 2)
Paul Vriens
paul.vriens.wine at gmail.com
Fri Jun 8 03:59:06 CDT 2007
Paul Vriens wrote:
> Dmitry Timoshkov wrote:
>> "Nigel Liang" <ncliang at gmail.com> wrote:
>>
>>> > > +static const WCHAR UNICODE_PATH[] =
>>> {'c',':','\\','w',0x00ef,0x00f1,0x00eb,
>>> > > + 't',0x00e8,'s','t','\0','\0'}; /* "c:\winetest" */
>>> >
>>> > The name above is definitely not "c:\winetest", also if you need a
>>> double
>>> > termination '\0' state it specifically.
>>> >
>>>
>>> Yep, you are right, it is actually "c:\wïñëtèst". I will fix it in
>>> the next try.
>>
>> That won't work. The actual unicode characters have different codes.
>> Personally
>> I don't see why you need non-acsii characters to test unicode APIs.
>>
>>> > (GetVersion() & 0x80000000) is much shorter way to detect win9x, but
>>> > if you need to test whether the platform supports unicode that's
>>> wrong,
>>> > have a look at other tests how it's done there.
>>> >
>>>
>>> I see that the way it is being done in gdi32/tests/font.c is to look
>>> for functions that exist only on Win2k or later, is that the right way
>>> to do it? Or is there another place that I should be looking?
>>
>> You have to check actual functionality, not presence of particular APIs,
>> check for instance user32 tests for is_win9x/isWin9x.
>>
> Hi,
>
> Some testing on win98 shows that SHCreateDirectoryExW (as well as
> SHCreateDirectoryExA but that's already tested for in those tests) is
> not present on win98.
>
> So just moving your:
>
> + /* Create directory with unicode filename */
> + if(!pSHCreateDirectoryExW)
> + {
> + trace("skipping SHCreateDirectoryExW tests\n");
> + return;
> + }
>
> to the top of you're test will do the trick in this particular case.
> Btw. use skip instead of trace for the above.
>
> Cheers,
>
> Paul.
>
Just saw Dmitry's comment. Another thing you can check is the lasterror
(GetLastError()) as some of the W-calls are present but will return
ERROR_CALL_NOT_IMPLEMENTED when asked for last error.
Cheers,
Paul.
More information about the wine-devel
mailing list