Detlef Riekenberg : wininet/tests: Initial tests for InternetCanonicalizeUrlA.
Alexandre Julliard
julliard at winehq.org
Thu Oct 11 10:47:54 CDT 2007
Module: wine
Branch: master
Commit: f98b4507bafa4f96d92ec6fed3a0abcf16f41c31
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f98b4507bafa4f96d92ec6fed3a0abcf16f41c31
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Wed Oct 10 23:16:51 2007 +0200
wininet/tests: Initial tests for InternetCanonicalizeUrlA.
---
dlls/wininet/tests/internet.c | 69 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index aa96391..2869cd1 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -27,7 +27,69 @@
#include "wine/test.h"
-static void InternetQueryOptionA_test(void)
+/* ############################### */
+
+static void test_InternetCanonicalizeUrlA(void)
+{
+ CHAR buffer[256];
+ LPCSTR url;
+ DWORD urllen;
+ DWORD dwSize;
+ DWORD res;
+
+ /* Acrobat Updater 5 calls this for Adobe Reader 8.1 */
+ url = "http://swupmf.adobe.com/manifest/50/win/AdobeUpdater.upd";
+ urllen = lstrlenA(url);
+
+ memset(buffer, '#', sizeof(buffer)-1);
+ buffer[sizeof(buffer)-1] = '\0';
+ dwSize = 1; /* Acrobat Updater use this size */
+ SetLastError(0xdeadbeef);
+ res = InternetCanonicalizeUrlA(url, buffer, &dwSize, 0);
+ todo_wine
+ ok( !res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER) && (dwSize == (urllen+1)),
+ "got %u and %u with size %u for '%s' (%d)\n",
+ res, GetLastError(), dwSize, buffer, lstrlenA(buffer));
+
+
+ /* buffer has no space for the terminating '\0' */
+ memset(buffer, '#', sizeof(buffer)-1);
+ buffer[sizeof(buffer)-1] = '\0';
+ dwSize = urllen;
+ SetLastError(0xdeadbeef);
+ res = InternetCanonicalizeUrlA(url, buffer, &dwSize, 0);
+ /* dwSize is nr. of needed bytes with the terminating '\0' */
+ todo_wine
+ ok( !res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER) && (dwSize == (urllen+1)),
+ "got %u and %u with size %u for '%s' (%d)\n",
+ res, GetLastError(), dwSize, buffer, lstrlenA(buffer));
+
+ /* buffer has the required size */
+ memset(buffer, '#', sizeof(buffer)-1);
+ buffer[sizeof(buffer)-1] = '\0';
+ dwSize = urllen+1;
+ SetLastError(0xdeadbeef);
+ res = InternetCanonicalizeUrlA(url, buffer, &dwSize, 0);
+ /* dwSize is nr. of copied bytes without the terminating '\0' */
+ ok( res && (dwSize == urllen) && (lstrcmpA(url, buffer) == 0),
+ "got %u and %u with size %u for '%s' (%d)\n",
+ res, GetLastError(), dwSize, buffer, lstrlenA(buffer));
+
+ /* buffer is larger as the required size */
+ memset(buffer, '#', sizeof(buffer)-1);
+ buffer[sizeof(buffer)-1] = '\0';
+ dwSize = urllen+2;
+ SetLastError(0xdeadbeef);
+ res = InternetCanonicalizeUrlA(url, buffer, &dwSize, 0);
+ /* dwSize is nr. of copied bytes without the terminating '\0' */
+ ok( res && (dwSize == urllen) && (lstrcmpA(url, buffer) == 0),
+ "got %u and %u with size %u for '%s' (%d)\n",
+ res, GetLastError(), dwSize, buffer, lstrlenA(buffer));
+}
+
+/* ############################### */
+
+static void test_InternetQueryOptionA(void)
{
HINTERNET hinet,hurl;
DWORD len;
@@ -221,9 +283,12 @@ static void test_null(void)
}
+/* ############################### */
+
START_TEST(internet)
{
- InternetQueryOptionA_test();
+ test_InternetCanonicalizeUrlA();
+ test_InternetQueryOptionA();
test_get_cookie();
test_null();
}
More information about the wine-cvs
mailing list