S11.3.1_A6_T1.js (730B)
1 // Copyright (C) 2015 André Bargull. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 info: Operator x++ evaluates its reference expression once. 6 description: > 7 The operand expression is evaluated exactly once. Operand expression is 8 MemberExpression: base[prop]. base is the null value. 9 ---*/ 10 11 function DummyError() { } 12 13 assert.throws(DummyError, function() { 14 var base = null; 15 var prop = function() { 16 throw new DummyError(); 17 }; 18 19 base[prop()]++; 20 }); 21 22 assert.throws(TypeError, function() { 23 var base = null; 24 var prop = { 25 toString: function() { 26 throw new Test262Error("property key evaluated"); 27 } 28 }; 29 30 base[prop]++; 31 }); 32 33 reportCompare(0, 0);