initial import
[vuplus_webkit] / Source / JavaScriptCore / tests / mozilla / ecma / String / 15.5.4.5-4.js
1 /* The contents of this file are subject to the Netscape Public
2  * License Version 1.1 (the "License"); you may not use this file
3  * except in compliance with the License. You may obtain a copy of
4  * the License at http://www.mozilla.org/NPL/
5  *
6  * Software distributed under the License is distributed on an "AS
7  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
8  * implied. See the License for the specific language governing
9  * rights and limitations under the License.
10  *
11  * The Original Code is Mozilla Communicator client code, released March
12  * 31, 1998.
13  *
14  * The Initial Developer of the Original Code is Netscape Communications
15  * Corporation. Portions created by Netscape are
16  * Copyright (C) 1998 Netscape Communications Corporation. All
17  * Rights Reserved.
18  *
19  * Contributor(s): 
20  * 
21  */
22 /**
23     File Name:          15.5.4.5-4.js
24     ECMA Section:       15.5.4.5 String.prototype.charCodeAt(pos)
25
26     Description:        Returns a nonnegative integer less than 2^16.
27
28     Author:             christine@netscape.com
29     Date:               28 october 1997
30
31 */
32     var VERSION = "0697";
33     startTest();
34     var SECTION = "15.5.4.5-4";
35
36     writeHeaderToLog( SECTION + " String.prototype.charCodeAt(pos)" );
37     var tc= 0;
38     var testcases = getTestCases();
39
40 //  all tests must call a function that returns an array of TestCase objects.
41     test();
42
43 function getTestCases() {
44     var array = new Array();
45     var MAXCHARCODE = Math.pow(2,16);
46     var item=0, CHARCODE;
47
48     for ( CHARCODE=0; CHARCODE <256; CHARCODE++ ) {
49         array[item++] = new TestCase( SECTION,
50                                      "(String.fromCharCode("+CHARCODE+")).charCodeAt(0)",
51                                      CHARCODE,
52                                      (String.fromCharCode(CHARCODE)).charCodeAt(0) );
53     }
54     for ( CHARCODE=256; CHARCODE < 65536; CHARCODE+=999 ) {
55         array[item++] = new TestCase( SECTION,
56                                      "(String.fromCharCode("+CHARCODE+")).charCodeAt(0)",
57                                      CHARCODE,
58                                      (String.fromCharCode(CHARCODE)).charCodeAt(0) );
59     }
60
61     array[item++] = new TestCase( SECTION, "(String.fromCharCode(65535)).charCodeAt(0)", 65535,     (String.fromCharCode(65535)).charCodeAt(0) );
62
63     return ( array );
64 }
65 function test() {
66         for ( tc = 0; tc < testcases.length; tc++ ) {
67             testcases[tc].passed = writeTestCaseResult(
68                             testcases[tc].expect,
69                             testcases[tc].actual,
70                             testcases[tc].description +" = "+ testcases[tc].actual );
71
72             testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
73
74         }
75
76         stopTest();
77
78     //  all tests must return an array of TestCase objects
79         return ( testcases );
80 }