// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: >
    toString: If this boolean value is true, then the string "true"
    is returned, otherwise, this boolean value must be false, and the string
    "false" is returned
es5id: 15.6.4.2_A1_T1
description: no arguments
includes: [$FAIL.js]
---*/

//CHECK#1
try {
  (Boolean.prototype.toString() !== "false");
  $FAIL('#1: "(Boolean.prototype.toString() !== "false");" lead to throwing exception. Actual: '+(Boolean.prototype.toString() !== "false"));
} catch (e) {
  if (!(e instanceof TypeError)) {
    $ERROR('#1.1: "(Boolean.prototype.toString() !== "false")" lead to throwing exception. Exception is instance of TypeError. Actual: exception is '+e);
  }
}

//CHECK#2
if((new Boolean()).toString() !== "false"){
  $ERROR('#2: (new Boolean()).toString() === "false"');
}

//CHECK#3
if((new Boolean(false)).toString() !== "false"){
  $ERROR('#3: (new Boolean(false)).toString() === "false"');
}

//CHECK#4
if((new Boolean(true)).toString() !== "true"){
  $ERROR('#4: (new Boolean(true)).toString() === "true"');
}

//CHECK#5
if((new Boolean(1)).toString() !== "true"){
  $ERROR('#5: (new Boolean(1)).toString() === "true"');
}

//CHECK#6
if((new Boolean(0)).toString() !== "false"){
  $ERROR('#6: (new Boolean(0)).toString() === "false"');
}

//CHECK#7
if((new Boolean(new Object())).toString() !== "true"){
  $ERROR('#7: (new Boolean(new Object())).toString() === "true"');
}
