Module: wine Branch: master Commit: 83651996dbe146d09481409b564045d09194b805 URL: https://source.winehq.org/git/wine.git/?a=commit;h=83651996dbe146d09481409b5...
Author: Gabriel Ivăncescu gabrielopcode@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@gmail.com Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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(); }