ReactOS  0.4.15-dev-2776-g4130f0b
progressdlg.c
Go to the documentation of this file.
1 /* Unit tests for progressdialog object
2  *
3  * Copyright 2012 Detlef Riekenberg
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19 
20 #define COBJMACROS
21 
22 #include <stdarg.h>
23 #include <shlobj.h>
24 
25 #include "wine/test.h"
26 
27 
29 {
30  IProgressDialog *dlg;
31  IProgressDialog *dlg2;
32  IOleWindow *olewindow;
33  IUnknown *unk;
34  HRESULT hr;
35 
36  hr = CoCreateInstance(&CLSID_ProgressDialog, NULL, CLSCTX_INPROC_SERVER, &IID_IProgressDialog, (void*)&dlg);
37  if (FAILED(hr)) {
38  win_skip("CoCreateInstance for IProgressDialog returned 0x%x\n", hr);
39  return;
40  }
41 
43  ok(hr == E_POINTER, "got 0x%x (expected E_POINTER)\n", hr);
44 
45  hr = IProgressDialog_QueryInterface(dlg, &IID_IUnknown, (void**)&unk);
46  ok(hr == S_OK, "QueryInterface (IUnknown) returned 0x%x\n", hr);
47  if (SUCCEEDED(hr)) {
48  IUnknown_Release(unk);
49  }
50 
51  hr = IProgressDialog_QueryInterface(dlg, &IID_IOleWindow, (void**)&olewindow);
52  ok(hr == S_OK, "QueryInterface (IOleWindow) returned 0x%x\n", hr);
53  if (SUCCEEDED(hr)) {
54  hr = IOleWindow_QueryInterface(olewindow, &IID_IProgressDialog, (void**)&dlg2);
55  ok(hr == S_OK, "QueryInterface (IProgressDialog) returned 0x%x\n", hr);
56  if (SUCCEEDED(hr)) {
58  }
59  IOleWindow_Release(olewindow);
60  }
62 }
63 
64 
65 START_TEST(progressdlg)
66 {
68 
70 
72 }
#define IProgressDialog_QueryInterface(p, a, b)
Definition: shlobj.h:927
HRESULT hr
Definition: shlfolder.c:183
if SUCCEEDED(hr)
LONG HRESULT
Definition: typedefs.h:79
#define IProgressDialog_Release(p)
Definition: shlobj.h:929
const GUID IID_IUnknown
static void test_IProgressDialog_QueryInterface(void)
Definition: progressdlg.c:28
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define S_OK
Definition: intsafe.h:51
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
Definition: compobj.c:2067
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
Definition: compobj.c:1964
const GUID IID_IOleWindow
START_TEST(progressdlg)
Definition: progressdlg.c:65
#define E_POINTER
Definition: winerror.h:2365
#define win_skip
Definition: test.h:151