[PATCH 3/3] wininet/test: Improve tests for InternetGetConnectedStateEx
Bruno Jesus
00cpxxx at gmail.com
Sun Mar 5 22:24:31 CST 2017
From: Bruno Jesus <bjesus at codeweavers.com>
Manually tested in XP and Win 8 with LAN and a VPN, both with and without proxy. It is weird that the way the buffer is treated changes when using PPP in the W version, but it is consistent in XP and 8.
Sample output from Windows 8:
// PPP + PROXY
Z:\>wininet_crosstest.exe internet
internet.c:1601: Internet Connection: Flags 0x55 - Name 'Alexa VPN'
// PPP
Z:\>wininet_crosstest.exe internet
internet.c:1601: Internet Connection: Flags 0x51 - Name 'Alexa VPN'
// LAN
Z:\>wininet_crosstest.exe internet
internet.c:1601: Internet Connection: Flags 0x12 - Name 'LAN Connection'
Signed-off-by: Bruno Jesus <bjesus at codeweavers.com>
---
dlls/wininet/tests/internet.c | 49 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 42 insertions(+), 7 deletions(-)
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 9b32117..4c4f471 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -1595,12 +1595,16 @@ static void test_InternetGetConnectedStateExA(void)
return;
}
+ flags = 0;
+ buffer[0] = 0;
res = pInternetGetConnectedStateExA(&flags, buffer, sizeof(buffer), 0);
+ trace("Internet Connection: Flags 0x%02x - Name '%s'\n", flags, buffer);
+todo_wine
+ ok (flags & INTERNET_RAS_INSTALLED, "Missing RAS flag\n");
if(!res) {
win_skip("InternetGetConnectedStateExA tests require a valid connection\n");
return;
}
- trace("Internet Connection: Flags 0x%02x - Name '%s'\n", flags, buffer);
res = pInternetGetConnectedStateExA(NULL, NULL, 0, 0);
ok(res == TRUE, "Expected TRUE, got %d\n", res);
@@ -1608,7 +1612,16 @@ static void test_InternetGetConnectedStateExA(void)
flags = 0;
res = pInternetGetConnectedStateExA(&flags, NULL, 0, 0);
ok(res == TRUE, "Expected TRUE, got %d\n", res);
- ok(flags, "Expected at least one flag set\n");
+ if (flags & INTERNET_CONNECTION_CONFIGURED)
+ {
+ ok(flags & INTERNET_CONNECTION_MODEM, "Modem connection flag missing\n");
+ ok(flags & ~INTERNET_CONNECTION_LAN, "Mixed Modem and LAN flags\n");
+ }
+ else
+ {
+ ok(flags & INTERNET_CONNECTION_LAN, "LAN connection flag missing\n");
+ ok(flags & ~INTERNET_CONNECTION_MODEM, "Mixed Modem and LAN flags\n");
+ }
buffer[0] = 0;
flags = 0;
@@ -1684,12 +1697,16 @@ static void test_InternetGetConnectedStateExW(void)
return;
}
+ flags = 0;
+ buffer[0] = 0;
res = pInternetGetConnectedStateExW(&flags, buffer, sizeof(buffer) / sizeof(buffer[0]), 0);
+ trace("Internet Connection: Flags 0x%02x - Name '%s'\n", flags, wine_dbgstr_w(buffer));
+todo_wine
+ ok (flags & INTERNET_RAS_INSTALLED, "Missing RAS flag\n");
if(!res) {
win_skip("InternetGetConnectedStateExW tests require a valid connection\n");
return;
}
- trace("Internet Connection: Flags 0x%02x - Name '%s'\n", flags, wine_dbgstr_w(buffer));
res = pInternetGetConnectedStateExW(NULL, NULL, 0, 0);
ok(res == TRUE, "Expected TRUE, got %d\n", res);
@@ -1697,7 +1714,16 @@ static void test_InternetGetConnectedStateExW(void)
flags = 0;
res = pInternetGetConnectedStateExW(&flags, NULL, 0, 0);
ok(res == TRUE, "Expected TRUE, got %d\n", res);
- ok(flags, "Expected at least one flag set\n");
+ if (flags & INTERNET_CONNECTION_CONFIGURED)
+ {
+ ok(flags & INTERNET_CONNECTION_MODEM, "Modem connection flag missing\n");
+ ok(flags & ~INTERNET_CONNECTION_LAN, "Mixed Modem and LAN flags\n");
+ }
+ else
+ {
+ ok(flags & INTERNET_CONNECTION_LAN, "LAN connection flag missing\n");
+ ok(flags & ~INTERNET_CONNECTION_MODEM, "Mixed Modem and LAN flags\n");
+ }
buffer[0] = 0;
flags = 0;
@@ -1731,14 +1757,20 @@ static void test_InternetGetConnectedStateExW(void)
res = pInternetGetConnectedStateExW(&flags, buffer, sz, 0);
ok(res == TRUE, "Expected TRUE, got %d\n", res);
ok(flags, "Expected at least one flag set\n");
- ok(sz - 1 == lstrlenW(buffer), "Expected %u bytes, got %u\n", sz - 1, lstrlenW(buffer));
+ if (flags & INTERNET_CONNECTION_MODEM)
+ ok(lstrlenW(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenW(buffer));
+ else
+ ok(sz - 1 == lstrlenW(buffer), "Expected %u bytes, got %u\n", sz - 1, lstrlenW(buffer));
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));
+ if (flags & INTERNET_CONNECTION_MODEM)
+ ok(lstrlenW(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenW(buffer));
+ else
+ ok(sz / 2 - 1 == lstrlenW(buffer), "Expected %u bytes, got %u\n", sz / 2 - 1, lstrlenW(buffer));
buffer[0] = 0;
flags = 0;
@@ -1752,7 +1784,10 @@ static void test_InternetGetConnectedStateExW(void)
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));
+ if (flags & INTERNET_CONNECTION_MODEM)
+ ok(lstrlenW(buffer) == 0, "Expected 0 bytes, got %u\n", lstrlenW(buffer));
+ else
+ ok(lstrlenW(buffer) == 1, "Expected 1 byte, got %u\n", lstrlenW(buffer));
buffer[0] = 0xDEAD;
flags = 0;
--
2.9.3
More information about the wine-patches
mailing list