YongHao Hu : msvcp90/tests: Add cout<< float test.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Oct 8 14:09:28 CDT 2014
Module: wine
Branch: master
Commit: d33ce5629f3482a3525316d12e94af21daf43745
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d33ce5629f3482a3525316d12e94af21daf43745
Author: YongHao Hu <christopherwuy at gmail.com>
Date: Tue Oct 7 09:48:06 2014 +0800
msvcp90/tests: Add cout<< float test.
---
dlls/msvcp90/tests/ios.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/dlls/msvcp90/tests/ios.c b/dlls/msvcp90/tests/ios.c
index 6eb23a9..470dc37 100644
--- a/dlls/msvcp90/tests/ios.c
+++ b/dlls/msvcp90/tests/ios.c
@@ -464,6 +464,8 @@ static fpos_int* (*__thiscall p_basic_istream_wchar_tellg)(basic_istr
static basic_istream_wchar* (*__cdecl p_basic_istream_wchar_getline_bstr_delim)(basic_istream_wchar*, basic_string_wchar*, wchar_t);
/* ostream */
+static basic_ostream_char* (*__thiscall p_basic_ostream_char_print_float)(basic_ostream_char*, float);
+
static basic_ostream_char* (*__thiscall p_basic_ostream_char_print_double)(basic_ostream_char*, double);
static basic_ostream_wchar* (*__thiscall p_basic_ostream_wchar_print_double)(basic_ostream_wchar*, double);
@@ -544,6 +546,7 @@ static void * (WINAPI *call_thiscall_func5)( void *func, void *this, const void
/* to silence compiler errors */
static void * (WINAPI *call_thiscall_func2_ptr_dbl)( void *func, void *this, double a );
+static void * (WINAPI *call_thiscall_func2_ptr_flt)( void *func, void *this, float a );
static void * (WINAPI *call_thiscall_func2_ptr_fpos)( void *func, void *this, fpos_int a );
static void init_thiscall_thunk(void)
@@ -562,6 +565,7 @@ static void init_thiscall_thunk(void)
call_thiscall_func5 = (void *)thunk;
call_thiscall_func2_ptr_dbl = (void *)thunk;
+ call_thiscall_func2_ptr_flt = (void *)thunk;
call_thiscall_func2_ptr_fpos = (void *)thunk;
}
@@ -574,6 +578,7 @@ static void init_thiscall_thunk(void)
(const void*)(c), (const void *)(d))
#define call_func2_ptr_dbl(func,_this,a) call_thiscall_func2_ptr_dbl(func,_this,a)
+#define call_func2_ptr_flt(func,_this,a) call_thiscall_func2_ptr_flt(func,_this,a)
#define call_func2_ptr_fpos(func,_this,a) call_thiscall_func2_ptr_fpos(func,_this,a)
#else
@@ -586,6 +591,7 @@ static void init_thiscall_thunk(void)
#define call_func5(func,_this,a,b,c,d) func(_this,a,b,c,d)
#define call_func2_ptr_dbl call_func2
+#define call_func2_ptr_flt call_func2
#define call_func2_ptr_fpos call_func2
#endif /* __i386__ */
@@ -682,6 +688,9 @@ static BOOL init(void)
SET(p_basic_istream_wchar_getline_bstr_delim,
"??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _W@Z");
+ SET(p_basic_ostream_char_print_float,
+ "??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at M@Z");
+
SET(p_basic_ostream_char_print_double,
"??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at N@Z");
@@ -796,6 +805,9 @@ static BOOL init(void)
SET(p_basic_istream_wchar_getline_bstr_delim,
"??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _W@Z");
+ SET(p_basic_ostream_char_print_float,
+ "??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAAAAV01 at M@Z");
+
SET(p_basic_ostream_char_print_double,
"??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAAAAV01 at N@Z");
@@ -909,6 +921,9 @@ static BOOL init(void)
SET(p_basic_istream_wchar_getline_bstr_delim,
"??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _W@Z");
+ SET(p_basic_ostream_char_print_float,
+ "??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at M@Z");
+
SET(p_basic_ostream_char_print_double,
"??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at N@Z");
@@ -1951,6 +1966,26 @@ static void test_ostream_print_ushort(void)
call_func1(p_basic_stringstream_wchar_vbase_dtor, &wss);
}
+static void test_ostream_print_float(void)
+{
+ static const char float_str[] = "3.14159";
+
+ basic_stringstream_char ss;
+ basic_string_char pstr;
+ const char *str;
+ float val;
+ val = 3.14159;
+
+ call_func1(p_basic_stringstream_char_ctor, &ss);
+ call_func2_ptr_flt(p_basic_ostream_char_print_float, &ss.base.base2, val);
+ call_func2(p_basic_stringstream_char_str_get, &ss, &pstr);
+ str = call_func1(p_basic_string_char_cstr, &pstr);
+ ok(!strcmp(float_str, str), "str = %s\n", str);
+
+ call_func1(p_basic_string_char_dtor, &pstr);
+ call_func1(p_basic_stringstream_char_vbase_dtor, &ss);
+}
+
static void test_ostream_print_double(void)
{
static const char double_str[] = "3.14159";
@@ -2008,6 +2043,7 @@ START_TEST(ios)
test_istream_tellg();
test_istream_getline();
test_ostream_print_ushort();
+ test_ostream_print_float();
test_ostream_print_double();
test_ostream_wchar_print_double();
More information about the wine-cvs
mailing list