Detlef Riekenberg : urlmon/tests: Add tests for ZoneManager_GetZoneAttributes.
Alexandre Julliard
julliard at winehq.org
Mon Jun 22 09:04:16 CDT 2009
Module: wine
Branch: master
Commit: 3657c0af833b7a84bf5dbcce1f51e798fd1823dc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3657c0af833b7a84bf5dbcce1f51e798fd1823dc
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Mon Jun 22 00:41:18 2009 +0200
urlmon/tests: Add tests for ZoneManager_GetZoneAttributes.
---
dlls/urlmon/tests/sec_mgr.c | 58 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/dlls/urlmon/tests/sec_mgr.c b/dlls/urlmon/tests/sec_mgr.c
index f90f5a5..325e1db 100644
--- a/dlls/urlmon/tests/sec_mgr.c
+++ b/dlls/urlmon/tests/sec_mgr.c
@@ -281,7 +281,7 @@ static void test_polices(void)
IInternetZoneManager_Release(zonemgr);
}
-static void test_ZoneManager(void)
+static void test_GetZoneActionPolicy(void)
{
IInternetZoneManager *zonemgr = NULL;
BYTE buf[32];
@@ -321,6 +321,59 @@ static void test_ZoneManager(void)
IInternetZoneManager_Release(zonemgr);
}
+static void test_GetZoneAttributes(void)
+{
+ IInternetZoneManager *zonemgr = NULL;
+ CHAR buffer [sizeof(ZONEATTRIBUTES) + 32];
+ ZONEATTRIBUTES* pZA = (ZONEATTRIBUTES*) buffer;
+ HRESULT hr;
+ DWORD i;
+
+ hr = CoInternetCreateZoneManager(NULL, &zonemgr, 0);
+ ok(hr == S_OK, "CoInternetCreateZoneManager result: 0x%x\n", hr);
+ if (FAILED(hr))
+ return;
+
+ /* native urlmon has Zone "0" upto Zone "4" since IE4 */
+ for (i = 0; i < 5; i++) {
+ memset(buffer, -1, sizeof(buffer));
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, i, pZA);
+ ok(hr == S_OK, "#%d: got 0x%x (expected S_OK)\n", i, hr);
+ }
+
+ /* IE8 no longer set cbSize */
+ memset(buffer, -1, sizeof(buffer));
+ pZA->cbSize = 0;
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, pZA);
+ ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr);
+ ok((pZA->cbSize == 0) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
+ "got cbSize = %d (expected 0)\n", pZA->cbSize);
+
+ memset(buffer, -1, sizeof(buffer));
+ pZA->cbSize = 64;
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, pZA);
+ ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr);
+ ok((pZA->cbSize == 64) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
+ "got cbSize = %d (expected 64)\n", pZA->cbSize);
+
+ memset(buffer, -1, sizeof(buffer));
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, pZA);
+ ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr);
+ ok((pZA->cbSize == 0xffffffff) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
+ "got cbSize = 0x%x (expected 0xffffffff)\n", pZA->cbSize);
+
+ /* IE8 no longer fail on invalid zones */
+ memset(buffer, -1, sizeof(buffer));
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0xdeadbeef, pZA);
+ ok(hr == S_OK || (hr == E_FAIL),
+ "got 0x%x (expected S_OK or E_FAIL)\n", hr);
+
+ hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, NULL);
+ ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr);
+
+ hr = IInternetZoneManager_Release(zonemgr);
+ ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr);
+}
START_TEST(sec_mgr)
@@ -329,7 +382,8 @@ START_TEST(sec_mgr)
test_SecurityManager();
test_polices();
- test_ZoneManager();
+ test_GetZoneActionPolicy();
+ test_GetZoneAttributes();
OleUninitialize();
}
More information about the wine-cvs
mailing list