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