2011-09-07 08:35:18 +02:00
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
2014-07-22 01:09:02 +02:00
/ * - - -
info : length property has the attributes { ReadOnly }
2015-05-14 17:22:12 +02:00
es5id : 15.5 . 5.1 _A4 _T1
2014-07-22 01:09:02 +02:00
description : Checking if varying the length property of String fails
2015-04-29 17:43:26 +02:00
flags : [ noStrict ]
2014-07-22 01:09:02 +02:00
-- - * /
2011-09-07 08:35:18 +02:00
var _ _str _ _instance = new String ( "globglob" ) ;
//////////////////////////////////////////////////////////////////////////////
//CHECK#1
if ( ! ( _ _str _ _instance . hasOwnProperty ( "length" ) ) ) {
2021-07-21 22:36:17 +02:00
throw new Test262Error ( '#1: var __str__instance = new String("globglob"); __str__instance.hasOwnProperty("length") return true. Actual: ' + _ _str _ _instance . hasOwnProperty ( "length" ) ) ;
2011-09-07 08:35:18 +02:00
}
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//CHECK#2
if ( _ _str _ _instance . length !== 8 ) {
2021-07-21 22:36:17 +02:00
throw new Test262Error ( '#2: var __str__instance = new String("globglob"); __str__instance.length === 8. Actual: __str__instance.length ===' + _ _str _ _instance . length ) ;
2011-09-07 08:35:18 +02:00
}
//
//////////////////////////////////////////////////////////////////////////////
2018-02-15 21:39:13 +01:00
_ _str _ _instance . length = - 1 ;
2011-09-07 08:35:18 +02:00
//////////////////////////////////////////////////////////////////////////////
//CHECK#3
if ( _ _str _ _instance . length !== 8 ) {
2021-07-21 22:36:17 +02:00
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 ) ;
2011-09-07 08:35:18 +02:00
}
//
//////////////////////////////////////////////////////////////////////////////
with ( _ _str _ _instance )
2018-02-15 21:39:13 +01:00
length = 0 ;
2015-05-14 17:22:12 +02:00
2011-09-07 08:35:18 +02:00
//////////////////////////////////////////////////////////////////////////////
//CHECK#4
if ( _ _str _ _instance . length !== 8 ) {
2021-07-21 22:36:17 +02:00
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 ) ;
2011-09-07 08:35:18 +02:00
}
//
//////////////////////////////////////////////////////////////////////////////
_ _str _ _instance . length ++ ;
//////////////////////////////////////////////////////////////////////////////
//CHECK#5
if ( _ _str _ _instance . length !== 8 ) {
2021-07-21 22:36:17 +02:00
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 ) ;
2011-09-07 08:35:18 +02:00
}
//
//////////////////////////////////////////////////////////////////////////////