/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/licenses/publicdomain/ */
var BUGNUMBER =
1253847 ;
var summary =
'Line numbers should be updated correctly when a template literal contains CRLF sequences.' ;
print(BUGNUMBER +
": " + summary);
// lineNumber after template literal.
var base, x, lineno;
eval([
"base = new Error().lineNumber;" ,
"x = `" ,
"`;" ,
"lineno = new Error().lineNumber;" ,
].join(
"\r\n" ));
assertEq(lineno, base +
3 );
eval([
"base = new Error().lineNumber;" ,
"x = `" ,
"" ,
"`;" ,
"lineno = new Error().lineNumber;" ,
].join(
"\r\n" ));
assertEq(lineno, base +
4 );
eval([
"base = new Error().lineNumber;" ,
"x = `a" ,
"b`;" ,
"lineno = new Error().lineNumber;" ,
].join(
"\r\n" ));
assertEq(lineno, base +
3 );
// lineNumber inside template literal
eval([
"base = new Error().lineNumber;" ,
"x = `${new Error().lineNumber}" ,
"${new Error().lineNumber}" ,
"${new Error().lineNumber}`;" ,
"lineno = new Error().lineNumber;" ,
].join(
"\r\n" ));
assertEq(lineno, base +
4 );
assertEq(x, (base +
1 ) +
'\n' + (base +
2 ) +
'\n' + (base +
3 ));
eval([
"var base = new Error().lineNumber;" ,
"var x = `" ,
"${new Error().lineNumber}" ,
"${new Error().lineNumber}" ,
"${new Error().lineNumber}" ,
"`;" ,
"var lineno = new Error().lineNumber;" ,
].join(
"\r\n" ));
assertEq(lineno, base +
6 );
assertEq(x,
'\n' + (base +
2 ) +
'\n' + (base +
3 ) +
'\n' + (base +
4 ) +
'\n' );
// When CR, LF, and CRLF are mixed.
eval([
"var base = new Error().lineNumber;" ,
"\n" ,
"var x = `${new Error().lineNumber}" ,
"\n" ,
"${new Error().lineNumber}" ,
"\r\n" ,
"${new Error().lineNumber}" ,
"\r" ,
"${new Error().lineNumber}`;" ,
"\n" ,
"var lineno = new Error().lineNumber;" ,
].join(
"" ));
assertEq(lineno, base +
5 );
assertEq(x, (base +
1 ) +
'\n' + (base +
2 ) +
'\n' + (base +
3 ) +
'\n' + (base +
4 ));
if (
typeof reportCompare ===
"function" )
reportCompare(
true ,
true );
Messung V0.5 in Prozent C=97 H=84 G=90
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-04)
¤
*© Formatika GbR, Deutschland