[WSCRIPT_WINETEST] Sync with Wine Staging 3.17. CORE-15127
[reactos.git] / modules / rostests / winetests / wscript / run.js
1 /*
2 * Copyright 2011 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 var winetest = new ActiveXObject("Wine.Test");
20
21 function ok(expr, msg) {
22 winetest.ok(expr, msg);
23 }
24
25 ok(typeof(WScript) === "object", "typeof(WScript) = " + typeof(WScript));
26 ok(typeof(WSH) === "object", "typeof(WSH) = " + typeof(WSH));
27 ok(WScript === WSH, "WScript !== WSH");
28 ok(WScript.Name === "Windows Script Host", "WScript.Name = " + WScript.Name);
29 ok(typeof(WScript.Version) === "string", "typeof(WScript.Version) = " + typeof(WScript.Version));
30 ok(typeof(WScript.BuildVersion) === "number", "typeof(WScript.BuildVersion) = " + typeof(WScript.BuildVersion));
31 ok(WScript.FullName.toUpperCase() === winetest.wscriptFullName.toUpperCase(), "WScript.FullName = " + WScript.FullName);
32 ok(WScript.Path.toUpperCase() === winetest.wscriptPath.toUpperCase(), "WScript.Path = " + WScript.Path);
33 ok(WScript.ScriptName === winetest.wscriptScriptName, "WScript.ScriptName = " + WScript.ScriptName);
34 ok(WScript.ScriptFullName === winetest.wscriptScriptFullName, "WScript.ScriptFullName = " + WScript.ScriptFullName);
35 ok(typeof(WScript.Arguments) === "object", "typeof(WScript.Arguments) = " + typeof(WScript.Arguments));
36 ok(WScript.Arguments.Item(0) === "arg1", "WScript.Arguments.Item(0) = " + WScript.Arguments.Item(0));
37 ok(WScript.Arguments.Item(1) === "2", "WScript.Arguments.Item(1) = " + WScript.Arguments.Item(1));
38 ok(WScript.Arguments.Item(2) === "ar3", "WScript.Arguments.Item(2) = " + WScript.Arguments.Item(2));
39 try {
40 WScript.Arguments.Item(3);
41 ok(false, "expected exception");
42 }catch(e) {}
43 ok(WScript.Arguments.Count() === 3, "WScript.Arguments.Count() = " + WScript.Arguments.Count());
44 ok(WScript.Arguments.length === 3, "WScript.Arguments.length = " + WScript.Arguments.length);
45 ok(WScript.Interactive === true, "WScript.Interactive = " + WScript.Interactive);
46 WScript.Interactive = false;
47 ok(WScript.Interactive === false, "WScript.Interactive = " + WScript.Interactive);
48 WScript.Interactive = true;
49 ok(WScript.Interactive === true, "WScript.Interactive = " + WScript.Interactive);
50 ok(WScript.Application === WScript, "WScript.Application = " + WScript.Application);
51
52 var obj = WScript.CreateObject("Wine.Test");
53 obj.ok(true, "Broken WScript.CreateObject object?");
54
55 try {
56 obj = WScript.CreateObject("nonexistent");
57 ok(false, "Expected exception for CreateObject('nonexistent')");
58 }catch(e) {}
59
60 winetest.reportSuccess();