dmcompos/tests: Check all IDirectMusicTrack_IsParamSupported() types.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Michael Stefaniuc 2019-11-19 21:02:50 +01:00 committed by Alexandre Julliard
parent f5ad835ec3
commit bcab0696e0
1 changed files with 46 additions and 0 deletions

View File

@ -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);