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.2/S11.3.2_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) { michael@0: $ERROR('#1: var x = 1; x-- === 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) { michael@0: $ERROR('#2: this.x = 1; this.x-- === 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) { michael@0: $ERROR('#3: var object = new Object(); object.prop = 1; object.prop-- === 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: