jscript: Implement the String.toLowerCase() method.
This commit is contained in:
parent
e83b62f3d0
commit
c4148203c6
|
@ -1069,8 +1069,34 @@ static HRESULT String_sup(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS
|
|||
static HRESULT String_toLowerCase(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||
VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
|
||||
{
|
||||
FIXME("\n");
|
||||
return E_NOTIMPL;
|
||||
StringInstance *string;
|
||||
const WCHAR* str;
|
||||
DWORD length;
|
||||
BSTR bstr;
|
||||
|
||||
TRACE("\n");
|
||||
|
||||
if(is_class(dispex, JSCLASS_STRING)) {
|
||||
string = (StringInstance*)dispex;
|
||||
|
||||
length = string->length;
|
||||
str = string->str;
|
||||
}else {
|
||||
FIXME("not string this not supported\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
if(retv) {
|
||||
bstr = SysAllocStringLen(str, length);
|
||||
if (!bstr)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
strlwrW(bstr);
|
||||
|
||||
V_VT(retv) = VT_BSTR;
|
||||
V_BSTR(retv) = bstr;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT String_toUpperCase(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||
|
|
|
@ -247,6 +247,17 @@ ok(tmp === 1, "indexOf = " + tmp);
|
|||
tmp = "abcd".indexOf();
|
||||
ok(tmp == -1, "indexOf = " + tmp);
|
||||
|
||||
tmp = "".toLowerCase();
|
||||
ok(tmp === "", "''.toLowerCase() = " + tmp);
|
||||
tmp = "test".toLowerCase();
|
||||
ok(tmp === "test", "''.toLowerCase() = " + tmp);
|
||||
tmp = "test".toLowerCase(3);
|
||||
ok(tmp === "test", "''.toLowerCase(3) = " + tmp);
|
||||
tmp = "tEsT".toLowerCase();
|
||||
ok(tmp === "test", "''.toLowerCase() = " + tmp);
|
||||
tmp = "tEsT".toLowerCase(3);
|
||||
ok(tmp === "test", "''.toLowerCase(3) = " + tmp);
|
||||
|
||||
var arr = new Array();
|
||||
ok(typeof(arr) === "object", "arr () is not object");
|
||||
ok((arr.length === 0), "arr.length is not 0");
|
||||
|
|
Loading…
Reference in New Issue