From c607ab96b6a5d61a5525c33fc828ed00ff40a720 Mon Sep 17 00:00:00 2001
From: Austin Lund <austin.lund@gmail.com>
Date: Fri, 9 Jan 2009 14:51:27 +1000
Subject: [PATCH] riched20/tests: Added ITextServices::TxSetText test.

---
 dlls/riched20/tests/Makefile.in |  2 +-
 dlls/riched20/tests/txtsrv.c    | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/dlls/riched20/tests/Makefile.in b/dlls/riched20/tests/Makefile.in
index 9690e5ea214..1f26e315bdb 100644
--- a/dlls/riched20/tests/Makefile.in
+++ b/dlls/riched20/tests/Makefile.in
@@ -3,7 +3,7 @@ TOPOBJDIR = ../../..
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 TESTDLL   = riched20.dll
-IMPORTS   = ole32 user32 gdi32 kernel32
+IMPORTS   = ole32 oleaut32 user32 gdi32 kernel32
 
 CTESTS = \
 	editor.c \
diff --git a/dlls/riched20/tests/txtsrv.c b/dlls/riched20/tests/txtsrv.c
index 37323776922..07145357688 100644
--- a/dlls/riched20/tests/txtsrv.c
+++ b/dlls/riched20/tests/txtsrv.c
@@ -31,6 +31,7 @@
 #include <initguid.h>
 #include <textserv.h>
 #include <wine/test.h>
+#include <oleauto.h>
 
 static HMODULE hmoduleRichEdit;
 
@@ -641,6 +642,30 @@ static void test_TxGetText(void)
     CoTaskMemFree(dummyTextHost);
 }
 
+static void test_TxSetText(void)
+{
+    HRESULT hres;
+    BSTR rettext;
+    WCHAR settext[] = {'T','e','s','t',0};
+
+    if (!init_texthost())
+        return;
+
+    hres = ITextServices_TxSetText(txtserv, settext);
+    todo_wine ok(hres == S_OK, "ITextServices_TxSetText failed\n");
+
+    hres = ITextServices_TxGetText(txtserv, &rettext);
+    todo_wine ok(hres == S_OK, "ITextServices_TxGetText failed\n");
+
+    todo_wine ok(SysStringLen(rettext) == 4,
+                 "String returned of wrong length\n");
+    todo_wine ok(memcmp(rettext,settext,SysStringByteLen(rettext)) == 0,
+                 "String returned differs\n");
+
+    IUnknown_Release(txtserv);
+    CoTaskMemFree(dummyTextHost);
+}
+
 START_TEST( txtsrv )
 {
     setup_thiscall_wrappers();
@@ -656,6 +681,7 @@ START_TEST( txtsrv )
         CoTaskMemFree(dummyTextHost);
 
         test_TxGetText();
+        test_TxSetText();
     }
     if (wrapperCodeMem) VirtualFree(wrapperCodeMem, 0, MEM_RELEASE);
 }
-- 
GitLab