blob: 81e6ae5dbfc5e08a5892100257c4cad8c5810ec3 [file] [log] [blame]
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//-----------------------------------------------------------------------------
var BUGNUMBER = 452498;
var summary = 'TM: upvar2 regression tests';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
// ------- Comment #102 From Gary Kwong [:nth10sd]
// =====
(function(){function x(){} function x()y})();
// Assertion failure: JOF_OPTYPE(op) == JOF_ATOM, at ../jsemit.cpp:1710
// =====
function f() {
"" + (function(){
for( ; [function(){}] ; x = 0)
with({x: ""}) {
const x = []
}});
}
f();
// Assertion failure: ss->top - saveTop <= 1U, at ../jsopcode.cpp:2156
// =====
try
{
function f() {
var x;
eval("const x = [];");
}
f();
}
catch(ex)
{
}
// Assertion failure: regs.sp == StackBase(fp), at ../jsinterp.cpp:2984
// =====
try
{
do {x} while([[] for (x in []) ]);
}
catch(ex)
{
}
// Assertion failure: !(pnu->pn_dflags & PND_BOUND), at ../jsemit.cpp:1818
// =====
try
{
{x} ((x=[] for (x in []))); x;
}
catch(ex)
{
}
// Assertion failure: cg->staticLevel >= level, at ../jsemit.cpp:2014
// Crash [@ BindNameToSlot] in opt without -j
// =====
reportCompare(expect, actual, summary);
exitFunc ('test');
}