Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
15b07c2a
Commit
15b07c2a
authored
Jul 15, 2009
by
Piotr Caban
Committed by
Alexandre Julliard
Jul 15, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Improve to_string implementation.
parent
a5d95365
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
9 deletions
+25
-9
jsutils.c
dlls/jscript/jsutils.c
+18
-9
api.js
dlls/jscript/tests/api.js
+7
-0
No files found.
dlls/jscript/jsutils.c
View file @
15b07c2a
...
...
@@ -512,6 +512,8 @@ HRESULT to_string(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, BSTR *str)
const
WCHAR
nullW
[]
=
{
'n'
,
'u'
,
'l'
,
'l'
,
0
};
const
WCHAR
trueW
[]
=
{
't'
,
'r'
,
'u'
,
'e'
,
0
};
const
WCHAR
falseW
[]
=
{
'f'
,
'a'
,
'l'
,
's'
,
'e'
,
0
};
const
WCHAR
NaNW
[]
=
{
'N'
,
'a'
,
'N'
,
0
};
const
WCHAR
InfinityW
[]
=
{
'-'
,
'I'
,
'n'
,
'f'
,
'i'
,
'n'
,
'i'
,
't'
,
'y'
,
0
};
switch
(
V_VT
(
v
))
{
case
VT_EMPTY
:
...
...
@@ -524,16 +526,23 @@ HRESULT to_string(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, BSTR *str)
*
str
=
int_to_bstr
(
V_I4
(
v
));
break
;
case
VT_R8
:
{
VARIANT
strv
;
HRESULT
hres
;
V_VT
(
&
strv
)
=
VT_EMPTY
;
hres
=
VariantChangeTypeEx
(
&
strv
,
v
,
MAKELCID
(
MAKELANGID
(
LANG_ENGLISH
,
SUBLANG_ENGLISH_US
),
SORT_DEFAULT
),
0
,
VT_BSTR
);
if
(
FAILED
(
hres
))
return
hres
;
if
(
isnan
(
V_R8
(
v
)))
*
str
=
SysAllocString
(
NaNW
);
else
if
(
isinf
(
V_R8
(
v
)))
*
str
=
SysAllocString
(
V_R8
(
v
)
<
0
?
InfinityW
:
InfinityW
+
1
);
else
{
VARIANT
strv
;
HRESULT
hres
;
V_VT
(
&
strv
)
=
VT_EMPTY
;
hres
=
VariantChangeTypeEx
(
&
strv
,
v
,
MAKELCID
(
MAKELANGID
(
LANG_ENGLISH
,
SUBLANG_ENGLISH_US
),
SORT_DEFAULT
),
0
,
VT_BSTR
);
if
(
FAILED
(
hres
))
return
hres
;
*
str
=
V_BSTR
(
&
strv
);
return
S_OK
;
*
str
=
V_BSTR
(
&
strv
);
return
S_OK
;
}
break
;
}
case
VT_BSTR
:
*
str
=
SysAllocString
(
V_BSTR
(
v
));
...
...
dlls/jscript/tests/api.js
View file @
15b07c2a
...
...
@@ -566,6 +566,13 @@ ok(tmp === 0, "(new Number()).valueOf = " + tmp);
tmp
=
Number
.
prototype
.
valueOf
();
ok
(
tmp
===
0
,
"Number.prototype.valueOf = "
+
tmp
);
num
=
new
Number
(
NaN
);
ok
(
num
.
toString
()
===
"NaN"
,
"num.toString() = "
+
num
.
toString
());
num
=
new
Number
(
-
Infinity
);
ok
(
num
.
toString
()
===
"-Infinity"
,
"num.toString() = "
+
num
.
toString
());
num
=
new
Number
(
Infinity
);
ok
(
num
.
toString
()
===
"Infinity"
,
"num.toString() = "
+
num
.
toString
());
tmp
=
Math
.
min
(
1
);
ok
(
tmp
===
1
,
"Math.min(1) = "
+
tmp
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment