mirror of
https://github.com/reactos/wine.git
synced 2025-02-16 10:59:45 +00:00
jscript: Added String.toString implementation.
This commit is contained in:
parent
5fdf258b1a
commit
304e9fe0d4
@ -88,11 +88,30 @@ static HRESULT String_length(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARA
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
/* ECMA-262 3rd Edition 15.5.4.2 */
|
||||
static HRESULT String_toString(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||
VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
|
||||
{
|
||||
FIXME("\n");
|
||||
return E_NOTIMPL;
|
||||
StringInstance *string;
|
||||
|
||||
TRACE("\n");
|
||||
|
||||
if(!is_class(dispex, JSCLASS_STRING)) {
|
||||
WARN("this is not a string object\n");
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
string = (StringInstance*)dispex;
|
||||
|
||||
if(retv) {
|
||||
BSTR str = SysAllocString(string->str);
|
||||
if(!str)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
V_VT(retv) = VT_BSTR;
|
||||
V_BSTR(retv) = str;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT String_valueOf(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||
|
@ -26,6 +26,13 @@ ok(getVT("".length) == "VT_I4", "\"\".length = " + "".length);
|
||||
ok("abc".length === 3, "\"abc\".length = " + "abc".length);
|
||||
ok(String.prototype.length === 0, "String.prototype.length = " + String.prototype.length);
|
||||
|
||||
tmp = "".toString();
|
||||
ok(tmp === "", "''.toString() = " + tmp);
|
||||
tmp = "test".toString();
|
||||
ok(tmp === "test", "''.toString() = " + tmp);
|
||||
tmp = "test".toString(3);
|
||||
ok(tmp === "test", "''.toString(3) = " + tmp);
|
||||
|
||||
tmp = "abc".charAt(0);
|
||||
ok(tmp === "a", "'abc',charAt(0) = " + tmp);
|
||||
tmp = "abc".charAt(1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user