michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * Operator ++x uses GetValue and PutValue michael@0: * michael@0: * @path ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js michael@0: * @description Type(x) is Reference and GetBase(x) is not null michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: var x = 1; michael@0: if (++x !== 1 + 1) { michael@0: $ERROR('#1: var x = 1; ++x === 1 + 1. Actual: ' + (++x)); michael@0: } else { michael@0: if (x !== 1 + 1) { michael@0: $ERROR('#1: var x = 1; ++x; x === 1 + 1. Actual: ' + (x)); michael@0: } michael@0: } michael@0: michael@0: //CHECK#2 michael@0: this.x = 1; michael@0: if (++this.x !== 1 + 1) { michael@0: $ERROR('#2: this.x = 1; ++this.x === 1 + 1. Actual: ' + (++this.x)); michael@0: } else { michael@0: if (this.x !== 1 + 1) { michael@0: $ERROR('#2: this.x = 1; ++this.x; this.x === 1 + 1. Actual: ' + (this.x)); michael@0: } michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var object = new Object(); michael@0: object.prop = 1; michael@0: if (++object.prop !== 1 + 1) { michael@0: $ERROR('#3: var object = new Object(); object.prop = 1; ++object.prop === 1 + 1. Actual: ' + (++object.prop)); michael@0: } else { michael@0: if (this.x !== 1 + 1) { michael@0: $ERROR('#3: var object = new Object(); object.prop = 1; ++object.prop; object.prop === 1 + 1. Actual: ' + (object.prop)); michael@0: } michael@0: } michael@0: