Hello all.

What do you think about this? What's wrong in this patch? Any comments?

Vladimir Pankratov wrote:
Hello all.

Added test for IsValidURL.

Now test shows error codes and tests exact code.

Thanks Jacek.

changed files:
dlls/urlmon/tests/misc.c

Thanks.




------------------------------------------------------------------------

diff -u -r a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
--- a/dlls/urlmon/tests/misc.c  2009-08-21 23:34:16.000000000 +0500
+++ b/dlls/urlmon/tests/misc.c  2009-09-01 18:53:08.000000000 +0500
@@ -1326,6 +1326,44 @@
     IBindCtx_Release(bctx);
 }
+static void test_IsValidURL(void)
+{
+    HRESULT hr;
+    int i;
+    static const WCHAR good_urls[][100] = {
+        
{'f','i','l','e',':','/','/','c',':','\\','b','o','o','t','.','i','n','i',0},
+        
{'h','t','t','p',':','/','/','w','w','w','.','w','i','n','e','h','q','.','o','r','g',0},
+        
{'h','t','t','p','s',':','/','/','s','e','c','u','r','e','.','h','o','s','t','.','d','o','m',0},
+        
{'f','t','p',':','/','/','s','o','u','r','c','e','f','o','r','g','e','.','o','r','g',0},
+        {'c',':','\\','b','o','o','t','.','i','n','i',0},
+        {'m','k',0},
+        {'h','t','t','p','s',0}
+    };
+    static const WCHAR bad_urls[][100] = {
+        {'w','i','n','e','h','q','.','o','r','g',0},
+        {'l','o','c','a','l','h','o','s','t',0},
+        {'t','e','s','t',0},
+        {'1','2','7','.','0','.','0','.','1',0},
+        {'b','o','o','t','.','i','n','i',0}
+    };
+
+    hr = IsValidURL(NULL, 0, 10);
+
+    ok(hr == E_INVALIDARG, "IsValidURL should fail, expected E_INVALIDARG, got 
%08x.\n", hr);
+
+    for(i = 0; i < sizeof(good_urls)/sizeof(good_urls[0]); i++)
+    {
+        hr = IsValidURL(NULL, good_urls[i], 0);
+        ok(hr == S_OK, "URL %s must be valid, expected S_OK, got %08x.\n", 
wine_dbgstr_w(good_urls[i]), hr);
+    }
+
+    for(i = 0; i < sizeof(bad_urls)/sizeof(bad_urls[0]); i++)
+    {
+        hr = IsValidURL(NULL, bad_urls[i], 0);
+        ok(hr == S_FALSE, "URL %s must be invalid, expected S_FALSE, got 
%08x.\n", wine_dbgstr_w(bad_urls[i]), hr);
+    }
+}
+
 START_TEST(misc)
 {
     OleInitialize(NULL);
@@ -1345,6 +1383,7 @@
     test_UrlMkGetSessionOption();
     test_user_agent();
     test_MkParseDisplayNameEx();
+    todo_wine test_IsValidURL();
OleUninitialize();
 }



Reply via email to