// Copyright (C) 2015 André Bargull. All rights reserved. | |
// This code is governed by the BSD license found in the LICENSE file. | |
/*--- | |
info: Operator x-- evaluates its reference expression once. | |
description: > | |
The operand expression is evaluated exactly once. Operand expression is | |
MemberExpression: base[prop]. base is the null value. | |
---*/ | |
function DummyError() { } | |
assert.throws(DummyError, function() { | |
var base = null; | |
var prop = function() { | |
throw new DummyError(); | |
}; | |
base[prop()]--; | |
}); | |
assert.throws(TypeError, function() { | |
var base = null; | |
var prop = { | |
toString: function() { | |
$ERROR("property key evaluated"); | |
} | |
}; | |
base[prop]--; | |
}); |