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:54:10 CDT 2007
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.
More information about the wine-devel
mailing list