jscript: Implement the String.toUpperCase() method.
This commit is contained in:
parent
c4148203c6
commit
3909672f59
|
@ -1102,8 +1102,34 @@ static HRESULT String_toLowerCase(DispatchEx *dispex, LCID lcid, WORD flags, DIS
|
|||
static HRESULT String_toUpperCase(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;
|
||||
|
||||
struprW(bstr);
|
||||
|
||||
V_VT(retv) = VT_BSTR;
|
||||
V_BSTR(retv) = bstr;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT String_toLocaleLowerCase(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||
|
|
|
@ -258,6 +258,17 @@ ok(tmp === "test", "''.toLowerCase() = " + tmp);
|
|||
tmp = "tEsT".toLowerCase(3);
|
||||
ok(tmp === "test", "''.toLowerCase(3) = " + tmp);
|
||||
|
||||
tmp = "".toUpperCase();
|
||||
ok(tmp === "", "''.toUpperCase() = " + tmp);
|
||||
tmp = "TEST".toUpperCase();
|
||||
ok(tmp === "TEST", "''.toUpperCase() = " + tmp);
|
||||
tmp = "TEST".toUpperCase(3);
|
||||
ok(tmp === "TEST", "''.toUpperCase(3) = " + tmp);
|
||||
tmp = "tEsT".toUpperCase();
|
||||
ok(tmp === "TEST", "''.toUpperCase() = " + tmp);
|
||||
tmp = "tEsT".toUpperCase(3);
|
||||
ok(tmp === "TEST", "''.toUpperCase(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