setupapi: add case sensitivity string table tests
Andrew Ziem
ahziem1 at mailbolt.com
Mon May 1 01:06:14 CDT 2006
These test case sensitivity in setupapi string tables, and all the parts I
modified pass on Microsoft's 98 and XP. As this is my first Wine patch,
comments are especially welcome.
Index: stringtable.c
===================================================================
RCS file: /home/wine/wine/dlls/setupapi/tests/stringtable.c,v
retrieving revision 1.2
diff -u -r1.2 stringtable.c
--- stringtable.c 23 Sep 2005 10:09:47 -0000 1.2
+++ stringtable.c 1 May 2006 05:59:55 -0000
@@ -48,6 +48,8 @@
HMODULE hdll;
static WCHAR string[] = {'s','t','r','i','n','g',0};
+static WCHAR String[] = {'S','t','r','i','n','g',0};
+static WCHAR foo[] = {'f','o','o',0};
HANDLE table, table2; /* Handles pointing to our tables */
static void load_it_up(void)
@@ -89,10 +91,23 @@
static void test_StringTableAddString(void)
{
- DWORD retval;
+ DWORD retval, retval2, retval3, retval4;
+ /* case insensitive */
retval=pStringTableAddString(table,string,0);
ok(retval!=-1,"Failed to add string to String Table\n");
+
+ retval2=pStringTableAddString(table,String,0);
+ ok(retval2!=-1,"Failed to add String to String Table\n");
+ ok(retval=retval2,"string and String have different IDs in String Table\n");
+
+ retval3=pStringTableAddString(table,foo,0);
+ ok(retval3!=-1,"Failed to add foo to String Table\n");
+ ok(retval3!=retval2,"foo and String share the same ID in String Table\n");
+
+ /* case sensitive */
+ retval4=pStringTableAddString(table,String,ST_CASE_SENSITIVE_COMPARE);
+ ok(retval!=retval4,"String and string share same ID in Table\n");
}
static void test_StringTableDuplicate(void)
@@ -105,11 +120,29 @@
{
DWORD retval, retval2;
+ /* case insensitive */
retval=pStringTableLookUpString(table,string,0);
ok(retval!=-1,"Failed find string in String Table 1\n");
- retval2=pStringTableLookUpString(table2,string,0);
- ok(retval2!=-1,"Failed find string in String Table 2\n");
+ retval=pStringTableLookUpString(table2,string,0);
+ ok(retval!=-1,"Failed find string in String Table 2\n");
+
+ retval=pStringTableLookUpString(table,String,0);
+ ok(retval!=-1,"Failed find String in String Table 1\n");
+
+ retval=pStringTableLookUpString(table2,String,0);
+ ok(retval!=-1,"Failed find String in String Table 2\n");
+
+ retval=pStringTableLookUpString(table,foo,0);
+ ok(retval!=-1,"Failed find foo in String Table 1\n");
+
+ retval=pStringTableLookUpString(table2,foo,0);
+ ok(retval!=-1,"Failed find foo in String Table 2\n");
+
+ /* case sensitive */
+ retval=pStringTableLookUpString(table,string,ST_CASE_SENSITIVE_COMPARE);
+ retval2=pStringTableLookUpString(table,String,ST_CASE_SENSITIVE_COMPARE);
+ ok(retval!=retval2,"Lookup of string = String in Table 1\n");
}
static void test_StringTableStringFromId(void)
More information about the wine-patches
mailing list