Gabriel Ivăncescu : mshtml/tests: Fix Number toLocaleString test on updated Win 8.1.
Alexandre Julliard
julliard at winehq.org
Thu May 12 15:55:51 CDT 2022
Module: wine
Branch: master
Commit: 83651996dbe146d09481409b564045d09194b805
URL: https://source.winehq.org/git/wine.git/?a=commit;h=83651996dbe146d09481409b564045d09194b805
Author: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Date: Thu May 12 12:56:03 2022 +0200
mshtml/tests: Fix Number toLocaleString test on updated Win 8.1.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52969
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/tests/es5.js | 21 ++++++++++++++-------
dlls/mshtml/tests/winetest.js | 5 +++++
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index 8238e5d26f9..0f9df4cb8ea 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -150,10 +150,14 @@ sync_test("Number toLocaleString", function() {
];
if(external.isEnglish) {
- for(var i = 0; i < tests.length; i++) {
- r = Number.prototype.toLocaleString.call(tests[i][0]);
- ok(r === tests[i][1], "[" + i + "] got " + r);
- }
+ /* Some recent Win8.1 updates have old jscript behavior */
+ if(Number.prototype.toLocaleString.call(0.0) === "0.00")
+ win_skip("skipping tests due to old behavior");
+ else
+ for(var i = 0; i < tests.length; i++) {
+ r = Number.prototype.toLocaleString.call(tests[i][0]);
+ ok(r === tests[i][1], "[" + i + "] got " + r);
+ }
}
try {
@@ -161,21 +165,24 @@ sync_test("Number toLocaleString", function() {
ok(false, "expected exception calling it on string");
}catch(ex) {
var n = ex.number >>> 0;
- ok(n === JS_E_WRONG_THIS, "called on string threw " + n);
+ ok(n === JS_E_WRONG_THIS || broken(n === JS_E_NUMBER_EXPECTED) /* newer Win8.1 */,
+ "called on string threw " + n);
}
try {
Number.prototype.toLocaleString.call(undefined);
ok(false, "expected exception calling it on undefined");
}catch(ex) {
var n = ex.number >>> 0;
- ok(n === JS_E_WRONG_THIS, "called on undefined threw " + n);
+ ok(n === JS_E_WRONG_THIS || broken(n === JS_E_NUMBER_EXPECTED) /* newer Win8.1 */,
+ "called on undefined threw " + n);
}
try {
Number.prototype.toLocaleString.call(external.nullDisp);
ok(false, "expected exception calling it on nullDisp");
}catch(ex) {
var n = ex.number >>> 0;
- ok(n === JS_E_WRONG_THIS, "called on nullDisp threw " + n);
+ ok(n === JS_E_WRONG_THIS || broken(n === JS_E_NUMBER_EXPECTED) /* newer Win8.1 */,
+ "called on nullDisp threw " + n);
}
});
diff --git a/dlls/mshtml/tests/winetest.js b/dlls/mshtml/tests/winetest.js
index ca7f2aab4c2..bdebb2fa173 100644
--- a/dlls/mshtml/tests/winetest.js
+++ b/dlls/mshtml/tests/winetest.js
@@ -54,6 +54,11 @@ function win_skip(m) {
external.win_skip(m);
}
+function broken(e)
+{
+ return external.broken(e);
+}
+
function reportSuccess() {
external.reportSuccess();
}
More information about the wine-cvs
mailing list