michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: 15.5.5.1 michael@0: ECMA Section: String.length michael@0: Description: michael@0: michael@0: The number of characters in the String value represented by this String michael@0: object. michael@0: michael@0: Once a String object is created, this property is unchanging. It has the michael@0: attributes { DontEnum, DontDelete, ReadOnly }. michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 12 november 1997 michael@0: */ michael@0: michael@0: var SECTION = "15.5.5.1"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "String.length"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: new TestCase( SECTION, michael@0: "var s = new String(); s.length", michael@0: 0, michael@0: eval("var s = new String(); s.length") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var s = new String(); s.length = 10; s.length", michael@0: 0, michael@0: eval("var s = new String(); s.length = 10; s.length") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var s = new String(); var props = ''; for ( var p in s ) { props += p; }; props", michael@0: "", michael@0: eval("var s = new String(); var props = ''; for ( var p in s ) { props += p; }; props") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var s = new String(); delete s.length", michael@0: false, michael@0: eval("var s = new String(); delete s.length") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var s = new String('hello'); delete s.length; s.length", michael@0: 5, michael@0: eval("var s = new String('hello'); delete s.length; s.length") ); michael@0: michael@0: test();