Piotr Caban : msvcrt: Added fputwc tests.
Alexandre Julliard
julliard at winehq.org
Fri Jan 11 13:46:58 CST 2013
Module: wine
Branch: master
Commit: 77f3ce0b10248537db8254dad728a4f9a911101d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=77f3ce0b10248537db8254dad728a4f9a911101d
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Jan 11 11:18:57 2013 +0100
msvcrt: Added fputwc tests.
---
dlls/msvcrt/tests/file.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/file.c b/dlls/msvcrt/tests/file.c
index b74e1d9..392b1a0 100644
--- a/dlls/msvcrt/tests/file.c
+++ b/dlls/msvcrt/tests/file.c
@@ -792,6 +792,63 @@ static void test_fgetwc( void )
free(tempf);
}
+static void test_fputwc(void)
+{
+ char temppath[MAX_PATH];
+ char tempfile[MAX_PATH];
+ FILE *f;
+ char buf[1024];
+ int ret;
+
+ GetTempPath (MAX_PATH, temppath);
+ GetTempFileName (temppath, "", 0, tempfile);
+
+ f = fopen(tempfile, "w");
+ ret = fputwc('a', f);
+ ok(ret == 'a', "fputwc returned %x, expected 'a'\n", ret);
+ ret = fputwc('\n', f);
+ ok(ret == '\n', "fputwc returned %x, expected '\\n'\n", ret);
+ fclose(f);
+
+ f = fopen(tempfile, "rb");
+ ret = fread(buf, 1, sizeof(buf), f);
+ ok(ret == 3, "fread returned %d, expected 3\n", ret);
+ ok(!memcmp(buf, "a\r\n", 3), "incorrect file data\n");
+ fclose(f);
+
+ if(p_fopen_s) {
+ f = fopen(tempfile, "w,ccs=unicode");
+ ret = fputwc('a', f);
+ ok(ret == 'a', "fputwc returned %x, expected 'a'\n", ret);
+ ret = fputwc('\n', f);
+ ok(ret == '\n', "fputwc returned %x, expected '\\n'\n", ret);
+ fclose(f);
+
+ f = fopen(tempfile, "rb");
+ ret = fread(buf, 1, sizeof(buf), f);
+ ok(ret == 8, "fread returned %d, expected 8\n", ret);
+ ok(!memcmp(buf, "\xff\xfe\x61\x00\r\x00\n\x00", 8), "incorrect file data\n");
+ fclose(f);
+
+ f = fopen(tempfile, "w,ccs=utf-8");
+ ret = fputwc('a', f);
+ ok(ret == 'a', "fputwc returned %x, expected 'a'\n", ret);
+ ret = fputwc('\n', f);
+ ok(ret == '\n', "fputwc returned %x, expected '\\n'\n", ret);
+ fclose(f);
+
+ f = fopen(tempfile, "rb");
+ ret = fread(buf, 1, sizeof(buf), f);
+ ok(ret == 6, "fread returned %d, expected 6\n", ret);
+ ok(!memcmp(buf, "\xef\xbb\xbf\x61\r\n", 6), "incorrect file data\n");
+ fclose(f);
+ }else {
+ win_skip("fputwc tests on unicode files\n");
+ }
+
+ _unlink(tempfile);
+}
+
static void test_ctrlz( void )
{
char* tempf;
@@ -1955,6 +2012,7 @@ START_TEST(file)
test_flsbuf();
test_fflush();
test_fgetwc();
+ test_fputwc();
test_ctrlz();
test_file_put_get();
test_tmpnam();
More information about the wine-cvs
mailing list