Files
yallie 9fa3874800 Added the contents of the archive.
Moved the original file to the archive subfolder.
2017-11-20 16:11:42 +03:00

563 lines
16 KiB
JavaScript

//# ==++==
//#
//#
//# 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 = 52917;
function FuncRetVal() { return 655.35; }
function myObjVal() { return 123321; }
@if(!@aspx)
function myObject() { this.retVal = myObjVal(); }
@else
expando function myObject() { this.retVal = myObjVal(); }
@end
function mult02() {
var tmp,res,expected,emptyVar;
var myDate = new Date();
myDate.setTime(0); // this is Wed Dec 31 16:00:00 1969
var numvar = 4321;
var strvar = "57";
var boolvar = true; // new Boolean(true);
var emptystrvar = "";
var ary = new Array();
ary[2] = 12.14;
ary[3] = 13.14;
ary[4] = 15.14;
var myObj = new myObject();
var myStr = new String("112");
apInitTest("mult02");
apInitScenario("numvar *= numvar");
res = numvar; res *= numvar;
expected = 18671041;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= numvar");
res = strvar; res *= numvar;
expected = 246297;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= numvar");
res = ary[3]; res *= numvar;
expected = 56777.94;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= numvar");
res = FuncRetVal(); res *= numvar;
expected = 2831767.35;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= numvar");
res = myDate.getDate(); res *= numvar;
expected = 133951
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= numvar");
res = boolvar; res *= numvar;
expected = 4321;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= strvar");
res = numvar; res *= strvar;
expected = 246297
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= strvar");
res = strvar; res *= strvar;
expected = 3249
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= strvar");
res = ary[3]; res *= strvar;
expected = 748.98
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= strvar");
res = FuncRetVal(); res *= strvar;
expected = 37354.95;
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= strvar");
res = myDate.getDate(); res *= strvar;
expected = 1767
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= strvar");
res = boolvar; res *= strvar;
expected = 57;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= ary[3]");
res = numvar; res *= ary[3];
expected = 56777.94
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= ary[3]");
res = strvar; res *= ary[3];
expected = 748.98
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= ary[3]");
res = ary[3]; res *= ary[3];
expected = 172.6596
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= ary[3]");
res = FuncRetVal(); res *= ary[3];
expected = 8611.299
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= ary[3]");
res = myDate.getDate(); res *= ary[3];
expected = 407.34
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= ary[3]");
res = boolvar; res *= ary[3];
expected = 13.14
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= FuncRetVal()");
res = numvar; res *= FuncRetVal();
expected = 2831767.35;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= FuncRetVal()");
res = strvar; res *= FuncRetVal();
expected = 37354.95
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= FuncRetVal()");
res = ary[3]; res *= FuncRetVal();
expected = 8611.299
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= FuncRetVal()");
res = FuncRetVal(); res *= FuncRetVal();
expected = 429483.6225
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= FuncRetVal()");
res = myDate.getDate(); res *= FuncRetVal();
expected = 20315.85
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= FuncRetVal()");
res = boolvar; res *= FuncRetVal();
expected = 655.35
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= myDate.getDate()");
res = numvar; res *= myDate.getDate();
expected = 133951
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= myDate.getDate()");
res = strvar; res *= myDate.getDate();
expected = 1767
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= myDate.getDate()");
res = ary[3]; res *= myDate.getDate();
expected = 407.34
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= myDate.getDate()");
res = FuncRetVal(); res *= myDate.getDate();
expected = 20315.85
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= myDate.getDate()");
res = myDate.getDate(); res *= myDate.getDate();
expected = 961
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= myDate.getDate()");
res = boolvar; res *= myDate.getDate();
expected = 31;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= boolvar");
res = numvar; res *= boolvar;
expected = 4321;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= boolvar");
res = strvar; res *= boolvar;
expected = 57;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= boolvar");
res = ary[3]; res *= boolvar;
expected = 13.14;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= boolvar");
res = FuncRetVal(); res *= boolvar;
expected = 655.35;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= boolvar");
res = myDate.getDate(); res *= boolvar;
expected = 31;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= boolvar");
res = boolvar; res *= boolvar;
expected = 1;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= myObj.retVal");
@cc_on
@if (@_jscript_version < 7)
res = numvar; res *= myObj.retVal;
@else
res = numvar; res *= 123321;
@end
expected = 532870041;
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("strvar *= myObj.retVal");
@if (@_jscript_version < 7)
res = strvar; res *= myObj.retVal;
@else
res = strvar; res *= 123321;
@end
expected = 7029297
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("ary[3] *= myObj.retVal");
@if (@_jscript_version < 7)
res = ary[3]; res *= myObj.retVal;
@else
res = ary[3]; res *= 123321;
@end
expected = 1620437.94
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("FuncRetVal() *= myObj.retVal");
@if (@_jscript_version < 7)
res = FuncRetVal(); res *= myObj.retVal;
@else
res = FuncRetVal(); res *= 123321;
@end
expected = 80818417.35
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("myDate.getDate() *= myObj.retVal");
@if (@_jscript_version < 7)
res = myDate.getDate(); res *= myObj.retVal;
@else
res = myDate.getDate(); res *= 123321;
@end
expected = 3822951
if (doVerify(expected,res)) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("boolvar *= myObj.retVal");
@if (@_jscript_version < 7)
res = boolvar; res *= myObj.retVal;
@else
res = boolvar; res *= 123321;
@end
expected = 123321
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apInitScenario("numvar *= emptystrvar");
res = numvar; res *= emptystrvar;
expected = 0;
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
if (typeof(res) != "number") {
apLogFailInfo("wrong return type","number",res,"");
}
apEndTest();
}
function doVerify(a,b) {
if (a == b) { return 0; }
var epsilon = a;
if (b < a) epsilon = a;
epsilon /= 1e6;
var result = a - b;
if (result < 0) result *= -1;
if (result > epsilon) { return 1; } // failure!
return 0; // success
}
mult02();
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() {}