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,
|
static HRESULT String_toUpperCase(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
|
||||||
VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
|
VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
|
||||||
{
|
{
|
||||||
FIXME("\n");
|
StringInstance *string;
|
||||||
return E_NOTIMPL;
|
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,
|
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);
|
tmp = "tEsT".toLowerCase(3);
|
||||||
ok(tmp === "test", "''.toLowerCase(3) = " + tmp);
|
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();
|
var arr = new Array();
|
||||||
ok(typeof(arr) === "object", "arr () is not object");
|
ok(typeof(arr) === "object", "arr () is not object");
|
||||||
ok((arr.length === 0), "arr.length is not 0");
|
ok((arr.length === 0), "arr.length is not 0");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user