test for UrlGetPart

Andrey Turkin pancha at mail.nnov.ru
Wed Jun 21 05:47:15 CDT 2006


UrlGetPart("c:\\file\\name", ..., URL_PART_SCHEME) succeeds on native
and fails on builtin. This patch highlights this issue.

ChangeLog:
test for UrlGetPart in case of file name
-------------- next part --------------
diff -Nupar wine-0.9.15-orig/dlls/shlwapi/tests/path.c wine-0.9.15/dlls/shlwapi/tests/path.c
--- wine-0.9.15-orig/dlls/shlwapi/tests/path.c	2006-06-21 14:30:44.000000000 +0400
+++ wine-0.9.15/dlls/shlwapi/tests/path.c	2006-06-21 14:31:07.000000000 +0400
@@ -364,6 +364,25 @@ static void test_url_part(const char* sz
 
 static void test_UrlGetPart(void)
 {
+  CHAR szPart[INTERNET_MAX_URL_LENGTH];
+  DWORD dwSize;
+  HRESULT res;
+
+  dwSize = sizeof szPart;
+  szPart[0]='x'; szPart[1]=0;
+  res = UrlGetPartA("hi", szPart, &dwSize, URL_PART_SCHEME, 0);
+  todo_wine {
+  ok (res==S_FALSE, "UrlGetPartA(\"hi\") returned %08lX\n", res);
+  ok(szPart[0]==0, "UrlGetPartA(\"hi\") return \"%s\" instead of \"\"\n", szPart);
+  }
+  dwSize = sizeof szPart;
+  szPart[0]='x'; szPart[1]=0;
+  res = UrlGetPartA("hi", szPart, &dwSize, URL_PART_QUERY, 0);
+  todo_wine {
+  ok (res==S_FALSE, "UrlGetPartA(\"hi\") returned %08lX\n", res);
+  ok(szPart[0]==0, "UrlGetPartA(\"hi\") return \"%s\" instead of \"\"\n", szPart);
+  }
+  
   test_url_part(TEST_URL_3, URL_PART_HOSTNAME, 0, "localhost");
   test_url_part(TEST_URL_3, URL_PART_PORT, 0, "21");
   test_url_part(TEST_URL_3, URL_PART_USERNAME, 0, "foo");
@@ -434,10 +453,20 @@ static void test_UrlEscape(void)
 static void test_UrlCanonicalize(void)
 {
     unsigned int i;
+    CHAR szReturnUrl[INTERNET_MAX_URL_LENGTH];
+    DWORD dwSize;
+
     for(i=0; i<sizeof(TEST_CANONICALIZE)/sizeof(TEST_CANONICALIZE[0]); i++) {
         test_url_canonicalize(TEST_CANONICALIZE[i].url, TEST_CANONICALIZE[i].flags,
                               TEST_CANONICALIZE[i].expectret, TEST_CANONICALIZE[i].expecturl);
     }
+
+    /* move to TEST_CANONICALIZE when fixed */
+    dwSize = sizeof szReturnUrl;
+    ok(UrlCanonicalizeA("c:\\tests\\foo bar", szReturnUrl, &dwSize, 0) == S_OK, "UrlCanonicalizeA didn't return 0x%08lx\n", S_OK);
+    todo_wine {
+        ok(strcmp(szReturnUrl,"file:///c:/tests/foo%20bar")==0, "UrlCanonicalizeA got %s\n", szReturnUrl);
+    }
 }
 
 static void test_url_combine(const char *szUrl1, const char *szUrl2, DWORD dwFlags, HRESULT dwExpectReturn, const char *szExpectUrl)


More information about the wine-patches mailing list