wininet: Add more tests to InternetGetConnectedStateEx
Bruno Jesus
00cpxxx at gmail.com
Fri Oct 24 16:36:47 CDT 2014
These are the last tests before the next attempt to fix bug
http://bugs.winehq.org/show_bug.cgi?id=17796
They intend to test what happens when less buffer than required is
sent to the function and that the function clears the buffer if
size==1
-------------- next part --------------
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 688f786..fc965e2 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -1556,6 +1556,12 @@ todo_wine
sz = strlen(buffer);
ok(sz > 0, "Expected a connection name\n");
+ flags = 0;
+ res = pInternetGetConnectedStateExA(&flags, NULL, sizeof(buffer), 0);
+todo_wine
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+
/* no space for complete string this time */
buffer[0] = 0;
flags = 0;
@@ -1566,11 +1572,34 @@ todo_wine
buffer[0] = 0;
flags = 0;
+ res = pInternetGetConnectedStateExA(&flags, buffer, sz / 2, 0);
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+ ok(sz / 2 - 1 == strlen(buffer), "Expected %u bytes, got %u\n", sz / 2 - 1, lstrlenA(buffer));
+
+ buffer[0] = 0;
+ flags = 0;
res = pInternetGetConnectedStateExA(&flags, buffer, 1, 0);
todo_wine
ok(res == TRUE, "Expected TRUE, got %d\n", res);
ok(flags, "Expected at least one flag set\n");
ok(strlen(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenA(buffer));
+
+ buffer[0] = 0;
+ flags = 0;
+ res = pInternetGetConnectedStateExA(&flags, buffer, 2, 0);
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+ ok(strlen(buffer) == 1, "Expected 1 byte, got %u\n", lstrlenA(buffer));
+
+ flags = 0;
+ buffer[0] = 0xDE;
+ res = pInternetGetConnectedStateExA(&flags, buffer, 1, 0);
+todo_wine
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+todo_wine
+ ok(strlen(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenA(buffer));
}
static void test_InternetGetConnectedStateExW(void)
@@ -1623,6 +1652,12 @@ todo_wine
sz = lstrlenW(buffer);
ok(sz > 0, "Expected a connection name\n");
+ flags = 0;
+ res = pInternetGetConnectedStateExW(&flags, NULL, sizeof(buffer) / sizeof(buffer[0]), 0);
+todo_wine
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+
/* no space for complete string this time */
buffer[0] = 0;
flags = 0;
@@ -1633,11 +1668,34 @@ todo_wine
buffer[0] = 0;
flags = 0;
+ res = pInternetGetConnectedStateExW(&flags, buffer, sz / 2, 0);
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+ ok(sz / 2 - 1 == lstrlenW(buffer), "Expected %u bytes, got %u\n", sz / 2 - 1, lstrlenW(buffer));
+
+ buffer[0] = 0;
+ flags = 0;
res = pInternetGetConnectedStateExW(&flags, buffer, 1, 0);
todo_wine
ok(res == TRUE, "Expected TRUE, got %d\n", res);
ok(flags, "Expected at least one flag set\n");
ok(lstrlenW(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenW(buffer));
+
+ buffer[0] = 0;
+ flags = 0;
+ res = pInternetGetConnectedStateExW(&flags, buffer, 2, 0);
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+ ok(lstrlenW(buffer) == 1, "Expected 1 byte, got %u\n", lstrlenW(buffer));
+
+ buffer[0] = 0xDEAD;
+ flags = 0;
+ res = pInternetGetConnectedStateExW(&flags, buffer, 1, 0);
+todo_wine
+ ok(res == TRUE, "Expected TRUE, got %d\n", res);
+ ok(flags, "Expected at least one flag set\n");
+todo_wine
+ ok(lstrlenW(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenW(buffer));
}
/* ############################### */
More information about the wine-patches
mailing list