Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
29ff53c1
Commit
29ff53c1
authored
Feb 14, 2006
by
Jeff Latimer
Committed by
Alexandre Julliard
Feb 14, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: Added some tests.
parent
517e3102
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
249 additions
and
3 deletions
+249
-3
configure
configure
+2
-1
configure.ac
configure.ac
+1
-0
Makefile.in
dlls/usp10/Makefile.in
+2
-0
.gitignore
dlls/usp10/tests/.gitignore
+3
-0
Makefile.in
dlls/usp10/tests/Makefile.in
+13
-0
usp10.c
dlls/usp10/tests/usp10.c
+195
-0
usp10.c
dlls/usp10/usp10.c
+31
-0
usp10.spec
dlls/usp10/usp10.spec
+2
-2
No files found.
configure
View file @
29ff53c1
...
...
@@ -18850,7 +18850,7 @@ MAKE_LIB_RULES=libs/Makelib.rules
MAKE_PROG_RULES
=
programs/Makeprog.rules
ac_config_files
=
"
$ac_config_files
Make.rules dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/activeds/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/advpack/Makefile dlls/advpack/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/cabinet/tests/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/crypt32/tests/Makefile dlls/cryptdll/Makefile dlls/ctl3d32/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3d9/tests/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput/tests/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/lzexpand/tests/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mciavi32/Makefile dlls/mcicda/Makefile dlls/mciseq/Makefile dlls/midimap/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/tests/Makefile dlls/msacm/winemp3/Makefile dlls/mscms/Makefile dlls/mscms/tests/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/mshtml/tests/Makefile dlls/msi/Makefile dlls/msi/tests/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/msxml3/Makefile dlls/msxml3/tests/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/objsel/Makefile dlls/odbc32/Makefile dlls/odbccp32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli32/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr32/Makefile dlls/opengl32/Makefile dlls/powrprof/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/riched20/Makefile dlls/riched20/tests/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/rsaenh/Makefile dlls/rsaenh/tests/Makefile dlls/secur32/Makefile dlls/secur32/tests/Makefile dlls/security/Makefile dlls/sensapi/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/setupapi/tests/Makefile dlls/sfc/Makefile dlls/shdocvw/Makefile dlls/shdocvw/tests/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/stdole2.tlb/Makefile dlls/stdole32.tlb/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/usp10
/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winecrt0/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/wineesd/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wldap32/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/wtsapi32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/eject/Makefile programs/expand/Makefile programs/explorer/Makefile programs/hh/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile programs/wordpad/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
ac_config_files
=
"
$ac_config_files
Make.rules dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/activeds/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/advpack/Makefile dlls/advpack/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/cabinet/tests/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/crypt32/tests/Makefile dlls/cryptdll/Makefile dlls/ctl3d32/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3d9/tests/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput/tests/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/lzexpand/tests/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mciavi32/Makefile dlls/mcicda/Makefile dlls/mciseq/Makefile dlls/midimap/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/tests/Makefile dlls/msacm/winemp3/Makefile dlls/mscms/Makefile dlls/mscms/tests/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/mshtml/tests/Makefile dlls/msi/Makefile dlls/msi/tests/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/msxml3/Makefile dlls/msxml3/tests/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/objsel/Makefile dlls/odbc32/Makefile dlls/odbccp32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli32/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr32/Makefile dlls/opengl32/Makefile dlls/powrprof/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/riched20/Makefile dlls/riched20/tests/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/rsaenh/Makefile dlls/rsaenh/tests/Makefile dlls/secur32/Makefile dlls/secur32/tests/Makefile dlls/security/Makefile dlls/sensapi/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/setupapi/tests/Makefile dlls/sfc/Makefile dlls/shdocvw/Makefile dlls/shdocvw/tests/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/stdole2.tlb/Makefile dlls/stdole32.tlb/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/usp10/Makefile dlls/usp10/tests
/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winecrt0/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/wineesd/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wldap32/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/wtsapi32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/eject/Makefile programs/expand/Makefile programs/explorer/Makefile programs/hh/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile programs/wordpad/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
cat
>
confcache
<<
\
_ACEOF
...
...
@@ -19566,6 +19566,7 @@ do
"dlls/user/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/user/Makefile" ;;
"dlls/user/tests/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/user/tests/Makefile" ;;
"dlls/usp10/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/usp10/Makefile" ;;
"dlls/usp10/tests/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/usp10/tests/Makefile" ;;
"dlls/uuid/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/uuid/Makefile" ;;
"dlls/uxtheme/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/uxtheme/Makefile" ;;
"dlls/vdhcp.vxd/Makefile" ) CONFIG_FILES="
$CONFIG_FILES
dlls/vdhcp.vxd/Makefile" ;;
...
...
configure.ac
View file @
29ff53c1
...
...
@@ -1612,6 +1612,7 @@ dlls/urlmon/tests/Makefile
dlls/user/Makefile
dlls/user/tests/Makefile
dlls/usp10/Makefile
dlls/usp10/tests/Makefile
dlls/uuid/Makefile
dlls/uxtheme/Makefile
dlls/vdhcp.vxd/Makefile
...
...
dlls/usp10/Makefile.in
View file @
29ff53c1
...
...
@@ -9,6 +9,8 @@ IMPORTS = kernel32
C_SRCS
=
\
usp10.c
SUBDIRS
=
tests
@MAKE_DLL_RULES@
### Dependencies:
dlls/usp10/tests/.gitignore
0 → 100644
View file @
29ff53c1
Makefile
testlist.c
usp10.ok
dlls/usp10/tests/Makefile.in
0 → 100644
View file @
29ff53c1
TOPSRCDIR
=
@top_srcdir@
TOPOBJDIR
=
../../..
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
TESTDLL
=
usp10.dll
IMPORTS
=
usp10 user32 gdi32 kernel32
CTESTS
=
\
usp10.c
@MAKE_TEST_RULES@
### Dependencies:
dlls/usp10/tests/usp10.c
0 → 100644
View file @
29ff53c1
/*
* Tests for usp10 dll
*
* Copyright 2006 Jeff Latimer
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Notes:
* Uniscribe allows for processing of complex scripts such as joining
* and filtering characters and bi-directional text with custom line breaks.
*/
#include <assert.h>
#include <stdio.h>
#include <wine/test.h>
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>
#include <winerror.h>
#include <usp10.h>
START_TEST
(
usp10
)
{
HRESULT
hr
;
int
iMaxProps
;
const
SCRIPT_PROPERTIES
**
ppSp
;
HWND
hwnd
;
HRGN
hrgn
;
HDC
hdc
;
int
cInChars
;
int
cMaxItems
;
SCRIPT_ITEM
pItem
[
255
];
int
pcItems
;
WCHAR
TestItem1
[
6
]
=
{
'T'
,
'e'
,
's'
,
't'
,
'1'
,
0
};
WCHAR
TestItem2
[
6
]
=
{
'T'
,
'e'
,
's'
,
't'
,
'2'
,
0
};
SCRIPT_CACHE
psc
;
int
cChars
;
int
cMaxGlyphs
;
unsigned
short
pwOutGlyphs
[
256
];
unsigned
short
pwLogClust
[
256
];
SCRIPT_VISATTR
psva
[
256
];
int
pcGlyphs
;
int
piAdvance
[
256
];
GOFFSET
pGoffset
[
256
];
ABC
pABC
[
256
];
int
cnt
;
/* We need a valid HDC to drive a lot of Script functions which requires the following *
* to set up for the tests. */
hwnd
=
CreateWindowExA
(
0
,
"static"
,
""
,
WS_POPUP
,
0
,
0
,
100
,
100
,
0
,
0
,
0
,
NULL
);
assert
(
hwnd
!=
0
);
ShowWindow
(
hwnd
,
SW_SHOW
);
UpdateWindow
(
hwnd
);
hrgn
=
CreateRectRgn
(
0
,
0
,
0
,
0
);
assert
(
hrgn
!=
0
);
hdc
=
GetDC
(
hwnd
);
/* We now have a hdc */
ok
(
hdc
!=
NULL
,
"HDC failed to be created %p
\n
"
,
hdc
);
/* Start testing usp10 functions */
/* This test determines that the pointer returned by ScriptGetProperties is valid
* by checking a known value in the table */
hr
=
ScriptGetProperties
(
&
ppSp
,
&
iMaxProps
);
trace
(
"number of script properties %d
\n
"
,
iMaxProps
);
todo_wine
{
ok
(
iMaxProps
>
0
,
"Number of scripts returned should not be 0
\n
"
);
if
(
iMaxProps
>
0
)
ok
(
ppSp
[
5
]
->
langid
==
9
,
"Langid[5] not = to 9
\n
"
);
/* Check a known value to ensure */
/* ptrs work */
}
/* This set of tests are to check that the various edits in ScriptIemize work */
cInChars
=
5
;
/* Length of test without NULL */
cMaxItems
=
1
;
/* Check threshold value */
hr
=
ScriptItemize
(
TestItem1
,
cInChars
,
cMaxItems
,
NULL
,
NULL
,
pItem
,
&
pcItems
);
ok
(
hr
==
E_INVALIDARG
,
"ScriptItemize should return E_INVALIDARG if cMaxItems < 2. Was %d
\n
"
,
cMaxItems
);
cInChars
=
5
;
cMaxItems
=
255
;
hr
=
ScriptItemize
(
NULL
,
cInChars
,
cMaxItems
,
NULL
,
NULL
,
pItem
,
&
pcItems
);
ok
(
hr
==
E_INVALIDARG
,
"ScriptItemize should return E_INVALIDARG if pwcInChars is NULL
\n
"
);
cInChars
=
5
;
cMaxItems
=
255
;
hr
=
ScriptItemize
(
TestItem1
,
0
,
cMaxItems
,
NULL
,
NULL
,
pItem
,
&
pcItems
);
ok
(
hr
==
E_INVALIDARG
,
"ScriptItemize should return E_INVALIDARG if cInChars is 0
\n
"
);
cInChars
=
5
;
cMaxItems
=
255
;
hr
=
ScriptItemize
(
TestItem1
,
cInChars
,
cMaxItems
,
NULL
,
NULL
,
NULL
,
&
pcItems
);
ok
(
hr
==
E_INVALIDARG
,
"ScriptItemize should return E_INVALIDARG if pItems is NULL
\n
"
);
/* This is a valid test that will cause parsing to take place */
cInChars
=
5
;
cMaxItems
=
255
;
hr
=
ScriptItemize
(
TestItem1
,
cInChars
,
cMaxItems
,
NULL
,
NULL
,
pItem
,
&
pcItems
);
ok
(
hr
==
0
,
"ScriptItemize should return 0, returned %08x
\n
"
,
(
unsigned
int
)
hr
);
/* This test is for the interim operation of ScriptItemize where only one SCRIPT_ITEM is *
* returned. */
todo_wine
ok
(
pcItems
>
0
,
"The number of SCRIPT_ITEMS should be greater than 0
\n
"
);
if
(
pcItems
>
0
)
ok
(
pItem
[
0
].
iCharPos
==
0
&&
pItem
[
1
].
iCharPos
==
cInChars
,
"Start pos not = 0 (%d) or end pos not = %d (%d)
\n
"
,
pItem
[
0
].
iCharPos
,
cInChars
,
pItem
[
1
].
iCharPos
);
/* It would appear that we have a valid SCRIPT_ANALYSIS and can continue
* ie. ScriptItemize has succeeded and that pItem has been set */
cInChars
=
5
;
cMaxItems
=
255
;
if
(
hr
==
0
)
{
psc
=
NULL
;
/* must be null on first call */
cChars
=
cInChars
;
cMaxGlyphs
=
4
;
hr
=
ScriptShape
(
NULL
,
&
psc
,
TestItem1
,
cChars
,
cMaxGlyphs
,
&
pItem
[
0
].
a
,
pwOutGlyphs
,
pwLogClust
,
psva
,
&
pcGlyphs
);
todo_wine
ok
(
hr
==
E_OUTOFMEMORY
,
"If not enoungh output area cChars (%d) is > than CMaxGlyphs (%d) but not E_OUTOFMEMORY
\n
"
,
cChars
,
cMaxGlyphs
);
cMaxGlyphs
=
256
;
hr
=
ScriptShape
(
NULL
,
&
psc
,
TestItem1
,
cChars
,
cMaxGlyphs
,
&
pItem
[
0
].
a
,
pwOutGlyphs
,
pwLogClust
,
psva
,
&
pcGlyphs
);
todo_wine
ok
(
hr
==
E_PENDING
,
"If psc is NULL (%08x) the E_PENDING should be returned
\n
"
,
(
unsigned
int
)
hr
);
hr
=
ScriptShape
(
hdc
,
&
psc
,
TestItem1
,
cChars
,
cMaxGlyphs
,
&
pItem
[
0
].
a
,
pwOutGlyphs
,
pwLogClust
,
psva
,
&
pcGlyphs
);
todo_wine
ok
(
hr
==
0
,
"Should return 0 not (%08x)
\n
"
,
(
unsigned
int
)
hr
);
todo_wine
ok
(
psc
!=
NULL
,
"psc should not be null and have SCRIPT_CACHE buffer address
\n
"
);
todo_wine
ok
(
pcGlyphs
==
cChars
,
"Chars in (%d) should equal Glyphs out (%d)
\n
"
,
cChars
,
pcGlyphs
);
if
(
hr
==
0
)
{
hr
=
ScriptPlace
(
NULL
,
&
psc
,
pwOutGlyphs
,
pcGlyphs
,
psva
,
&
pItem
[
0
].
a
,
piAdvance
,
pGoffset
,
pABC
);
ok
(
hr
==
0
,
"Should return 0 not (%08x)
\n
"
,
(
unsigned
int
)
hr
);
}
/* This test will check to make sure that SCRIPT_CACHE is reused and that not translation *
* takes place if fNoGlyphIndex is set. */
cInChars
=
5
;
cMaxItems
=
255
;
hr
=
ScriptItemize
(
TestItem2
,
cInChars
,
cMaxItems
,
NULL
,
NULL
,
pItem
,
&
pcItems
);
ok
(
hr
==
0
,
"ScriptItemize should return 0, returned %08x
\n
"
,
(
unsigned
int
)
hr
);
/* This test is for the intertrim operation of ScriptItemize where only one SCRIPT_ITEM is *
* returned. */
todo_wine
ok
(
pItem
[
0
].
iCharPos
==
0
&&
pItem
[
1
].
iCharPos
==
cInChars
,
"Start pos not = 0 (%d) or end pos not = %d (%d)
\n
"
,
pItem
[
0
].
iCharPos
,
cInChars
,
pItem
[
1
].
iCharPos
);
/* It would appear that we have a valid SCRIPT_ANALYSIS and can continue */
if
(
hr
==
0
)
{
cChars
=
cInChars
;
cMaxGlyphs
=
256
;
pItem
[
0
].
a
.
fNoGlyphIndex
=
1
;
/* say no translate */
hr
=
ScriptShape
(
NULL
,
&
psc
,
TestItem2
,
cChars
,
cMaxGlyphs
,
&
pItem
[
0
].
a
,
pwOutGlyphs
,
pwLogClust
,
psva
,
&
pcGlyphs
);
ok
(
hr
!=
E_PENDING
,
"If psc should not be NULL (%08x) and the E_PENDING should be returned
\n
"
,
(
unsigned
int
)
hr
);
todo_wine
ok
(
hr
==
0
,
"Should return 0 not (%08x)
\n
"
,
(
unsigned
int
)
hr
);
todo_wine
ok
(
psc
!=
NULL
,
"psc should not be null and have SCRIPT_CACHE buffer address
\n
"
);
todo_wine
ok
(
pcGlyphs
==
cChars
,
"Chars in (%d) should equal Glyphs out (%d)
\n
"
,
cChars
,
pcGlyphs
);
for
(
cnt
=
0
;
cnt
<
cChars
&&
TestItem2
[
cnt
]
==
pwOutGlyphs
[
cnt
];
cnt
++
)
{}
todo_wine
ok
(
cnt
==
cChars
,
"Translation to place when told not to. WCHAR %d - %04x != %04x
\n
"
,
cnt
,
TestItem2
[
cnt
],
pwOutGlyphs
[
cnt
]);
if
(
hr
==
0
)
{
hr
=
ScriptPlace
(
NULL
,
&
psc
,
pwOutGlyphs
,
pcGlyphs
,
psva
,
&
pItem
[
0
].
a
,
piAdvance
,
pGoffset
,
pABC
);
todo_wine
ok
(
hr
==
0
,
"Should return 0 not (%08x)
\n
"
,
(
unsigned
int
)
hr
);
}
}
hr
=
ScriptFreeCache
(
&
psc
);
ok
(
!
psc
,
"psc is not null after ScriptFreeCache
\n
"
);
}
DeleteObject
(
hrgn
);
ReleaseDC
(
hwnd
,
hdc
);
DestroyWindow
(
hwnd
);
return
;
}
dlls/usp10/usp10.c
View file @
29ff53c1
...
...
@@ -181,3 +181,34 @@ HRESULT WINAPI ScriptIsComplex(const WCHAR* pwcInChars, int cInChars, DWORD dwFl
FIXME
(
"(%s,%d,0x%lx): stub
\n
"
,
debugstr_w
(
pwcInChars
),
cInChars
,
dwFlags
);
return
E_NOTIMPL
;
}
/***********************************************************************
* ScriptShape (USP10.@)
*
*/
HRESULT
WINAPI
ScriptShape
(
HDC
hdc
,
SCRIPT_CACHE
*
psc
,
const
WCHAR
*
pwcChars
,
int
cChars
,
int
cMaxGlyphs
,
SCRIPT_ANALYSIS
*
psa
,
WORD
*
pwOutGlyphs
,
WORD
*
pwLogClust
,
SCRIPT_VISATTR
*
psva
,
int
*
pcGlyphs
)
{
FIXME
(
"(%p,%p,%p,%s,%d,%d, %p, %p, %p, %p): stub
\n
"
,
hdc
,
psc
,
pwcChars
,
debugstr_w
(
pwcChars
),
cChars
,
cMaxGlyphs
,
psa
,
pwOutGlyphs
,
psva
,
pcGlyphs
);
return
E_NOTIMPL
;
}
/***********************************************************************
* ScriptPlace (USP10.@)
*
*/
HRESULT
WINAPI
ScriptPlace
(
HDC
hdc
,
SCRIPT_CACHE
*
psc
,
const
WORD
*
pwGlyphs
,
int
cGlyphs
,
const
SCRIPT_VISATTR
*
psva
,
SCRIPT_ANALYSIS
*
psa
,
int
*
piAdvance
,
GOFFSET
*
pGoffset
,
ABC
*
pABC
)
{
FIXME
(
"(%p,%p,%p,%s,%d, %p, %p, %p): stub
\n
"
,
hdc
,
psc
,
pwGlyphs
,
debugstr_w
(
pwGlyphs
),
cGlyphs
,
psva
,
psa
,
piAdvance
);
return
E_NOTIMPL
;
}
dlls/usp10/usp10.spec
View file @
29ff53c1
...
...
@@ -14,9 +14,9 @@
@ stdcall ScriptItemize(wstr long long ptr ptr ptr ptr)
@ stub ScriptJustify
@ stub ScriptLayout
@ st
ub ScriptPlace
@ st
dcall ScriptPlace(ptr ptr ptr long ptr ptr ptr ptr ptr)
@ stdcall ScriptRecordDigitSubstitution(ptr ptr)
@ st
ub ScriptShape
@ st
dcall ScriptShape(ptr ptr ptr long long ptr ptr ptr ptr ptr)
@ stdcall ScriptStringAnalyse(ptr ptr long long long long long ptr ptr ptr ptr ptr ptr)
@ stub ScriptStringCPtoX
@ stdcall ScriptStringFree(ptr)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment