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 + y uses [[Default Value]] michael@0: * michael@0: * @path ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js michael@0: * @description If Type(value) is Date object, evaluate ToPrimitive(value, String) michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: var date = new Date(); michael@0: if (date + date !== date.toString() + date.toString()) { michael@0: $ERROR('#1: var date = new Date(); date + date === date.toString() + date.toString(). Actual: ' + (date + date)); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: var date = new Date(); michael@0: if (date + 0 !== date.toString() + "0") { michael@0: $ERROR('#2: var date = new Date(); date + 0 === date.toString() + "0". Actual: ' + (date + 0)); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var date = new Date(); michael@0: if (date + true !== date.toString() + "true") { michael@0: $ERROR('#3: var date = new Date(); date + true === date.toString() + "true". Actual: ' + (date + true)); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: var date = new Date(); michael@0: if (date + new Object() !== date.toString() + "[object Object]") { michael@0: $ERROR('#4: var date = new Date(); date + new Object() === date.toString() + "[object Object]". Actual: ' + (date + new Object())); michael@0: } michael@0: michael@0: