S15.5.5.1_A4_T1.js (2610B)
1 // Copyright 2009 the Sputnik authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 info: length property has the attributes {ReadOnly} 6 es5id: 15.5.5.1_A4_T1 7 description: Checking if varying the length property of String fails 8 flags: [noStrict] 9 ---*/ 10 11 var __str__instance = new String("globglob"); 12 13 ////////////////////////////////////////////////////////////////////////////// 14 //CHECK#1 15 if (!(__str__instance.hasOwnProperty("length"))) { 16 throw new Test262Error('#1: var __str__instance = new String("globglob"); __str__instance.hasOwnProperty("length") return true. Actual: ' + __str__instance.hasOwnProperty("length")); 17 } 18 // 19 ////////////////////////////////////////////////////////////////////////////// 20 21 ////////////////////////////////////////////////////////////////////////////// 22 //CHECK#2 23 if (__str__instance.length !== 8) { 24 throw new Test262Error('#2: var __str__instance = new String("globglob"); __str__instance.length === 8. Actual: __str__instance.length ===' + __str__instance.length); 25 } 26 // 27 ////////////////////////////////////////////////////////////////////////////// 28 29 __str__instance.length = -1; 30 31 ////////////////////////////////////////////////////////////////////////////// 32 //CHECK#3 33 if (__str__instance.length !== 8) { 34 throw new Test262Error('#3: var __str__instance = new String("globglob"); __str__instance.length=-1; __str__instance.length === 8(after redefine length property). Actual: __str__instance.length ===' + __str__instance.length); 35 } 36 // 37 ////////////////////////////////////////////////////////////////////////////// 38 39 with(__str__instance) 40 length = 0; 41 42 ////////////////////////////////////////////////////////////////////////////// 43 //CHECK#4 44 if (__str__instance.length !== 8) { 45 throw new Test262Error('#4: var __str__instance = new String("globglob"); with(__str__instance) length = 0; __str__instance.length === 8(after redefine length property with using "with"). Actual: __str__instance.length ===' + __str__instance.length); 46 } 47 // 48 ////////////////////////////////////////////////////////////////////////////// 49 50 __str__instance.length++; 51 52 ////////////////////////////////////////////////////////////////////////////// 53 //CHECK#5 54 if (__str__instance.length !== 8) { 55 throw new Test262Error('#5: var __str__instance = new String("globglob"); __str__instance.length++; __str__instance.length === 8(after redefine length property with using "++"). Actual: __str__instance.length ===' + __str__instance.length); 56 } 57 // 58 ////////////////////////////////////////////////////////////////////////////// 59 60 reportCompare(0, 0);