https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ebaf247c9e9910ec44d674bb57aecc3efb885256

commit ebaf247c9e9910ec44d674bb57aecc3efb885256
Author:     Amine Khaldi <[email protected]>
AuthorDate: Sat Dec 7 13:11:29 2019 +0100
Commit:     Amine Khaldi <[email protected]>
CommitDate: Sat Dec 7 13:11:29 2019 +0100

    [WMVCORE_WINETEST] Sync with Wine Staging 4.18. CORE-16441
---
 modules/rostests/winetests/wmvcore/wmvcore.c | 110 ++++++++++++++++++++++++++-
 1 file changed, 109 insertions(+), 1 deletion(-)

diff --git a/modules/rostests/winetests/wmvcore/wmvcore.c 
b/modules/rostests/winetests/wmvcore/wmvcore.c
index b11a5bf7dea..8af34e22b6b 100644
--- a/modules/rostests/winetests/wmvcore/wmvcore.c
+++ b/modules/rostests/winetests/wmvcore/wmvcore.c
@@ -1,5 +1,6 @@
 /*
  * Copyright 2017 Alistair Leslie-Hughes
+ * Copyright 2019 Vijay Kiran Kamuju
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -18,7 +19,7 @@
 #define COBJMACROS
 #define WIN32_LEAN_AND_MEAN
 #include "initguid.h"
-#include "wmsdkidl.h"
+#include "wmsdk.h"
 
 #include "wine/test.h"
 
@@ -201,6 +202,91 @@ static void test_wmreader_interfaces(void)
     IWMReader_Release(reader);
 }
 
+static void test_wmsyncreader_interfaces(void)
+{
+    HRESULT hr;
+    IWMSyncReader      *reader;
+    IWMHeaderInfo      *header;
+    IWMHeaderInfo2     *header2;
+    IWMHeaderInfo3     *header3;
+    IWMProfile         *profile;
+    IWMProfile2        *profile2;
+    IWMProfile3        *profile3;
+    IWMPacketSize      *packet;
+    IWMPacketSize2     *packet2;
+    IWMReaderTimecode     *timecode;
+    IWMReaderPlaylistBurn *playlist;
+    IWMLanguageList       *langlist;
+
+    hr = WMCreateSyncReader( NULL, 0, &reader );
+    ok(hr == S_OK, "WMCreateSyncReader failed 0x%08x\n", hr);
+    if(FAILED(hr))
+    {
+        win_skip("Failed to create IWMSyncReader\n");
+        return;
+    }
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo, (void 
**)&header);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo2, (void 
**)&header2);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo3, (void 
**)&header3);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile, (void 
**)&profile);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile2, (void 
**)&profile2);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile3, (void 
**)&profile3);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMPacketSize, (void 
**)&packet);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMPacketSize2, (void 
**)&packet2);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMReaderTimecode, (void 
**)&timecode);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMReaderPlaylistBurn, 
(void **)&playlist);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    hr = IWMSyncReader_QueryInterface(reader, &IID_IWMLanguageList, (void 
**)&langlist);
+    todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
+
+    if(packet)
+        IWMPacketSize_Release(packet);
+    if(packet2)
+        IWMPacketSize2_Release(packet2);
+    if(profile)
+        IWMProfile_Release(profile);
+    if(profile2)
+        IWMProfile2_Release(profile2);
+    if(profile3)
+        IWMProfile3_Release(profile3);
+    if(header)
+        IWMHeaderInfo_Release(header);
+    if(header2)
+        IWMHeaderInfo2_Release(header2);
+    if(header3)
+        IWMHeaderInfo3_Release(header3);
+    if(timecode)
+        IWMReaderTimecode_Release(timecode);
+    if(playlist)
+        IWMReaderPlaylistBurn_Release(playlist);
+    if(langlist)
+        IWMLanguageList_Release(langlist);
+
+
+    IWMSyncReader_Release(reader);
+}
+
+
 static void test_profile_manager_interfaces(void)
 {
     HRESULT hr;
@@ -232,6 +318,26 @@ static void test_WMCreateWriterPriv(void)
     IWMWriter_Release(writer2);
 }
 
+static void test_urlextension(void)
+{
+    HRESULT hr;
+    const WCHAR mp3file[] = {'t','e','s','t','.','m','p','3',0};
+    const WCHAR mkvfile[] = {'t','e','s','t','.','m','k','v',0};
+    const WCHAR urlfile[] = 
{'a','b','c','d',':','/','/','t','e','s','t','/','t','e','s','t','.','w','m','v',0};
+    const WCHAR testurl[] = 
{'h','t','t','p',':','/','/','t','e','s','t','/','t','.','a','s','f','?','a','l','t','=','t','.','m','k','v',0};
+
+    hr = WMCheckURLExtension(NULL);
+    ok(hr == E_INVALIDARG, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(mkvfile);
+    ok(hr == NS_E_INVALID_NAME, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(mp3file);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(urlfile);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(testurl);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+}
+
 START_TEST(wmvcore)
 {
     HRESULT hr;
@@ -242,9 +348,11 @@ START_TEST(wmvcore)
         return;
 
     test_wmreader_interfaces();
+    test_wmsyncreader_interfaces();
     test_wmwriter_interfaces();
     test_profile_manager_interfaces();
     test_WMCreateWriterPriv();
+    test_urlextension();
 
     CoUninitialize();
 }

Reply via email to