// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: Once a String object is created, the length property is unchanging es5id: 15.5.5.1_A5 description: > Change valueOf and toString of String object and check length property ---*/ var __str__instance = new String("ABC\u0041\u0042\u0043"); ////////////////////////////////////////////////////////////////////////////// //CHECK#1 if (__str__instance.length !== 6) { $ERROR('#1: var __str__instance = new String("ABC\\u0041\\u0042\\u0043"); __str__instance.length === 6. Actual: __str__instance.length ===' + __str__instance.length); } // ////////////////////////////////////////////////////////////////////////////// __str__instance.valueOf = function() { return "ed" }; __str__instance.toString = function() { return "ed" }; ////////////////////////////////////////////////////////////////////////////// //CHECK#2 if (__str__instance != "ed") { $ERROR('#2: var __str__instance = new String("ABC\\u0041\\u0042\\u0043"); __str__instance.valueOf = function(){return "ed"}; __str__instance.toString = function(){return "ed"}; __str__instance =="ed". Actual: __str__instance ==' + __str__instance); } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#3 if (__str__instance.length !== 6) { $ERROR('#3: var __str__instance = new String("ABC\\u0041\\u0042\\u0043"); __str__instance.valueOf = function(){return "ed"}; __str__instance.toString = function(){return "ed"}; __str__instance.length === 6. Actual: __str__instance.length ===' + __str__instance.length); } // ////////////////////////////////////////////////////////////////////////////// reportCompare(0, 0);