[PATCH] dmcompos/tests: Check all IDirectMusicTrack_IsParamSupported() types

Michael Stefaniuc mstefani at winehq.org
Tue Nov 19 14:02:50 CST 2019


Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
 dlls/dmcompos/tests/dmcompos.c | 46 ++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/dlls/dmcompos/tests/dmcompos.c b/dlls/dmcompos/tests/dmcompos.c
index d23f5d6dae..aaec921e89 100644
--- a/dlls/dmcompos/tests/dmcompos.c
+++ b/dlls/dmcompos/tests/dmcompos.c
@@ -270,6 +270,42 @@ static void test_chordmaptrack(void)
     CLSID class;
     ULARGE_INTEGER size;
     HRESULT hr;
+    #define X(guid)        &guid, #guid
+    const struct {
+        REFGUID type;
+        const char *name;
+    } unsupported[] = {
+        { X(GUID_BandParam) },
+        { X(GUID_ChordParam) },
+        { X(GUID_Clear_All_Bands) },
+        { X(GUID_CommandParam) },
+        { X(GUID_CommandParam2) },
+        { X(GUID_CommandParamNext) },
+        { X(GUID_ConnectToDLSCollection) },
+        { X(GUID_Disable_Auto_Download) },
+        { X(GUID_DisableTempo) },
+        { X(GUID_DisableTimeSig) },
+        { X(GUID_Download) },
+        { X(GUID_DownloadToAudioPath) },
+        { X(GUID_Enable_Auto_Download) },
+        { X(GUID_EnableTempo) },
+        { X(GUID_EnableTimeSig) },
+        { X(GUID_IDirectMusicBand) },
+        { X(GUID_IDirectMusicStyle) },
+        { X(GUID_MuteParam) },
+        { X(GUID_Play_Marker) },
+        { X(GUID_RhythmParam) },
+        { X(GUID_SeedVariations) },
+        { X(GUID_StandardMIDIFile) },
+        { X(GUID_TempoParam) },
+        { X(GUID_TimeSignature) },
+        { X(GUID_Unload) },
+        { X(GUID_UnloadFromAudioPath) },
+        { X(GUID_Valid_Start_Time) },
+        { X(GUID_Variations) },
+    };
+#undef X
+    unsigned int i;
 
     hr = CoCreateInstance(&CLSID_DirectMusicChordMapTrack, NULL, CLSCTX_INPROC_SERVER,
             &IID_IDirectMusicTrack8, (void**)&dmt8);
@@ -290,8 +326,18 @@ static void test_chordmaptrack(void)
     hr = IDirectMusicTrack8_SetParam(dmt8, NULL, 0, NULL);
     ok(hr == E_POINTER, "IDirectMusicTrack8_SetParam failed: %08x\n", hr);
     }
+
     hr = IDirectMusicTrack8_IsParamSupported(dmt8, NULL);
     ok(hr == E_POINTER, "IDirectMusicTrack8_IsParamSupported failed: %08x\n", hr);
+    hr = IDirectMusicTrack8_IsParamSupported(dmt8, &GUID_IDirectMusicChordMap);
+    ok(hr == S_OK, "IsParamSupported(GUID_IDirectMusicChordMap) failed: %08x, expected S_OK\n", hr);
+    for (i = 0; i < ARRAY_SIZE(unsupported); i++) {
+        hr = IDirectMusicTrack8_IsParamSupported(dmt8, unsupported[i].type);
+        ok(hr == DMUS_E_TYPE_UNSUPPORTED,
+                "IsParamSupported(%s) failed: %08x, expected DMUS_E_TYPE_UNSUPPORTED\n",
+                    unsupported[i].name, hr);
+    }
+
     hr = IDirectMusicTrack8_AddNotificationType(dmt8, NULL);
     ok(hr == E_NOTIMPL, "IDirectMusicTrack8_AddNotificationType failed: %08x\n", hr);
     hr = IDirectMusicTrack8_RemoveNotificationType(dmt8, NULL);
-- 
2.20.1




More information about the wine-devel mailing list