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.3/11.3.1/S11.3.1_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: var y = x++; michael@0: if (y !== 1) { michael@0: $ERROR('#1: var x = 1; var y = x++; y === 1. Actual: ' + (y)); michael@0: } else { michael@0: if (x !== 1 + 1) { michael@0: $ERROR('#1: var x = 1; var y = x++; x === 1 + 1. Actual: ' + (x)); michael@0: } michael@0: } michael@0: michael@0: //CHECK#2 michael@0: this.x = 1; michael@0: var y = this.x++; michael@0: if (y !== 1) { michael@0: $ERROR('#2: this.x = 1; var y = this.x++; y === 1. Actual: ' + (y)); michael@0: } else { michael@0: if (this.x !== 1 + 1) { michael@0: $ERROR('#2: this.x = 1; var y = 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: var y = object.prop++; michael@0: if (y !== 1) { michael@0: $ERROR('#3: var object = new Object(); object.prop = 1; var y = object.prop++; y === 1. Actual: ' + (y)); michael@0: } else { michael@0: if (this.x !== 1 + 1) { michael@0: $ERROR('#3: var object = new Object(); object.prop = 1; var y = object.prop++; object.prop === 1 + 1. Actual: ' + (object.prop)); michael@0: } michael@0: } michael@0: michael@0: michael@0: