[PATCH v5 3/5] jscript: Return the correct string for Object.toString(null) in ES5+ modes.
Gabriel Ivăncescu
gabrielopcode at gmail.com
Fri Dec 10 15:52:15 CST 2021
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
dlls/jscript/object.c | 2 +-
dlls/mshtml/tests/documentmode.js | 2 +-
dlls/mshtml/tests/es5.js | 1 -
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c
index 3b5a1f8..95bb85d 100644
--- a/dlls/jscript/object.c
+++ b/dlls/jscript/object.c
@@ -57,7 +57,7 @@ static HRESULT Object_toString(script_ctx_t *ctx, jsval_t vthis, WORD flags, uns
TRACE("\n");
if(is_undefined(vthis) || is_null(vthis)) {
- str = L"[object Object]";
+ str = is_null(vthis) ? L"[object Null]" : L"[object Object]";
goto set_output;
}
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index 6dcda4a..48e8301 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -1243,7 +1243,7 @@ sync_test("elem_attr", function() {
r = elem.removeAttribute("ondblclick");
ok(r === (v < 8 ? false : (v < 9 ? true : undefined)), "ondblclick removeAttribute returned " + r);
r = Object.prototype.toString.call(elem.ondblclick);
- todo_wine_if(v >= 9).
+ todo_wine_if(v >= 11).
ok(r === (v < 8 ? "[object Array]" : (v < 9 ? "[object Object]" : (v < 11 ? "[object Null]" : "[object Function]"))),
"removed ondblclick Object.toString returned " + r);
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index f5d23b0..1da2eeb 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -805,7 +805,6 @@ sync_test("toString", function() {
todo_wine.
ok(tmp === "[object Window]", "toString.call(null) = " + tmp);
tmp = Object.prototype.toString.call(null);
- todo_wine.
ok(tmp === "[object Null]", "toString.call(null) = " + tmp);
tmp = Object.prototype.toString.call(undefined);
todo_wine.
--
2.31.1
More information about the wine-devel
mailing list