jscript: Added String.length implementation.
[wine] / dlls / jscript / tests / api.js
1 /*
2  * Copyright 2008 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 ok("".length === 0, "\"\".length = " + "".length);
20 ok(getVT("".length) == "VT_I4", "\"\".length = " + "".length);
21 ok("abc".length === 3, "\"abc\".length = " + "abc".length);
22 ok(String.prototype.length === 0, "String.prototype.length = " + String.prototype.length);
23
24 var arr = new Array();
25 ok(typeof(arr) === "object", "arr () is not object");
26 ok((arr.length === 0), "arr.length is not 0");
27 ok(arr["0"] === undefined, "arr[0] is not undefined");
28
29 var arr = new Array(1, 2, "test");
30 ok(typeof(arr) === "object", "arr (1,2,test) is not object");
31 ok((arr.length === 3), "arr.length is not 3");
32 ok(arr["0"] === 1, "arr[0] is not 1");
33 ok(arr["1"] === 2, "arr[1] is not 2");
34 ok(arr["2"] === "test", "arr[2] is not \"test\"");
35
36 arr["7"] = true;
37 ok((arr.length === 8), "arr.length is not 8");
38
39 var arr = new Array(6);
40 ok(typeof(arr) === "object", "arr (6) is not object");
41 ok((arr.length === 6), "arr.length is not 6");
42 ok(arr["0"] === undefined, "arr[0] is not undefined");
43
44 reportSuccess();