25 lines
740 B
JavaScript
25 lines
740 B
JavaScript
|
// Copyright 2019 the V8 project authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
function f0(a = eval("var b"), b) { }
|
||
|
assertThrows(f0, SyntaxError);
|
||
|
|
||
|
function f1(a = eval("var b = 0"), b) { }
|
||
|
assertThrows(f1, SyntaxError);
|
||
|
|
||
|
function f2(a = eval("function b(){}"), b) { }
|
||
|
assertThrows(f2, SyntaxError);
|
||
|
|
||
|
function f3(a = eval("{ function b(){} }"), b) { return b }
|
||
|
assertEquals(undefined, f3());
|
||
|
|
||
|
function f4(b, a = eval("var b = 0")) { return b }
|
||
|
assertThrows(f4, SyntaxError);
|
||
|
|
||
|
function f5(b, a = eval("function b(){}")) { return b }
|
||
|
assertThrows(f5, SyntaxError);
|
||
|
|
||
|
function f6(b, a = eval("{ function b(){} }")) { return b }
|
||
|
assertEquals(42, f6(42));
|