On 09.09.2016 12:03, Jacek Caban wrote:
On 08.09.2016 23:52, Sebastian Lackner wrote:
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js index c7f2bcd..e7b55fc 100644 --- a/dlls/jscript/tests/api.js +++ b/dlls/jscript/tests/api.js @@ -661,6 +661,8 @@ tmp = "tEsT".toLowerCase(); ok(tmp === "test", "''.toLowerCase() = " + tmp); tmp = "tEsT".toLowerCase(3); ok(tmp === "test", "''.toLowerCase(3) = " + tmp); +tmp = ("tE" + String.fromCharCode(0) + "sT").toLowerCase(); +ok(tmp === "te" + String.fromCharCode(0) + "st", "''.toLowerCase() = " + tmp);
tmp = "".toUpperCase(); ok(tmp === "", "''.toUpperCase() = " + tmp); @@ -672,6 +674,8 @@ tmp = "tEsT".toUpperCase(); ok(tmp === "TEST", "''.toUpperCase() = " + tmp); tmp = "tEsT".toUpperCase(3); ok(tmp === "TEST", "''.toUpperCase(3) = " + tmp); +tmp = ("tE" + String.fromCharCode(0) + "sT").toUpperCase(); +ok(tmp === "TE" + String.fromCharCode(0) + "ST", "''.toUpperCase() = " + tmp);
tmp = "".anchor(); ok(tmp === "<A NAME="undefined"></A>", "''.anchor() = " + tmp);
FWIW "\0" escape should work here, but that's fine with me.
No, unfortunately that doesn't work yet. The lexer currently stores string literals in a \0 terminated string (see unescape in lex.c). The tests would pass, but only by luck because both strings are truncated. As soon as this issue is fixed we can use "\0" everywhere of course.