summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Class/newTargetDefaults.js
blob: d5a4c5640bad8122c0d61e696c610eda3e16ee46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Check that new.target works properly in defaults.

function check(expected, actual = new.target) { assertEq(actual, expected); }
new check(check);
check(undefined);

let evaldCheck = eval("(" + check.toString() + ")");
new evaldCheck(evaldCheck);
evaldCheck(undefined);

function testInFunction() {
    function checkInFunction(expected, actual = new.target) { assertEq(actual, expected); }
    new checkInFunction(checkInFunction);
    checkInFunction(undefined);

    let evaldCheckInFunction = eval("(" + checkInFunction.toString() + ")");
    new evaldCheckInFunction(evaldCheckInFunction);
    evaldCheckInFunction(undefined);
}

testInFunction();
new testInFunction();

if (typeof reportCompare === 'function')
    reportCompare(0,0,"OK");