[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