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