Thomas Mullaly : urlmon/tests: Added more CoInternetCombineIUri tests.

Alexandre Julliard julliard at winehq.org
Wed Nov 3 11:37:05 CDT 2010


Module: wine
Branch: master
Commit: 7c6bb2fbfc289ea8b6166bebc05212999812b6c0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7c6bb2fbfc289ea8b6166bebc05212999812b6c0

Author: Thomas Mullaly <thomas.mullaly at gmail.com>
Date:   Tue Oct 12 20:50:18 2010 -0400

urlmon/tests: Added more CoInternetCombineIUri tests.

---

 dlls/urlmon/tests/uri.c |  117 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c
index bf1ed1c..92fb94f 100644
--- a/dlls/urlmon/tests/uri.c
+++ b/dlls/urlmon/tests/uri.c
@@ -6017,6 +6017,123 @@ static const uri_combine_test uri_combine_tests[] = {
             {URL_SCHEME_HTTP,S_OK},
             {URLZONE_INVALID,E_NOTIMPL}
         }
+    },
+    /* Windows validates the path component from the relative Uri. */
+    {   "http://google.com/test",0,
+        "/Te%XXst",Uri_CREATE_ALLOW_RELATIVE,
+        0,E_INVALIDARG,TRUE
+    },
+    /* Windows doesn't validate the query from the relative Uri. */
+    {   "http://google.com/test",0,
+        "?Tes%XXt",Uri_CREATE_ALLOW_RELATIVE,
+        0,S_OK,TRUE,
+        {
+            {"http://google.com/test?Tes%XXt",S_OK},
+            {"google.com",S_OK},
+            {"http://google.com/test?Tes%XXt",S_OK},
+            {"google.com",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"google.com",S_OK},
+            {"",S_FALSE},
+            {"/test",S_OK},
+            {"/test?Tes%XXt",S_OK},
+            {"?Tes%XXt",S_OK},
+            {"http://google.com/test?Tes%XXt",S_OK},
+            {"http",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE}
+        },
+        {
+            {Uri_HOST_DNS,S_OK},
+            {80,S_OK},
+            {URL_SCHEME_HTTP,S_OK},
+            {URLZONE_INVALID,E_NOTIMPL}
+        }
+    },
+    /* Windows doesn't validate the fragment from the relative Uri. */
+    {   "http://google.com/test",0,
+        "#Tes%XXt",Uri_CREATE_ALLOW_RELATIVE,
+        0,S_OK,TRUE,
+        {
+            {"http://google.com/test#Tes%XXt",S_OK},
+            {"google.com",S_OK},
+            {"http://google.com/test#Tes%XXt",S_OK},
+            {"google.com",S_OK},
+            {"",S_FALSE},
+            {"#Tes%XXt",S_OK},
+            {"google.com",S_OK},
+            {"",S_FALSE},
+            {"/test",S_OK},
+            {"/test",S_OK},
+            {"",S_FALSE},
+            {"http://google.com/test#Tes%XXt",S_OK},
+            {"http",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE}
+        },
+        {
+            {Uri_HOST_DNS,S_OK},
+            {80,S_OK},
+            {URL_SCHEME_HTTP,S_OK},
+            {URLZONE_INVALID,E_NOTIMPL}
+        }
+    },
+    /* Creates an IUri which contains an invalid dos path char. */
+    {   "file:///c:/test",0,
+        "/test<ing",Uri_CREATE_ALLOW_RELATIVE,
+        URL_FILE_USE_PATHURL,S_OK,TRUE,
+        {
+            {"file://c:\\test<ing",S_OK},
+            {"",S_FALSE},
+            {"file://c:\\test<ing",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"c:\\test<ing",S_OK},
+            {"c:\\test<ing",S_OK},
+            {"",S_FALSE},
+            {"file://c:\\test<ing",S_OK},
+            {"file",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE}
+        },
+        {
+            {Uri_HOST_UNKNOWN,S_OK},
+            {0,S_FALSE},
+            {URL_SCHEME_FILE,S_OK},
+            {URLZONE_INVALID,E_NOTIMPL}
+        }
+    },
+    /* Appends the path after the drive letter (if any). */
+    {   "file:///c:/test",0,
+        "/c:/testing",Uri_CREATE_ALLOW_RELATIVE,
+        0,S_OK,TRUE,
+        {
+            {"file:///c:/c:/testing",S_OK},
+            {"",S_FALSE},
+            {"file:///c:/c:/testing",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"",S_FALSE},
+            {"/c:/c:/testing",S_OK},
+            {"/c:/c:/testing",S_OK},
+            {"",S_FALSE},
+            {"file:///c:/c:/testing",S_OK},
+            {"file",S_OK},
+            {"",S_FALSE},
+            {"",S_FALSE}
+        },
+        {
+            {Uri_HOST_UNKNOWN,S_OK},
+            {0,S_FALSE},
+            {URL_SCHEME_FILE,S_OK},
+            {URLZONE_INVALID,E_NOTIMPL}
+        }
     }
 };
 




More information about the wine-cvs mailing list