Module: wine Branch: master Commit: 789afcdc1b596e68368c39538e69b0c8031d2c23 URL: http://source.winehq.org/git/wine.git/?a=commit;h=789afcdc1b596e68368c39538e...
Author: Piotr Caban piotr.caban@gmail.com Date: Mon Jul 20 18:18:09 2009 +0200
jscript: Throw more errors in Date functions.
---
dlls/jscript/date.c | 105 ++++++++++++------------------------------- dlls/jscript/jscript_En.rc | 1 + dlls/jscript/resource.h | 1 + 3 files changed, 32 insertions(+), 75 deletions(-)
diff --git a/dlls/jscript/date.c b/dlls/jscript/date.c index 5a520a4..b33be0b 100644 --- a/dlls/jscript/date.c +++ b/dlls/jscript/date.c @@ -1370,11 +1370,8 @@ static HRESULT Date_setTime(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAM if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &v); if(FAILED(hres)) @@ -1403,11 +1400,8 @@ static HRESULT Date_setMilliseconds(DispatchEx *dispex, LCID lcid, WORD flags, D if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &v); if(FAILED(hres)) @@ -1439,11 +1433,8 @@ static HRESULT Date_setUTCMilliseconds(DispatchEx *dispex, LCID lcid, WORD flags if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &v); if(FAILED(hres)) @@ -1475,11 +1466,8 @@ static HRESULT Date_setSeconds(DispatchEx *dispex, LCID lcid, WORD flags, DISPPA if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = local_time(date->time, date); @@ -1521,11 +1509,8 @@ static HRESULT Date_setUTCSeconds(DispatchEx *dispex, LCID lcid, WORD flags, DIS if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = date->time; @@ -1567,11 +1552,8 @@ static HRESULT Date_setMinutes(DispatchEx *dispex, LCID lcid, WORD flags, DISPPA if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = local_time(date->time, date); @@ -1621,11 +1603,8 @@ static HRESULT Date_setUTCMinutes(DispatchEx *dispex, LCID lcid, WORD flags, DIS if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = date->time; @@ -1675,11 +1654,8 @@ static HRESULT Date_setHours(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARA if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = local_time(date->time, date); @@ -1736,11 +1712,8 @@ static HRESULT Date_setUTCHours(DispatchEx *dispex, LCID lcid, WORD flags, DISPP if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = date->time; @@ -1797,11 +1770,8 @@ static HRESULT Date_setDate(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAM if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &v); if(FAILED(hres)) @@ -1833,11 +1803,8 @@ static HRESULT Date_setUTCDate(DispatchEx *dispex, LCID lcid, WORD flags, DISPPA if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &v); if(FAILED(hres)) @@ -1869,11 +1836,8 @@ static HRESULT Date_setMonth(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARA if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = local_time(date->time, date); @@ -1915,11 +1879,8 @@ static HRESULT Date_setUTCMonth(DispatchEx *dispex, LCID lcid, WORD flags, DISPP if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = date->time; @@ -1961,11 +1922,8 @@ static HRESULT Date_setFullYear(DispatchEx *dispex, LCID lcid, WORD flags, DISPP if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = local_time(date->time, date); @@ -2014,11 +1972,8 @@ static HRESULT Date_setUTCFullYear(DispatchEx *dispex, LCID lcid, WORD flags, DI if(!is_class(dispex, JSCLASS_DATE)) return throw_type_error(dispex->ctx, ei, IDS_NOT_DATE, NULL);
- if(!arg_cnt(dp)) { - FIXME("throw ArgumentNotOptional\n"); - if(retv) num_set_nan(retv); - return S_OK; - } + if(!arg_cnt(dp)) + return throw_type_error(dispex->ctx, ei, IDS_ARG_NOT_OPT, NULL);
date = (DateInstance*)dispex; t = date->time; diff --git a/dlls/jscript/jscript_En.rc b/dlls/jscript/jscript_En.rc index 3a5f9d2..f54cffb 100644 --- a/dlls/jscript/jscript_En.rc +++ b/dlls/jscript/jscript_En.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE { + IDS_ARG_NOT_OPT "Argument not optional" IDS_NOT_DATE "'[object]' is not a date object" IDS_NOT_BOOL "Boolean object expected" IDS_INVALID_LENGTH "Array length must be a finite positive integer" diff --git a/dlls/jscript/resource.h b/dlls/jscript/resource.h index 6c5f8b0..05b693d 100644 --- a/dlls/jscript/resource.h +++ b/dlls/jscript/resource.h @@ -18,6 +18,7 @@
#include <windef.h>
+#define IDS_ARG_NOT_OPT 0x01c1 #define IDS_NOT_DATE 0x138E #define IDS_NOT_BOOL 0x1392 #define IDS_INVALID_LENGTH 0x13A5