[2/4] qmgr: Implement IBackgroundCopyJob_GetDisplayName with test.
Dan Hipschman
dsh at linux.ucla.edu
Mon Feb 25 19:41:35 CST 2008
Implement IBackgroundCopyJob_GetDisplayName.
From: Roy Shea <roy at cs.hmc.edu>
Date: Thu Dec 20 18:38:31 CST 2007
---
dlls/qmgr/job.c | 14 ++++++++++++--
dlls/qmgr/tests/job.c | 18 ++++++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/dlls/qmgr/job.c b/dlls/qmgr/job.c
index b15f39b..b14783c 100644
--- a/dlls/qmgr/job.c
+++ b/dlls/qmgr/job.c
@@ -194,8 +194,18 @@ static HRESULT WINAPI BITS_IBackgroundCopyJob_GetDisplayName(
IBackgroundCopyJob* iface,
LPWSTR *pVal)
{
- FIXME("Not implemented\n");
- return E_NOTIMPL;
+ BackgroundCopyJobImpl *This = (BackgroundCopyJobImpl *) iface;
+ int n;
+
+ if (!pVal)
+ return E_INVALIDARG;
+
+ n = (lstrlenW(This->displayName) + 1) * sizeof **pVal;
+ *pVal = CoTaskMemAlloc(n);
+ if (*pVal == NULL)
+ return E_OUTOFMEMORY;
+ memcpy(*pVal, This->displayName, n);
+ return S_OK;
}
static HRESULT WINAPI BITS_IBackgroundCopyJob_SetDescription(
diff --git a/dlls/qmgr/tests/job.c b/dlls/qmgr/tests/job.c
index 9f216da..65ac06c 100644
--- a/dlls/qmgr/tests/job.c
+++ b/dlls/qmgr/tests/job.c
@@ -99,6 +99,23 @@ static void test_GetType(void)
ok(type == test_type, "Got incorrect type\n");
}
+/* Test that the display name is properly set */
+static void test_GetName(void)
+{
+ HRESULT hres;
+ LPWSTR displayName;
+
+ hres = IBackgroundCopyJob_GetDisplayName(test_job, &displayName);
+ ok(hres == S_OK, "GetName failed: %08x\n", hres);
+ if(hres != S_OK)
+ {
+ skip("Unable to get display name of test_job.\n");
+ return;
+ }
+ ok(lstrcmpW(displayName, test_displayName) == 0, "Got incorrect type\n");
+ CoTaskMemFree(displayName);
+}
+
typedef void (*test_t)(void);
START_TEST(job)
@@ -106,6 +123,7 @@ START_TEST(job)
static const test_t tests[] = {
test_GetId,
test_GetType,
+ test_GetName,
0
};
const test_t *test;
More information about the wine-patches
mailing list