Nikolay Sivov : mfmediaengine/tests: Add some tests for error property.

Alexandre Julliard julliard at winehq.org
Wed Jun 3 16:40:59 CDT 2020


Module: wine
Branch: master
Commit: 63d8cfa8f98181754c893655734cdbd69778ea5d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=63d8cfa8f98181754c893655734cdbd69778ea5d

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Jun  3 20:08:40 2020 +0300

mfmediaengine/tests: Add some tests for error property.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mfmediaengine/tests/mfmediaengine.c | 55 ++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/dlls/mfmediaengine/tests/mfmediaengine.c b/dlls/mfmediaengine/tests/mfmediaengine.c
index a5b80ef25f..59154c8d4f 100644
--- a/dlls/mfmediaengine/tests/mfmediaengine.c
+++ b/dlls/mfmediaengine/tests/mfmediaengine.c
@@ -490,6 +490,60 @@ static void test_mute(void)
     IMFMediaEngine_Release(media_engine);
 }
 
+static void test_error(void)
+{
+    struct media_engine_notify notify_impl = {{&media_engine_notify_vtbl}, 1};
+    IMFMediaEngineNotify *callback = &notify_impl.IMFMediaEngineNotify_iface;
+    IMFMediaEngine *media_engine;
+    IMFMediaError *eo, *eo2;
+    HRESULT hr;
+
+    media_engine = create_media_engine(callback);
+
+    eo = (void *)0xdeadbeef;
+    hr = IMFMediaEngine_GetError(media_engine, &eo);
+todo_wine {
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(!eo, "Unexpected instance.\n");
+}
+    hr = IMFMediaEngine_SetErrorCode(media_engine, MF_MEDIA_ENGINE_ERR_ENCRYPTED + 1);
+todo_wine
+    ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
+
+    hr = IMFMediaEngine_SetErrorCode(media_engine, MF_MEDIA_ENGINE_ERR_ABORTED);
+todo_wine
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+    eo = NULL;
+    hr = IMFMediaEngine_GetError(media_engine, &eo);
+todo_wine {
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(!!eo, "Unexpected instance.\n");
+}
+    eo2 = NULL;
+    hr = IMFMediaEngine_GetError(media_engine, &eo2);
+todo_wine {
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(eo2 != eo, "Unexpected instance.\n");
+}
+    if (eo2)
+        IMFMediaError_Release(eo2);
+    if (eo)
+        IMFMediaError_Release(eo);
+
+    hr = IMFMediaEngine_SetErrorCode(media_engine, MF_MEDIA_ENGINE_ERR_NOERROR);
+todo_wine
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+    eo = (void *)0xdeadbeef;
+    hr = IMFMediaEngine_GetError(media_engine, &eo);
+todo_wine {
+    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(!eo, "Unexpected instance.\n");
+}
+    IMFMediaEngine_Release(media_engine);
+}
+
 START_TEST(mfmediaengine)
 {
     HRESULT hr;
@@ -516,6 +570,7 @@ START_TEST(mfmediaengine)
     test_Play();
     test_playback_rate();
     test_mute();
+    test_error();
 
     IMFMediaEngineClassFactory_Release(factory);
 




More information about the wine-cvs mailing list