From: Jacek Caban jacek@codeweavers.com
--- dlls/urlmon/tests/sec_mgr.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/urlmon/tests/sec_mgr.c b/dlls/urlmon/tests/sec_mgr.c index 852ab527520..6f9bf3289fa 100644 --- a/dlls/urlmon/tests/sec_mgr.c +++ b/dlls/urlmon/tests/sec_mgr.c @@ -2103,6 +2103,7 @@ typedef struct _save_file_test { LPCWSTR name; BOOL remember; HRESULT hres; + HRESULT deny_hres; } save_file_test;
typedef struct _persist_file_test { @@ -2133,13 +2134,13 @@ static const persist_file_test persist_file_tests[] = { }, { { URLZONE_TRUSTED, S_OK }, - { NULL, FALSE, S_OK }, + { NULL, FALSE, S_OK, 0x80070003 }, { L"00000000-0000-0000-0000-000000000000", STGM_READWRITE | STGM_SHARE_DENY_NONE, S_OK }, { URLZONE_TRUSTED, S_OK } }, { { URLZONE_INTRANET, S_OK }, - { NULL, TRUE, S_OK }, + { NULL, TRUE, S_OK, 0x80070003 }, { L"00000000-0000-0000-0000-000000000000", STGM_READWRITE | STGM_SHARE_DENY_NONE, S_OK }, { URLZONE_INTRANET, S_OK } }, @@ -2238,6 +2239,13 @@ static void test_IPersistFile_iface(IPersistFile *persist_file_save, IZoneIdenti }
hres = IPersistFile_Save(persist_file_save, file_path, test.save.remember); + if (hres == test.save.deny_hres) + { + skip("%lu) Save denied\n", i); + if (file_path) + DeleteFileW(file_path); + continue; + } ok(hres == test.save.hres, "%lu) Unexpected Save result: 0x%08lx, expected result: 0x%08lx\n", i, hres, test.save.hres); @@ -2318,6 +2326,7 @@ static void test_PersistentZoneIdentifier(void) IUnknown *unk, *unk2; IPersistFile *persist_file, *persist_file2; IZoneIdentifier *zone_id, *zone_id2; + DWORD zone; HRESULT hres;
trace("Testing uninitialized state of PersistentZoneIdetifier...\n"); @@ -2329,6 +2338,13 @@ static void test_PersistentZoneIdentifier(void) hres = IUnknown_QueryInterface(unk, &IID_IZoneIdentifier, (void**)&zone_id); ok(hres == S_OK, "Failed to obtain IZoneIdentifier iface: 0x%08lx\n", hres);
+ hres = IZoneIdentifier_GetId(zone_id, &zone); + if (hres == 0x80070002) + { + win_skip("Detected broken old Window version, skipping PersistentZoneIdetifier tests\n"); + return; + } + hres = IUnknown_QueryInterface(unk, &IID_IPersistFile, (void**)&persist_file); ok(hres == S_OK, "Failed to obtain IPersistFile iface: 0x%08lx\n", hres);