blob: 928663839225fda7813e459eaa6265f492a8943b [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
// auto ';' in return
var a = 1
var b = 3
function foo()
{
if(true)
return /*afsdf
sdafa */ a+b;
}
write(foo())
//full support for <LS><PS>
eval("function foo(){if(true) return \/*afsdf \u2028 sdafa *\/ a+b;} write(foo());")
var x= "str const Left \u000A str const right"
write(x)
try
{
eval('x= \"str const Left \u2028 str const right\";write(escape(x))');
}
catch(e)
{
write("LS in string - compile failure in ES5: expected." + e)
}
var re = /falls/
try
{
eval('x= \/str const regex \u2028 regex const right\/;write(escape(x))');
}
catch(e)
{
write("LS in regex literal - compile failure in ES5: expected." + e)
}
try
{
eval('x= \"LS in escape sequence string literal \\\u2028 :more string\";write(escape(x))');
}
catch(e)
{
write("LS in escape sequence string literal - compile failure in ES5: not expected." + e)
}
//BOM in strings
try
{
eval('x= 25 + \ufeff 66 ;write(\"BOM is WS : \" + escape(x))');
}
catch(e)
{
write("BOM is WS in unicode 3 - compile failure in ES5: not expected." + e)
}
//<ZVN><ZVNJ>
try
{
eval('var x = new Object(); x.aa\u200cbb = 6 ; for(m in x ) {write(\"ZVNJ is id part : \" + escape(m));}');
}
catch(e)
{
write("ZVNJ is id part in unicode 3 - compile failure in ES5: not expected." + e)
}
function write(a) {
if (this.WScript == undefined) {
document.write(a);
document.write("</br>");
}
else
WScript.Echo(a)
}