Module: wine Branch: master Commit: 29cc256b9a92e91258a0df69a6c09f3a3641ac01 URL: http://source.winehq.org/git/wine.git/?a=commit;h=29cc256b9a92e91258a0df69a6...
Author: Lei Zhang thestig@google.com Date: Thu Dec 13 03:12:42 2007 -0800
quartz: Add referenceclock QueryInterface test.
---
dlls/quartz/tests/referenceclock.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/dlls/quartz/tests/referenceclock.c b/dlls/quartz/tests/referenceclock.c index 2e50c5a..628fee0 100644 --- a/dlls/quartz/tests/referenceclock.c +++ b/dlls/quartz/tests/referenceclock.c @@ -27,6 +27,26 @@ #include "dshow.h" #include "control.h"
+static void test_IReferenceClock_query_interface(const char * clockdesc, IReferenceClock * pClock) +{ + HRESULT hr; + IUnknown *pF; + + hr = IReferenceClock_QueryInterface(pClock, &IID_IUnknown, (LPVOID *)&pF); + ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr); + ok(pF != NULL, "pF is NULL\n"); + + hr = IReferenceClock_QueryInterface(pClock, &IID_IDirectDraw, (LPVOID *)&pF); + ok(hr == E_NOINTERFACE, "IReferenceClock_QueryInterface returned %x\n", hr); + todo_wine { + ok(pF == NULL, "pF is not NULL\n"); + } + + hr = IReferenceClock_QueryInterface(pClock, &IID_IReferenceClock, (LPVOID *)&pF); + ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr); + ok(pF != NULL, "pF is NULL\n"); +} + /* The following method expects a reference clock that will keep ticking for * at least 5 seconds since its creation. This method assumes no other methods * were called on the IReferenceClock interface since its creation. @@ -81,6 +101,7 @@ static void test_IReferenceClock_SystemClock(void) ok(hr == S_OK, "Unable to create reference clock from system clock %x\n", hr); if (hr == S_OK) { + test_IReferenceClock_query_interface("SystemClock", pReferenceClock); test_IReferenceClock_methods("SystemClock", pReferenceClock); IReferenceClock_Release(pReferenceClock); }