//# ==++== //# //# //# 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 = 65399; function FuncRetStr() { return "function returning string"; } function myObject() { this.toString = myObjStr; } function myObjStr() { return "my object string"; } function string12() { var tmp,res,expected,emptyVar; apInitTest("string12"); 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 string array element to string object"); res = ary[3] + myStr; expected = "albatrossApple 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 string array element to date (coerced to string)"); res = ary[3] + ("" + myDate); expected = "albatrossWed 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 string array element to date.toString()"); res = ary[3] + (myDate.toString()); expected = "albatrossWed 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 string array element to function returning string"); res = ary[3] + FuncRetStr(); expected = "albatrossfunction returning string"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to null"); res = ary[3] + null; expected = "albatrossnull"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to null string"); res = ary[3] + ""; expected = "albatross"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to coerced numeric constant"); res = ary[3] + ("" + 1234); expected = "albatross1234"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to numeric constant"); res = ary[3] + 1234; expected = "albatross1234"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to exp numeric constant"); res = ary[3] + 3e300; expected = "albatross3e+300"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to fp numeric constant"); res = ary[3] + 1234.56; expected = "albatross1234.56"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to numeric variable"); res = ary[3] + numvar; expected = "albatross4321"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to string constant"); res = ary[3] + "Bernoulli"; expected = "albatrossBernoulli"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to string expression"); res = ary[3] + ("abc" + "def"); expected = "albatrossabcdef"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to string variable"); res = ary[3] + strvar; expected = "albatrossHippopotamus"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to string array element"); res = ary[3] + ary[3]; expected = "albatrossalbatross"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to empty variable"); res = ary[3] + emptyVar; expected = "albatrossundefined"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to user-defined object member"); res = ary[3] + myObj.toString(); expected = "albatrossmy object string"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to string.toString"); res = ary[3] + "Horse".toString(); expected = "albatrossHorse"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to Math.toString"); res = ary[3] + Math.toString(); expected = "albatross" + Mathcode; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apInitScenario("add string array element to eval string"); res = ary[3] + eval("\"boingo\""); expected = "albatrossboingo"; if (res != expected) { apLogFailInfo("wrong result",expected,res,""); } if (typeof(res) != "string") { apLogFailInfo("result had wrong type","string",typeof(res),""); } apEndTest(); } string12(); 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() {}