Module: wine Branch: master Commit: 1f134b41b32dc92738fcbb1730e68c72845d7f06 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f134b41b32dc92738fcbb1730...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Sep 21 15:43:50 2008 +0200
jscript: Added String default value implementation.
---
dlls/jscript/string.c | 22 ++++++++++++++++++++-- dlls/jscript/tests/api.js | 3 +++ 2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/string.c b/dlls/jscript/string.c index 656b9ec..b56fd9e 100644 --- a/dlls/jscript/string.c +++ b/dlls/jscript/string.c @@ -638,8 +638,26 @@ static HRESULT String_isPrototypeOf(DispatchEx *dispex, LCID lcid, WORD flags, D static HRESULT String_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) { - FIXME("\n"); - return E_NOTIMPL; + StringInstance *This = (StringInstance*)dispex; + + TRACE("\n"); + + switch(flags) { + case DISPATCH_PROPERTYGET: { + BSTR str = SysAllocString(This->str); + if(!str) + return E_OUTOFMEMORY; + + V_VT(retv) = VT_BSTR; + V_BSTR(retv) = str; + break; + } + default: + FIXME("flags %x\n", flags); + return E_NOTIMPL; + } + + return S_OK; }
static void String_destructor(DispatchEx *dispex) diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js index f86ea1a..707eacf 100644 --- a/dlls/jscript/tests/api.js +++ b/dlls/jscript/tests/api.js @@ -66,6 +66,9 @@ ok(str.toString() === "", "str.toString() = " + str.toString()); var str = new String("test", "abc"); ok(str.toString() === "test", "str.toString() = " + str.toString());
+tmp = "value " + str; +ok(tmp === "value test", "'value ' + str = " + tmp); + tmp = "abc".charAt(0); ok(tmp === "a", "'abc',charAt(0) = " + tmp); tmp = "abc".charAt(1);