//# ==++== //# //# //# Copyright (c) 2002 Microsoft Corporation. All rights reserved. //# //# The use and distribution terms for this software are contained in the file //# named license.txt, which can be found in the root of this distribution. //# By using this software in any fashion, you are agreeing to be bound by the //# terms of this license. //# //# You must not remove this notice, or any other, from this software. //# //# //# ==--== //#################################################################################### @cc_on import System; var NULL_DISPATCH = null; var apGlobalObj; var apPlatform; var lFailCount; var iTestID = 65390; function FuncRetStr() { return "function returning string"; } function myObjStr() { return "my object string"; } @if(!@aspx) function myObject() { this.toString = myObjStr; } @else expando function myObject() { this.toString = myObjStr; } @end function string03() { var tmp,res,expected,emptyVar; apInitTest("string03"); var myStr = new String("Apple Core"); var myDate = new Date(); myDate.setTime(0); // this is Wed Dec 31 16:00:00 PST 1969 myDate.setTime(Date.UTC(70,0,1,0) + myDate.getTimezoneOffset() * 60000 - 28800000); var numvar = 4321; var strvar = "Hippopotamus"; var ary = new Array(); ary[2] = "zero"; ary[3] = "albatross"; ary[4] = "what flavor is it?"; var myObj = new myObject(); var crlf = unescape("%0d%0a"); var lf = unescape("%0a"); // LF @if (@_win16) var FRScode =lf+"function FuncRetStr() {"+lf+" [native code]"+lf+"}"+lf; var FRScode2="error"; var FRScode3="error"; @else //crlf = unescape("%0d%0a"); crlf = Environment.NewLine; var cr = unescape("%0d"); var FRScode = "function FuncRetStr() {" + crlf + ' return "function returning string";' + crlf + "}"; var FRScode2 = "function FuncRetStr() {" + cr + ' return "function returning string";' + cr + "}"; var FRScode3 = "function FuncRetStr() {" + crlf + 'return "function returning string";' + crlf + "}"; @end var Mathcode = "[object Math]"; apInitScenario("add eval string to string object"); res = eval("\"barnacles\"") + myStr; expected = "barnaclesApple Core"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } if( new Date("12/25/2002 12:00:00 PST").getTimezoneOffset()/60 == 8) { apInitScenario("add eval string to date (coerced to string)"); res = eval("\"barnacles\"") + ("" + myDate); expected = "barnaclesWed Dec 31 16:00:00 PST 1969"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to date.toString()"); res = eval("\"barnacles\"") + (myDate.toString()); expected = "barnaclesWed Dec 31 16:00:00 PST 1969"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } } apInitScenario("add eval string to function returning string"); res = eval("\"barnacles\"") + FuncRetStr(); expected = "barnaclesfunction returning string"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to null"); res = eval("\"barnacles\"") + null; expected = "barnaclesnull"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to null string"); res = eval("\"barnacles\"") + ""; expected = "barnacles"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to coerced numeric constant"); res = eval("\"barnacles\"") + ("" + 1234); expected = "barnacles1234"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to numeric constant"); res = eval("\"barnacles\"") + 1234; expected = "barnacles1234"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to exp numeric constant"); res = eval("\"barnacles\"") + 3e300; expected = "barnacles3e+300"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to fp numeric constant"); res = eval("\"barnacles\"") + 1234.56; expected = "barnacles1234.56"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to numeric variable"); res = eval("\"barnacles\"") + numvar; expected = "barnacles4321"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to string constant"); res = eval("\"barnacles\"") + "Bernoulli"; expected = "barnaclesBernoulli"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to string expression"); res = eval("\"barnacles\"") + ("abc" + "def"); expected = "barnaclesabcdef"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to string variable"); res = eval("\"barnacles\"") + strvar; expected = "barnaclesHippopotamus"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to string array element"); res = eval("\"barnacles\"") + ary[3]; expected = "barnaclesalbatross"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to eval string"); res = eval("\"barnacles\"") + eval("\"boingo\""); expected = "barnaclesboingo"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to empty variable"); res = eval("\"barnacles\"") + emptyVar; expected = "barnaclesundefined"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to user-defined object member"); res = eval("\"barnacles\"") + myObj.toString(); expected = "barnaclesmy object string"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to string.toString"); res = eval("\"barnacles\"") + "Horse".toString(); expected = "barnaclesHorse"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add eval string to Math.toString"); res = eval("\"barnacles\"") + Math.toString(); expected = "barnacles" + Mathcode; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apEndTest(); } string03(); if(lFailCount >= 0) System.Environment.ExitCode = lFailCount; else System.Environment.ExitCode = 1; function apInitTest(stTestName) { lFailCount = 0; apGlobalObj = new Object(); apGlobalObj.apGetPlatform = function Funca() { return "Rotor" } apGlobalObj.LangHost = function Funcb() { return 1033;} apGlobalObj.apGetLangExt = function Funcc(num) { return "EN"; } apPlatform = apGlobalObj.apGetPlatform(); var sVer = "1.0"; //navigator.appVersion.toUpperCase().charAt(navigator.appVersion.toUpperCase().indexOf("MSIE")+5); apGlobalObj.apGetHost = function Funcp() { return "Rotor " + sVer; } print ("apInitTest: " + stTestName); } function apInitScenario(stScenarioName) {print( "\tapInitScenario: " + stScenarioName);} function apLogFailInfo(stMessage, stExpected, stActual, stBugNum) { lFailCount = lFailCount + 1; print ("***** FAILED:"); print ("\t\t" + stMessage); print ("\t\tExpected: " + stExpected); print ("\t\tActual: " + stActual); } function apGetLocale(){ return 1033; } function apWriteDebug(s) { print("dbg ---> " + s) } function apEndTest() {}