diff --git a/configure b/configure index 3e28ac28cb4..314ddb5ed36 100755 --- a/configure +++ b/configure @@ -20625,6 +20625,7 @@ wine_fn_config_makefile dlls/dinput/tests enable_tests wine_fn_config_makefile dlls/dinput8 enable_dinput8 wine_fn_config_makefile dlls/dinput8/tests enable_tests wine_fn_config_makefile dlls/directmanipulation enable_directmanipulation +wine_fn_config_makefile dlls/directmanipulation/tests enable_tests wine_fn_config_makefile dlls/dispdib.dll16 enable_win16 wine_fn_config_makefile dlls/dispex enable_dispex wine_fn_config_makefile dlls/dispex/tests enable_tests diff --git a/configure.ac b/configure.ac index 8a76b74e83d..9c5f76669df 100644 --- a/configure.ac +++ b/configure.ac @@ -3211,6 +3211,7 @@ WINE_CONFIG_MAKEFILE(dlls/dinput/tests) WINE_CONFIG_MAKEFILE(dlls/dinput8) WINE_CONFIG_MAKEFILE(dlls/dinput8/tests) WINE_CONFIG_MAKEFILE(dlls/directmanipulation) +WINE_CONFIG_MAKEFILE(dlls/directmanipulation/tests) WINE_CONFIG_MAKEFILE(dlls/dispdib.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/dispex) WINE_CONFIG_MAKEFILE(dlls/dispex/tests) diff --git a/dlls/directmanipulation/tests/Makefile.in b/dlls/directmanipulation/tests/Makefile.in new file mode 100644 index 00000000000..29ec0db511a --- /dev/null +++ b/dlls/directmanipulation/tests/Makefile.in @@ -0,0 +1,5 @@ +TESTDLL = directmanipulation.dll +IMPORTS = uuid ole32 + +C_SRCS = \ + manipulation.c diff --git a/dlls/directmanipulation/tests/manipulation.c b/dlls/directmanipulation/tests/manipulation.c new file mode 100644 index 00000000000..93b692729b3 --- /dev/null +++ b/dlls/directmanipulation/tests/manipulation.c @@ -0,0 +1,60 @@ +/* + * + * Copyright 2019 Alistair Leslie-Hughes + * + * 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 "windows.h" +#include "directmanipulation.h" + +#include "wine/test.h" + +static void test_IDirectManipulationManager2(void) +{ + IDirectManipulationManager2 *manager2; + IDirectManipulationUpdateManager *update; + HRESULT hres; + + hres = CoCreateInstance(&CLSID_DirectManipulationManager, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, + &IID_IDirectManipulationManager2, (void**)&manager2); + if(FAILED(hres)) + { + win_skip("Failed to create XMLView instance\n"); + return; + } + ok(hres == S_OK, "CoCreateInstance returned %x, expected S_OK\n", hres); + + hres = IDirectManipulationManager2_GetUpdateManager(manager2, &IID_IDirectManipulationUpdateManager, (void**)&update); + ok(hres == S_OK, "returned %x, expected S_OK\n", hres); + + if(update) + IDirectManipulationUpdateManager_Release(update); + + IDirectManipulationManager2_Release(manager2); +} + +START_TEST(manipulation) +{ + CoInitialize(NULL); + + test_IDirectManipulationManager2(); + + CoUninitialize(); +}