Piotr Caban : msvcrt: Added _set_output_format tests.
Alexandre Julliard
julliard at winehq.org
Wed Mar 27 15:40:05 CDT 2013
Module: wine
Branch: master
Commit: 343122a494b66ad5b58b6f064604a405b36334d3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=343122a494b66ad5b58b6f064604a405b36334d3
Author: Piotr Caban <piotr at codeweavers.com>
Date: Wed Mar 27 10:39:42 2013 +0100
msvcrt: Added _set_output_format tests.
---
dlls/msvcrt/tests/printf.c | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcrt/tests/printf.c b/dlls/msvcrt/tests/printf.c
index 0d4a241..e61ca5f 100644
--- a/dlls/msvcrt/tests/printf.c
+++ b/dlls/msvcrt/tests/printf.c
@@ -44,6 +44,7 @@ static int (__cdecl *p__ecvt_s)(char *buffer, size_t length, double number,
static int (__cdecl *p__fcvt_s)(char *buffer, size_t length, double number,
int ndigits, int *decpt, int *sign);
static unsigned int (__cdecl *p__get_output_format)(void);
+static unsigned int (__cdecl *p__set_output_format)(unsigned int);
static int (__cdecl *p__vsprintf_p)(char*, size_t, const char*, __ms_va_list);
static int (__cdecl *p_vswprintf)(wchar_t *str, const wchar_t *format, __ms_va_list valist);
static int (__cdecl *p__vswprintf)(wchar_t *str, const wchar_t *format, __ms_va_list valist);
@@ -66,6 +67,7 @@ static void init( void )
p__ecvt_s = (void *)GetProcAddress(hmod, "_ecvt_s");
p__fcvt_s = (void *)GetProcAddress(hmod, "_fcvt_s");
p__get_output_format = (void *)GetProcAddress(hmod, "_get_output_format");
+ p__set_output_format = (void *)GetProcAddress(hmod, "_set_output_format");
p__vsprintf_p = (void*)GetProcAddress(hmod, "_vsprintf_p");
p_vswprintf = (void*)GetProcAddress(hmod, "vswprintf");
p__vswprintf = (void*)GetProcAddress(hmod, "_vswprintf");
@@ -1316,15 +1318,34 @@ static void test_vsprintf_p(void)
static void test__get_output_format(void)
{
unsigned int ret;
+ char buf[64];
+ int c;
- if (!p__get_output_format)
+ if (!p__get_output_format || !p__set_output_format)
{
- win_skip("_get_output_format not available\n");
+ win_skip("_get_output_format or _set_output_format is not available\n");
return;
}
ret = p__get_output_format();
ok(ret == 0, "got %d\n", ret);
+
+ c = sprintf(buf, "%E", 1.23);
+ ok(c == 13, "c = %d\n", c);
+ ok(!strcmp(buf, "1.230000E+000"), "buf = %s\n", buf);
+
+ ret = p__set_output_format(_TWO_DIGIT_EXPONENT);
+ ok(ret == 0, "got %d\n", ret);
+
+ c = sprintf(buf, "%E", 1.23);
+ ok(c == 12, "c = %d\n", c);
+ ok(!strcmp(buf, "1.230000E+00"), "buf = %s\n", buf);
+
+ ret = p__get_output_format();
+ ok(ret == _TWO_DIGIT_EXPONENT, "got %d\n", ret);
+
+ ret = p__set_output_format(_TWO_DIGIT_EXPONENT);
+ ok(ret == _TWO_DIGIT_EXPONENT, "got %d\n", ret);
}
START_TEST(printf)
More information about the wine-cvs
mailing list