|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 |
|
7 /** |
|
8 File Name: 15.5.4.4-1.js |
|
9 ECMA Section: 15.5.4.4 String.prototype.charAt(pos) |
|
10 Description: Returns a string containing the character at position |
|
11 pos in the string. If there is no character at that |
|
12 string, the result is the empty string. The result is |
|
13 a string value, not a String object. |
|
14 |
|
15 When the charAt method is called with one argument, |
|
16 pos, the following steps are taken: |
|
17 1. Call ToString, with this value as its argument |
|
18 2. Call ToInteger pos |
|
19 |
|
20 In this test, this is a String, pos is an integer, and |
|
21 all pos are in range. |
|
22 |
|
23 Author: christine@netscape.com |
|
24 Date: 2 october 1997 |
|
25 */ |
|
26 var SECTION = "15.5.4.4-1"; |
|
27 var VERSION = "ECMA_1"; |
|
28 startTest(); |
|
29 var TITLE = "String.prototype.charAt"; |
|
30 |
|
31 writeHeaderToLog( SECTION + " "+ TITLE); |
|
32 |
|
33 var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); |
|
34 |
|
35 var item = 0; |
|
36 var i; |
|
37 |
|
38 for ( i = 0x0020; i < 0x007e; i++, item++) { |
|
39 new TestCase( SECTION, |
|
40 "TEST_STRING.charAt("+item+")", |
|
41 String.fromCharCode( i ), |
|
42 TEST_STRING.charAt( item ) ); |
|
43 } |
|
44 |
|
45 for ( i = 0x0020; i < 0x007e; i++, item++) { |
|
46 new TestCase( SECTION, |
|
47 "TEST_STRING.charAt("+item+") == TEST_STRING.substring( "+item +", "+ (item+1) + ")", |
|
48 true, |
|
49 TEST_STRING.charAt( item ) == TEST_STRING.substring( item, item+1 ) |
|
50 ); |
|
51 } |
|
52 |
|
53 new TestCase( SECTION, "String.prototype.charAt.length", 1, String.prototype.charAt.length ); |
|
54 |
|
55 print( "TEST_STRING = new String(\" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\")" ); |
|
56 |
|
57 test(); |
|
58 |