Piotr Caban : shlwapi: Added more UrlCanonicalizeA tests.
Alexandre Julliard
julliard at winehq.org
Sat May 8 13:22:29 CDT 2010
Module: wine
Branch: master
Commit: ee2abe7f82ec2c04b7710376b8cf59e7cbf23640
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ee2abe7f82ec2c04b7710376b8cf59e7cbf23640
Author: Piotr Caban <piotr at codeweavers.com>
Date: Sat May 8 18:01:02 2010 +0200
shlwapi: Added more UrlCanonicalizeA tests.
---
dlls/shlwapi/tests/url.c | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c
index 0dd9643..c828ea9 100644
--- a/dlls/shlwapi/tests/url.c
+++ b/dlls/shlwapi/tests/url.c
@@ -793,7 +793,8 @@ static void test_UrlEscape(void)
static void test_UrlCanonicalizeA(void)
{
unsigned int i;
- CHAR szReturnUrl[INTERNET_MAX_URL_LENGTH];
+ CHAR szReturnUrl[4*INTERNET_MAX_URL_LENGTH];
+ CHAR longurl[4*INTERNET_MAX_URL_LENGTH];
DWORD dwSize;
DWORD urllen;
HRESULT hr;
@@ -845,6 +846,24 @@ static void test_UrlCanonicalizeA(void)
"got 0x%x with %u and size %u for '%s' and %u (expected 'S_OK' and size %u)\n",
hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), urllen);
+ /* length is set to 0 */
+ dwSize=0;
+ memset(szReturnUrl, '#', urllen+4);
+ szReturnUrl[urllen+4] = '\0';
+ SetLastError(0xdeadbeef);
+ hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE);
+ ok( (hr == E_INVALIDARG) && (dwSize == 0),
+ "got 0x%x with %u and size %u for '%s' and %u (expected 'E_INVALIDARG' and size %u)\n",
+ hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), 0);
+
+ /* url length > INTERNET_MAX_URL_SIZE */
+ dwSize=sizeof(szReturnUrl);
+ memset(longurl, 'a', sizeof(longurl));
+ memcpy(longurl, winehqA, sizeof(winehqA)-1);
+ longurl[sizeof(longurl)-1] = '\0';
+ hr = pUrlCanonicalizeA(longurl, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE);
+ ok(hr == S_OK, "hr = %x\n", hr);
+
test_url_canonicalize(-1, "", 0, S_OK, S_FALSE /* Vista/win2k8 */, "", FALSE);
/* test url-modification */
More information about the wine-cvs
mailing list