Jacek Caban : scrrun/tests: Add test of lost trailing byte in unicode srteam.
Alexandre Julliard
julliard at winehq.org
Thu Nov 7 16:16:04 CST 2019
Module: wine
Branch: master
Commit: 9294823a7b680a86beee199784d3240cca662041
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9294823a7b680a86beee199784d3240cca662041
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Nov 7 17:10:49 2019 +0100
scrrun/tests: Add test of lost trailing byte in unicode srteam.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/scrrun/tests/filesystem.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c
index 3bd8634f25..68ac70ce3a 100644
--- a/dlls/scrrun/tests/filesystem.c
+++ b/dlls/scrrun/tests/filesystem.c
@@ -2032,6 +2032,32 @@ static void test_Read(void)
ITextStream_Release(stream);
+ /* ASCII file, read with Unicode stream */
+ /* 3. one byte content, 2 are interpreted as a character, 3rd is lost */
+ hr = IFileSystem3_CreateTextFile(fs3, nameW, VARIANT_TRUE, VARIANT_FALSE, &stream);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ str = SysAllocString(L"abc");
+ hr = ITextStream_Write(stream, str);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ SysFreeString(str);
+ ITextStream_Release(stream);
+
+ hr = IFileSystem3_OpenTextFile(fs3, nameW, ForReading, VARIANT_FALSE, TristateTrue, &stream);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ str = NULL;
+ hr = ITextStream_Read(stream, 500, &str);
+ ok(hr == S_FALSE || broken(hr == S_OK) /* win2003 */, "got 0x%08x\n", hr);
+ ok(SysStringLen(str) == 1, "len = %u\n", SysStringLen(str));
+ SysFreeString(str);
+
+ str = (void*)0xdeadbeef;
+ hr = ITextStream_Read(stream, 500, &str);
+ ok(hr == CTL_E_ENDOFFILE, "got 0x%08x\n", hr);
+ ok(str == NULL, "got %p\n", str);
+
+ ITextStream_Release(stream);
+
DeleteFileW(nameW);
RemoveDirectoryW(dirW);
SysFreeString(nameW);
More information about the wine-cvs
mailing list