Commit c8362ec3 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

riched20: Added tom typelib.

I had to duplicate idl unfortunately, because typelib in riched20 is not compatible with interfaces from tom.idl - method names are different, while vtables are identical.
parent f0959dc1
...@@ -17527,7 +17527,7 @@ wine_fn_config_test dlls/rasapi32/tests rasapi32_test ...@@ -17527,7 +17527,7 @@ wine_fn_config_test dlls/rasapi32/tests rasapi32_test
wine_fn_config_dll rasdlg enable_rasdlg implib wine_fn_config_dll rasdlg enable_rasdlg implib
wine_fn_config_dll regapi enable_regapi wine_fn_config_dll regapi enable_regapi
wine_fn_config_dll resutils enable_resutils implib wine_fn_config_dll resutils enable_resutils implib
wine_fn_config_dll riched20 enable_riched20 implib wine_fn_config_dll riched20 enable_riched20 clean,implib
wine_fn_config_test dlls/riched20/tests riched20_test wine_fn_config_test dlls/riched20/tests riched20_test
wine_fn_config_dll riched32 enable_riched32 wine_fn_config_dll riched32 enable_riched32
wine_fn_config_test dlls/riched32/tests riched32_test wine_fn_config_test dlls/riched32/tests riched32_test
......
...@@ -3217,7 +3217,7 @@ WINE_CONFIG_TEST(dlls/rasapi32/tests) ...@@ -3217,7 +3217,7 @@ WINE_CONFIG_TEST(dlls/rasapi32/tests)
WINE_CONFIG_DLL(rasdlg,,[implib]) WINE_CONFIG_DLL(rasdlg,,[implib])
WINE_CONFIG_DLL(regapi) WINE_CONFIG_DLL(regapi)
WINE_CONFIG_DLL(resutils,,[implib]) WINE_CONFIG_DLL(resutils,,[implib])
WINE_CONFIG_DLL(riched20,,[implib]) WINE_CONFIG_DLL(riched20,,[clean,implib])
WINE_CONFIG_TEST(dlls/riched20/tests) WINE_CONFIG_TEST(dlls/riched20/tests)
WINE_CONFIG_DLL(riched32) WINE_CONFIG_DLL(riched32)
WINE_CONFIG_TEST(dlls/riched32/tests) WINE_CONFIG_TEST(dlls/riched32/tests)
......
...@@ -25,3 +25,6 @@ C_SRCS = \ ...@@ -25,3 +25,6 @@ C_SRCS = \
writer.c writer.c
RC_SRCS = version.rc RC_SRCS = version.rc
IDL_SRCS = \
riched_tom.idl
...@@ -35,6 +35,8 @@ ...@@ -35,6 +35,8 @@
static HMODULE hmoduleRichEdit; static HMODULE hmoduleRichEdit;
DEFINE_GUID(GUID_NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
#define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__) #define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__)
static void _expect_ref(IUnknown* obj, ULONG ref, int line) static void _expect_ref(IUnknown* obj, ULONG ref, int line)
{ {
...@@ -1308,6 +1310,43 @@ static void test_GetPara(void) ...@@ -1308,6 +1310,43 @@ static void test_GetPara(void)
release_interfaces(&hwnd, &reOle, &doc, NULL); release_interfaces(&hwnd, &reOle, &doc, NULL);
} }
static void test_dispatch(void)
{
static const WCHAR testnameW[] = {'G','e','t','T','e','x','t',0};
static const WCHAR testname2W[] = {'T','e','x','t',0};
IRichEditOle *reOle = NULL;
ITextDocument *doc = NULL;
ITextRange *range = NULL;
WCHAR *nameW;
DISPID dispid;
HRESULT hr;
HWND hwnd;
create_interfaces(&hwnd, &reOle, &doc, NULL);
range = NULL;
hr = ITextDocument_Range(doc, 0, 0, &range);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(range != NULL, "got %p\n", range);
dispid = 123;
nameW = (WCHAR*)testnameW;
hr = ITextRange_GetIDsOfNames(range, &IID_NULL, &nameW, 1, LOCALE_USER_DEFAULT, &dispid);
todo_wine {
ok(hr == DISP_E_UNKNOWNNAME, "got 0x%08x\n", hr);
ok(dispid == DISPID_UNKNOWN, "got %d\n", dispid);
}
dispid = 123;
nameW = (WCHAR*)testname2W;
hr = ITextRange_GetIDsOfNames(range, &IID_NULL, &nameW, 1, LOCALE_USER_DEFAULT, &dispid);
todo_wine {
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(dispid == DISPID_VALUE, "got %d\n", dispid);
}
ITextRange_Release(range);
release_interfaces(&hwnd, &reOle, &doc, NULL);
}
START_TEST(richole) START_TEST(richole)
{ {
/* Must explicitly LoadLibrary(). The test has no references to functions in /* Must explicitly LoadLibrary(). The test has no references to functions in
...@@ -1331,4 +1370,5 @@ START_TEST(richole) ...@@ -1331,4 +1370,5 @@ START_TEST(richole)
test_IOleInPlaceSite_GetWindow(); test_IOleInPlaceSite_GetWindow();
test_GetFont(); test_GetFont();
test_GetPara(); test_GetPara();
test_dispatch();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment