static DWORD (WINAPI *pPrivacyGetZonePreferenceW)(DWORD, DWORD, LPDWORD, LPWSTR, LPDWORD);
static DWORD (WINAPI *pPrivacySetZonePreferenceW)(DWORD, DWORD, DWORD, LPCWSTR);
-/* Win9x and WinMe don't have lstrcmpW */
-static int strcmp_ww(const WCHAR *str1, const WCHAR *str2)
-{
- DWORD len1 = lstrlenW(str1);
- DWORD len2 = lstrlenW(str2);
-
- if (len1 != len2) return 1;
- return memcmp(str1, str2, len1 * sizeof(WCHAR));
-}
-
/* ############################### */
static void test_InternetCanonicalizeUrlA(void)
static const char useragent[] = {"Wininet Test"};
char *buffer;
int retval;
+ BOOL res;
hinet = InternetOpenA(useragent,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL, 0);
ok((hinet != 0x0),"InternetOpen Failed\n");
ok(retval == 0,"Got wrong return value %d\n",retval);
ok(err == ERROR_INSUFFICIENT_BUFFER, "Got wrong error code%d\n",err);
- InternetCloseHandle(hinet);
-
len = sizeof(val);
- retval = InternetQueryOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, &len);
- ok(retval == TRUE,"Got wrong return value %d\n", retval);
- ok(len == sizeof(val), "got %d\n", len);
- ok(val == 2, "got %d\n", val);
+ val = 0xdeadbeef;
+ res = InternetQueryOptionA(hinet, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, &len);
+ ok(!res, "InternetQueryOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER) succeeded\n");
+ ok(GetLastError() == ERROR_INTERNET_INVALID_OPERATION, "GetLastError() = %u\n", GetLastError());
- len = sizeof(val);
- retval = InternetQueryOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, &val, &len);
- ok(retval == TRUE,"Got wrong return value %d\n", retval);
- ok(len == sizeof(val), "got %d\n", len);
- ok(val == 4, "got %d\n", val);
+ val = 2;
+ res = InternetSetOptionA(hinet, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, sizeof(val));
+ ok(!res, "InternetSetOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER) succeeded\n");
+ ok(GetLastError() == ERROR_INTERNET_INVALID_OPERATION, "GetLastError() = %u\n", GetLastError());
+
+ InternetCloseHandle(hinet);
+}
+
+static void test_max_conns(void)
+{
+ DWORD len, val;
+ BOOL res;
+ len = sizeof(val);
+ val = 0xdeadbeef;
+ res = InternetQueryOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, &len);
+ ok(res,"Got wrong return value %x\n", res);
+ ok(len == sizeof(val), "got %d\n", len);
+ ok(val == 2, "got %d\n", val);
+
+ len = sizeof(val);
+ val = 0xdeadbeef;
+ res = InternetQueryOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, &val, &len);
+ ok(res,"Got wrong return value %x\n", res);
+ ok(len == sizeof(val), "got %d\n", len);
+ ok(val == 4, "got %d\n", val);
+
+ val = 3;
+ res = InternetSetOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, sizeof(val));
+ ok(res, "InternetSetOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER) failed: %x\n", res);
+
+ len = sizeof(val);
+ val = 0xdeadbeef;
+ res = InternetQueryOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, &len);
+ ok(res,"Got wrong return value %x\n", res);
+ ok(len == sizeof(val), "got %d\n", len);
+ ok(val == 3, "got %d\n", val);
+
+ val = 0;
+ res = InternetSetOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, sizeof(val));
+ ok(!res || broken(res), /* <= w2k3 */
+ "InternetSetOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER, 0) succeeded\n");
+ if (!res) ok(GetLastError() == ERROR_BAD_ARGUMENTS, "GetLastError() = %u\n", GetLastError());
+
+ val = 2;
+ res = InternetSetOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, sizeof(val)-1);
+ ok(!res, "InternetSetOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER) succeeded\n");
+ ok(GetLastError() == ERROR_INTERNET_BAD_OPTION_LENGTH, "GetLastError() = %u\n", GetLastError());
+
+ val = 2;
+ res = InternetSetOptionA(NULL, INTERNET_OPTION_MAX_CONNS_PER_SERVER, &val, sizeof(val)+1);
+ ok(!res, "InternetSetOptionA(INTERNET_OPTION_MAX_CONNS_PER_SERVER) succeeded\n");
+ ok(GetLastError() == ERROR_INTERNET_BAD_OPTION_LENGTH, "GetLastError() = %u\n", GetLastError());
}
static void test_get_cookie(void)
ok( sz == 1 + lstrlenW(buffer) || sz == lstrlenW(buffer), "sz wrong %d\n", sz);
/* before XP SP2, buffer is "server; server" */
- ok( !strcmp_ww(szExpect, buffer) || !strcmp_ww(szServer, buffer), "cookie data wrong\n");
+ ok( !lstrcmpW(szExpect, buffer) || !lstrcmpW(szServer, buffer), "cookie data wrong\n");
sz = sizeof(buffer);
r = InternetQueryOptionA(NULL, INTERNET_OPTION_CONNECTED_STATE, buffer, &sz);
ret = InternetQueryOptionW(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION,
&list, &size);
ok(ret == TRUE, "InternetQueryOption should've succeeded\n");
- ok(!strcmp_ww(list.pOptions[0].Value.pszValue, proxy_srvW),
+ ok(!lstrcmpW(list.pOptions[0].Value.pszValue, proxy_srvW),
"Retrieved proxy server should've been %s, was: %s\n",
wine_dbgstr_w(proxy_srvW), wine_dbgstr_w(list.pOptions[0].Value.pszValue));
ok(list.pOptions[1].Value.dwValue == PROXY_TYPE_PROXY,
test_Option_PerConnectionOption();
test_Option_PerConnectionOptionA();
test_InternetErrorDlg();
+ test_max_conns();
if (!pInternetTimeFromSystemTimeA)
win_skip("skipping the InternetTime tests\n");