26 lines
484 B
JavaScript
26 lines
484 B
JavaScript
'use strict';
|
|
|
|
// test MemberLookupExpression
|
|
function f(a) {
|
|
var b = [42];
|
|
return (a||b)[0];
|
|
}
|
|
|
|
assert.equal(42, f(null));
|
|
assert.equal(43, f([43]));
|
|
|
|
// test NewExpression
|
|
var a, b = function() { this.ans = 42; };
|
|
assert.equal(new (a||b)().ans, 42);
|
|
|
|
a = function() { this.ans = 43; };
|
|
assert.equal(new (a||b)().ans, 43);
|
|
|
|
// test CallExpression
|
|
a = undefined;
|
|
b = function() { return 42; }
|
|
assert.equal((a||b)(), 42);
|
|
|
|
a = function() { return 43; }
|
|
assert.equal((a||b)(), 43);
|