2 * Unit tests for DPA functions
4 * Copyright 2003 Uwe Bonnes
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 #include "wine/test.h"
30 static HDPA (WINAPI
*pDPA_Create
)(int);
31 static BOOL (WINAPI
*pDPA_Grow
)(const HDPA hdpa
, INT nGrow
);
32 static BOOL (WINAPI
*pDPA_Destroy
)(const HDPA hdpa
);
33 static INT (WINAPI
*pDPA_Search
)(HDPA
, LPVOID
, INT
, PFNDPACOMPARE
, LPARAM
, UINT
);
34 static BOOL (WINAPI
*pDPA_SetPtr
)(const HDPA hdpa
, INT i
, LPVOID p
);
36 static INT CALLBACK
dpa_strcmp(LPVOID pvstr1
, LPVOID pvstr2
, LPARAM flags
)
38 LPCSTR str1
= (LPCSTR
)pvstr1
;
39 LPCSTR str2
= (LPCSTR
)pvstr2
;
41 return lstrcmpA (str1
, str2
);
48 CHAR test_str0
[]="test0";
53 dpa_ret
= pDPA_Create(0);
54 ok((dpa_ret
!=0), "DPA_Create failed\n");
55 int_ret
= pDPA_Search(dpa_ret
,test_str0
,0, dpa_strcmp
,0, DPAS_SORTED
);
56 ok((int_ret
== -1), "DPA_Search found invalid item\n");
57 int_ret
= pDPA_Search(dpa_ret
,test_str0
,0, dpa_strcmp
,0, DPAS_SORTED
|DPAS_INSERTBEFORE
);
58 ok((int_ret
== 0), "DPA_Search proposed bad item\n");
59 int_ret
= pDPA_Search(dpa_ret
,test_str0
,0, dpa_strcmp
,0, DPAS_SORTED
|DPAS_INSERTAFTER
);
60 ok((int_ret
== 0), "DPA_Search proposed bad item\n");
61 int_ret
= pDPA_Grow(dpa_ret
,0);
62 ok(int_ret
!= 0, "DPA_Grow failed\n");
63 int_ret
= pDPA_SetPtr(dpa_ret
, 0, (void*)0xdeadbeef);
64 ok(int_ret
!= 0, "DPA_SetPtr failed\n");
65 int_ret
= pDPA_Destroy(dpa_ret
);
66 ok(int_ret
!= 0, "DPA_Destory failed\n");
73 hdll
=GetModuleHandleA("comctl32.dll");
74 pDPA_Create
=(void*)GetProcAddress(hdll
,(LPCSTR
)328);
75 pDPA_Destroy
=(void*)GetProcAddress(hdll
,(LPCSTR
)329);
76 pDPA_Grow
=(void*)GetProcAddress(hdll
,(LPCSTR
)330);
77 pDPA_Search
=(void*)GetProcAddress(hdll
,(LPCSTR
)339);
78 pDPA_SetPtr
=(void*)GetProcAddress(hdll
,(LPCSTR
)335);