diff --git a/configure b/configure index f40e0125e4d..3e6e777d344 100755 --- a/configure +++ b/configure @@ -15024,6 +15024,7 @@ wine_fn_config_test dlls/dmloader/tests dmloader_test wine_fn_config_dll dmscript enable_dmscript wine_fn_config_dll dmstyle enable_dmstyle wine_fn_config_dll dmsynth enable_dmsynth +wine_fn_config_test dlls/dmsynth/tests dmsynth_test wine_fn_config_dll dmusic enable_dmusic wine_fn_config_test dlls/dmusic/tests dmusic_test wine_fn_config_dll dmusic32 enable_dmusic32 implib diff --git a/configure.ac b/configure.ac index 75406764930..667d725c904 100644 --- a/configure.ac +++ b/configure.ac @@ -2530,6 +2530,7 @@ WINE_CONFIG_TEST(dlls/dmloader/tests) WINE_CONFIG_DLL(dmscript) WINE_CONFIG_DLL(dmstyle) WINE_CONFIG_DLL(dmsynth) +WINE_CONFIG_TEST(dlls/dmsynth/tests) WINE_CONFIG_DLL(dmusic) WINE_CONFIG_TEST(dlls/dmusic/tests) WINE_CONFIG_DLL(dmusic32,,[implib]) diff --git a/dlls/dmsynth/tests/Makefile.in b/dlls/dmsynth/tests/Makefile.in new file mode 100644 index 00000000000..a3199182217 --- /dev/null +++ b/dlls/dmsynth/tests/Makefile.in @@ -0,0 +1,7 @@ +TESTDLL = dmsynth.dll +IMPORTS = oleaut32 ole32 uuid + +C_SRCS = \ + dmsynth.c + +@MAKE_TEST_RULES@ diff --git a/dlls/dmsynth/tests/dmsynth.c b/dlls/dmsynth/tests/dmsynth.c new file mode 100644 index 00000000000..af2b7cbe17c --- /dev/null +++ b/dlls/dmsynth/tests/dmsynth.c @@ -0,0 +1,60 @@ +/* + * Unit tests for dmsynth functions + * + * Copyright (C) 2012 Christian Costa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define COBJMACROS + +#include + +#include "wine/test.h" +#include "uuids.h" +#include "ole2.h" +#include "initguid.h" +#include "dmusics.h" +#include "dmusici.h" + +static void test_dmsynth(void) +{ + IDirectMusicSynth *dmsynth = NULL; + IDirectMusicSynthSink *dmsynth_sink = NULL; + HRESULT hr; + + hr = CoCreateInstance(&CLSID_DirectMusicSynth, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynth, (LPVOID*)&dmsynth); + if (hr != S_OK) + { + skip("Cannot create DirectMusicSync object (%x)\n", hr); + return; + } + + hr = CoCreateInstance(&CLSID_DirectMusicSynthSink, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynthSink, (LPVOID*)&dmsynth_sink); + todo_wine ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr); + + if (dmsynth_sink) + IDirectMusicSynthSink_Release(dmsynth_sink); + IDirectMusicSynth_Release(dmsynth); +} + +START_TEST(dmsynth) +{ + CoInitializeEx(NULL, COINIT_MULTITHREADED); + + test_dmsynth(); + + CoUninitialize(); +}