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: * Result of primitive conversion from object is a default value for the Object michael@0: * michael@0: * @path ch09/9.1/S9.1_A1_T3.js michael@0: * @description Using operator "+". This operator firstly calls ToPrimitive and then calls ToString or ToNumber michael@0: */ michael@0: michael@0: // CHECK#1 michael@0: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; michael@0: if (object + "" !== "1") { michael@0: $ERROR('#1: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; object + "" === "1". Actual: ' + (object + "")); michael@0: } michael@0: michael@0: // CHECK#2 michael@0: var object = {valueOf: function() {return "1"}, toString: function() {return 0}}; michael@0: if (object + 0 !== "10") { michael@0: $ERROR('#2: var object = {valueOf: function() {return "1"}, toString: function() {return 0}}; object + 0 === "10". Actual: ' + (object + 0)); michael@0: } michael@0: michael@0: