Jacek Caban : shdocvw: Clean tests skipping.
Alexandre Julliard
julliard at winehq.org
Fri Apr 8 10:50:59 CDT 2011
Module: wine
Branch: master
Commit: 29ce9a1ff8233ff6bc84db07180fd80f2c462f8d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=29ce9a1ff8233ff6bc84db07180fd80f2c462f8d
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Apr 8 11:58:32 2011 +0200
shdocvw: Clean tests skipping.
---
dlls/shdocvw/tests/intshcut.c | 96 +++++++++++++++++++++--------------------
1 files changed, 49 insertions(+), 47 deletions(-)
diff --git a/dlls/shdocvw/tests/intshcut.c b/dlls/shdocvw/tests/intshcut.c
index e8afb74..023df4d 100644
--- a/dlls/shdocvw/tests/intshcut.c
+++ b/dlls/shdocvw/tests/intshcut.c
@@ -120,15 +120,12 @@ static void test_QueryInterface(void)
IUnknown *pUnknown;
hr = CoCreateInstance(&CLSID_InternetShortcut, NULL, CLSCTX_ALL, &IID_IUnknown, (void**)&pUnknown);
- if (SUCCEEDED(hr))
- {
- can_query_interface(pUnknown, &IID_IUniformResourceLocatorA);
- can_query_interface(pUnknown, &IID_IUniformResourceLocatorW);
- can_query_interface(pUnknown, &IID_IPersistFile);
- IUnknown_Release(pUnknown);
- }
- else
- skip("could not create a CLSID_InternetShortcut for QueryInterface tests, hr=0x%x\n", hr);
+ ok(hr == S_OK, "Could not create InternetShortcut object: %08x\n", hr);
+
+ can_query_interface(pUnknown, &IID_IUniformResourceLocatorA);
+ can_query_interface(pUnknown, &IID_IUniformResourceLocatorW);
+ can_query_interface(pUnknown, &IID_IPersistFile);
+ IUnknown_Release(pUnknown);
}
static CHAR *set_and_get_url(IUniformResourceLocatorA *urlA, LPCSTR input, DWORD flags)
@@ -176,15 +173,17 @@ static BOOL check_ie(void)
static void test_ReadAndWriteProperties(void)
{
+ int iconIndex = 7;
+ PROPSPEC ps[2];
HRESULT hr;
IUniformResourceLocatorA *urlA;
IUniformResourceLocatorA *urlAFromFile;
WCHAR fileNameW[MAX_PATH];
+
static const WCHAR shortcutW[] = {'t','e','s','t','s','h','o','r','t','c','u','t','.','u','r','l',0};
WCHAR iconPath[] = {'f','i','l','e',':','/','/','/','C',':','/','a','r','b','i','t','r','a','r','y','/','i','c','o','n','/','p','a','t','h',0};
- int iconIndex = 7;
char testurl[] = "http://some/bogus/url.html";
- PROPSPEC ps[2];
+
ps[0].ulKind = PRSPEC_PROPID;
U(ps[0]).propid = PID_IS_ICONFILE;
ps[1].ulKind = PRSPEC_PROPID;
@@ -290,29 +289,25 @@ static void test_ReadAndWriteProperties(void)
static void test_NullURLs(void)
{
+ LPSTR url = NULL;
HRESULT hr;
IUniformResourceLocatorA *urlA;
hr = CoCreateInstance(&CLSID_InternetShortcut, NULL, CLSCTX_ALL, &IID_IUniformResourceLocatorA, (void**)&urlA);
- if (SUCCEEDED(hr))
- {
- LPSTR url = NULL;
+ ok(hr == S_OK, "Could not create InternetShortcut object: %08x\n", hr);
- hr = urlA->lpVtbl->GetURL(urlA, &url);
- ok(SUCCEEDED(hr), "getting uninitialized URL unexpectedly failed, hr=0x%x\n", hr);
- ok(url == NULL, "uninitialized URL is not NULL but %s\n", url);
+ hr = urlA->lpVtbl->GetURL(urlA, &url);
+ ok(SUCCEEDED(hr), "getting uninitialized URL unexpectedly failed, hr=0x%x\n", hr);
+ ok(url == NULL, "uninitialized URL is not NULL but %s\n", url);
- hr = urlA->lpVtbl->SetURL(urlA, NULL, 0);
- ok(SUCCEEDED(hr), "setting NULL URL unexpectedly failed, hr=0x%x\n", hr);
+ hr = urlA->lpVtbl->SetURL(urlA, NULL, 0);
+ ok(SUCCEEDED(hr), "setting NULL URL unexpectedly failed, hr=0x%x\n", hr);
- hr = urlA->lpVtbl->GetURL(urlA, &url);
- ok(SUCCEEDED(hr), "getting NULL URL unexpectedly failed, hr=0x%x\n", hr);
- ok(url == NULL, "URL unexpectedly not NULL but %s\n", url);
+ hr = urlA->lpVtbl->GetURL(urlA, &url);
+ ok(SUCCEEDED(hr), "getting NULL URL unexpectedly failed, hr=0x%x\n", hr);
+ ok(url == NULL, "URL unexpectedly not NULL but %s\n", url);
- urlA->lpVtbl->Release(urlA);
- }
- else
- skip("could not create a CLSID_InternetShortcut for NullURL tests, hr=0x%x\n", hr);
+ urlA->lpVtbl->Release(urlA);
}
static void test_SetURLFlags(void)
@@ -321,38 +316,45 @@ static void test_SetURLFlags(void)
IUniformResourceLocatorA *urlA;
hr = CoCreateInstance(&CLSID_InternetShortcut, NULL, CLSCTX_ALL, &IID_IUniformResourceLocatorA, (void**)&urlA);
- if (SUCCEEDED(hr))
- {
- check_string_transform(urlA, "somerandomstring", 0, "somerandomstring");
- check_string_transform(urlA, "www.winehq.org", 0, "www.winehq.org");
+ ok(hr == S_OK, "Could not create InternetShortcut object: %08x\n", hr);
- todo_wine
- {
- check_string_transform(urlA, "www.winehq.org", IURL_SETURL_FL_GUESS_PROTOCOL, "http://www.winehq.org/");
- check_string_transform(urlA, "ftp.winehq.org", IURL_SETURL_FL_GUESS_PROTOCOL, "ftp://ftp.winehq.org/");
- }
+ check_string_transform(urlA, "somerandomstring", 0, "somerandomstring");
+ check_string_transform(urlA, "www.winehq.org", 0, "www.winehq.org");
- urlA->lpVtbl->Release(urlA);
- }
- else
- skip("could not create a CLSID_InternetShortcut for SetUrl tests, hr=0x%x\n", hr);
+ todo_wine
+ check_string_transform(urlA, "www.winehq.org", IURL_SETURL_FL_GUESS_PROTOCOL, "http://www.winehq.org/");
+ todo_wine
+ check_string_transform(urlA, "ftp.winehq.org", IURL_SETURL_FL_GUESS_PROTOCOL, "ftp://ftp.winehq.org/");
+
+ urlA->lpVtbl->Release(urlA);
}
static void test_InternetShortcut(void)
{
- if (check_ie())
- {
- test_Aggregability();
- test_QueryInterface();
- test_NullURLs();
- test_SetURLFlags();
- test_ReadAndWriteProperties();
+ IUniformResourceLocatorA *url;
+ HRESULT hres;
+
+ hres = CoCreateInstance(&CLSID_InternetShortcut, NULL, CLSCTX_ALL, &IID_IUniformResourceLocatorA, (void**)&url);
+ if(FAILED(hres)) {
+ win_skip("Could not create CLSID_InternetShortcut instance: %08x\n", hres);
+ return;
}
+
+ test_Aggregability();
+ test_QueryInterface();
+ test_NullURLs();
+ test_SetURLFlags();
+ test_ReadAndWriteProperties();
}
START_TEST(intshcut)
{
OleInitialize(NULL);
- test_InternetShortcut();
+
+ if(check_ie())
+ test_InternetShortcut();
+ else
+ win_skip("Too old IE\n");
+
OleUninitialize();
}
More information about the wine-cvs
mailing list