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

2005 lines
48 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 = 176963;
// this tescase tests the *= compound assignment op using combinations
// of hard typed variables
//
// Scenarios:
//
// 1) untyped *= untyped
// 2) untyped *= boolean
// 3) untyped *= Number
// 4) untyped *= String
// 5) untyped *= Object
// 6) untyped *= Date
// 7) untyped *= Array
// 8) untyped *= function
// 9) untyped *= RegExp
// 10) untyped *= Error
// 11) untyped *= byte
// 12) untyped *= char
// 13) untyped *= short
// 14) untyped *= int
// 15) untyped *= long
// 16) untyped *= float
// 17) boolean *= untyped
// 18) boolean *= boolean
// 19) boolean *= Number
// 20) boolean *= String
// 21) boolean *= Object
// 22) boolean *= Date
// 23) boolean *= Array
// 24) boolean *= function
// 25) boolean *= RegExp
// 26) boolean *= Error
// 27) boolean *= byte
// 28) boolean *= char
// 29) boolean *= short
// 30) boolean *= int
// 31) boolean *= long
// 32) boolean *= float
// 33) Number *= untyped
// 34) Number *= boolean
// 35) Number *= Number
// 36) Number *= String
// 37) Number *= Object
// 38) Number *= Date
// 39) Number *= Array
// 40) Number *= function
// 41) Number *= RegExp
// 42) Number *= Error
// 43) Number *= byte
// 44) Number *= char
// 45) Number *= short
// 46) Number *= int
// 47) Number *= long
// 48) Number *= float
// 49) String *= untyped
// 50) String *= boolean
// 51) String *= Number
// 52) String *= String
// 53) String *= Object
// 54) String *= Date
// 55) String *= Array
// 56) String *= function
// 57) String *= RegExp
// 58) String *= Error
// 59) String *= byte
// 60) String *= char
// 61) String *= short
// 62) String *= int
// 63) String *= long
// 64) String *= float
// 65) object *= untyped
// 66) object *= boolean
// 67) object *= Number
// 68) object *= String
// 69) object *= Object
// 70) object *= Date
// 71) object *= Array
// 72) object *= function
// 73) object *= RegExp
// 74) object *= Error
// 75) object *= byte
// 76) object *= char
// 77) object *= short
// 78) object *= int
// 79) object *= long
// 80) object *= float
// 81) Date *= untyped
// 82) Date *= boolean
// 83) Date *= Number
// 84) Date *= String
// 85) Date *= Object
// 86) Date *= Date
// 87) Date *= Array
// 88) Date *= function
// 89) Date *= RegExp
// 90) Date *= Error
// 91) Date *= byte
// 92) Date *= char
// 93) Date *= short
// 94) Date *= int
// 95) Date *= long
// 96) Date *= float
// 97) Array *= untyped
// 98) Array *= boolean
// 99) Array *= Number
// 100) Array *= String
// 101) Array *= Object
// 102) Array *= Date
// 103) Array *= Array
// 104) Array *= function
// 105) Array *= RegExp
// 106) Array *= Error
// 107) Array *= byte
// 108) Array *= char
// 109) Array *= short
// 110) Array *= int
// 111) Array *= long
// 112) Array *= float
// 113) Function *= untyped
// 114) Function *= boolean
// 115) Function *= Number
// 116) Function *= String
// 117) Function *= Object
// 118) Function *= Date
// 119) Function *= Array
// 120) Function *= function
// 121) Function *= RegExp
// 122) Function *= Error
// 123) Function *= byte
// 124) Function *= char
// 125) Function *= short
// 126) Function *= int
// 127) Function *= long
// 128) Function *= float
// 129) RegExp *= untyped
// 130) RegExp *= boolean
// 131) RegExp *= Number
// 132) RegExp *= String
// 133) RegExp *= Object
// 134) RegExp *= Date
// 135) RegExp *= Array
// 136) RegExp *= function
// 137) RegExp *= RegExp
// 138) RegExp *= Error
// 139) RegExp *= byte
// 140) RegExp *= char
// 141) RegExp *= short
// 142) RegExp *= int
// 143) RegExp *= long
// 144) RegExp *= float
// 145) Error *= untyped
// 146) Error *= boolean
// 147) Error *= Number
// 148) Error *= String
// 149) Error *= Object
// 150) Error *= Date
// 151) Error *= Array
// 152) Error *= function
// 153) Error *= RegExp
// 154) Error *= Error
// 155) Error *= byte
// 156) Error *= char
// 157) Error *= short
// 158) Error *= int
// 159) Error *= long
// 160) Error *= float
// 161) byte *= untyped
// 162) byte *= boolean
// 163) byte *= Number
// 164) byte *= String
// 165) byte *= Object
// 166) byte *= Date
// 167) byte *= Array
// 168) byte *= function
// 169) byte *= RegExp
// 170) byte *= Error
// 171) byte *= byte
// 172) byte *= char
// 173) byte *= short
// 174) byte *= int
// 175) byte *= long
// 176) byte *= float
// 177) Char *= untyped
// 178) Char *= boolean
// 179) Char *= Number
// 180) Char *= String
// 181) Char *= Object
// 182) Char *= Date
// 183) Char *= Array
// 184) Char *= function
// 185) Char *= RegExp
// 186) Char *= Error
// 187) Char *= byte
// 188) Char *= char
// 189) Char *= short
// 190) Char *= int
// 191) Char *= long
// 192) Char *= float
// 193) short *= untyped
// 194) short *= boolean
// 195) short *= Number
// 196) short *= String
// 197) short *= Object
// 198) short *= Date
// 199) short *= Array
// 200) short *= function
// 201) short *= RegExp
// 202) short *= Error
// 203) short *= byte
// 204) short *= char
// 205) short *= short
// 206) short *= int
// 207) short *= long
// 208) short *= float
// 209) int *= untyped
// 210) int *= boolean
// 211) int *= Number
// 212) int *= String
// 213) int *= Object
// 214) int *= Date
// 215) int *= Array
// 216) int *= function
// 217) int *= RegExp
// 218) int *= Error
// 219) int *= byte
// 220) int *= char
// 221) int *= short
// 222) int *= int
// 223) int *= long
// 224) int *= float
// 225) long *= untyped
// 226) long *= boolean
// 227) long *= Number
// 228) long *= String
// 229) long *= Object
// 230) long *= Date
// 231) long *= Array
// 232) long *= function
// 233) long *= RegExp
// 234) long *= Error
// 235) long *= byte
// 236) long *= char
// 237) long *= short
// 238) long *= int
// 239) long *= long
// 240) long *= float
// 241) float *= untyped
// 242) float *= boolean
// 243) float *= Number
// 244) float *= String
// 245) float *= Object
// 246) float *= Date
// 247) float *= Array
// 248) float *= function
// 249) float *= RegExp
// 250) float *= Error
// 251) float *= byte
// 252) float *= char
// 253) float *= short
// 254) float *= int
// 255) float *= long
// 256) float *= float
function asgnmult02() {
var tmp,res,expected,emptyVar;
var uvar = 4321;
var boolvar:boolean = true;
var numvar:Number = 3213.321;
var strvar:String = "this is a string";
var obvar:Object = new Object;
var datevar:Date = new Date(0);
var arrvar:Array = new Array;
arrvar[2] = 2.2;
arrvar[3] = 3.3;
arrvar[4] = 4.4;
function funvar(){var foo = 1};
var revar:RegExp = /\d{2}-\d{2}/g;
var errvar:Error = new Error;
var bytevar:byte = 50;
var charvar:char = "g";
var shrtvar:short = 4321;
var intvar:int = 1234;
var longvar:long = 321321321321;
var flovar:float = 1.25;
var strTM:String = -2146828275;
var strIC:String = -2146823266;
var strNE:String = "no errors...";
apInitTest("AsgnMult01");
///////////////////////////////////////////////////////////////////
///////////////// RegExp ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("RegExp *= untyped");
uvar = 4321;
res = strNE;
expected = strTM;
try{eval("revar *= uvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= boolean");
boolvar = true;
res = strNE;
expected = strTM;
try{eval("revar *= boolvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= Number");
numvar = 4321;
res = strNE;
expected = strTM;
try{eval("revar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= String");
strvar = "4321";
res = strNE;
expected = strTM;
try{eval("revar *= strvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= Object");
obvar = 4321;
res = strNE;
expected = strTM;
try{eval("revar *= obvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= Date");
datevar = new Date(0);
res = strNE;
expected = strTM;
try{eval("revar *= datevar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= Array");
res = strNE;
expected = strTM;
try{eval("revar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= function");
// revar initialized above
res = strNE;
expected = strTM;
try{eval("revar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
// TODOPGM
apInitScenario("RegExp *= RegExp");
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strIC;
try{revar *= /d/;}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= Error");
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("revar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= byte");
bytevar = 21;
res = strNE;
expected = strTM;
try{eval("revar *= bytevar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= char");
charvar = "A";
res = strNE;
expected = strTM;
try{eval("revar *= charvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= short");
shrtvar = -32000;
res = strNE;
expected = strTM;
try{eval("revar *= shrtvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= int");
intvar = 4321;
res = strNE;
expected = strTM;
try{eval("revar *= intvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= long");
longvar = 12344321;
res = strNE;
expected = strTM;
try{eval("revar *= longvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("RegExp *= float");
flovar = 4321;
res = strNE;
expected = strTM;
try{eval("revar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// Error ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("Error *= untyped");
errvar = new Error();
uvar = 4321;
res = strNE;
expected = strTM;
try{eval("errvar *= uvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= boolean");
errvar = new Error();
boolvar = true;
res = strNE;
expected = strTM;
try{eval("errvar *= boolvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= Number");
errvar = new Error();
numvar = 4321;
res = strNE;
expected = strTM;
try{eval("errvar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= String");
errvar = new Error();
strvar = "4321";
res = strNE;
expected = strTM;
try{eval("errvar *= strvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= Object");
errvar = new Error();
obvar = 4321;
res = strNE;
expected = strTM;
try{eval("errvar *= obvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= Date");
errvar = new Error();
datevar = new Date(0);
res = strNE;
expected = strTM;
try{eval("errvar *= datevar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= Array");
errvar = new Error();
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("errvar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= function");
errvar = new Error();
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("errvar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= RegExp");
errvar = new Error();
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("errvar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= Error");
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("errvar *= new Error()");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= byte");
errvar = new Error();
bytevar = 21;
res = strNE;
expected = strTM;
try{eval("errvar *= bytevar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= char");
errvar = new Error();
charvar = "A";
res = strNE;
expected = strTM;
try{eval("errvar *= charvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= short");
errvar = new Error();
shrtvar = -32000;
res = strNE;
expected = strTM;
try{eval("errvar *= shrtvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= int");
errvar = new Error();
intvar = 4321;
res = strNE;
expected = strTM;
try{eval("errvar *= intvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= long");
errvar = new Error();
longvar = 12344321;
res = strNE;
expected = strTM;
try{eval("errvar *= longvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Error *= float");
errvar = new Error();
flovar = 4321;
res = strNE;
expected = strTM;
try{eval("errvar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// Byte ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("byte *= untyped");
bytevar = 123;
uvar = 2;
bytevar *= uvar;
expected = byte(246)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
bytevar = 123;
uvar = 432;
res = strNE;
expected = strTM; try{eval("bytevar *= uvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
bytevar = 123;
uvar = -200;
res = strNE;
expected = strTM;
try{eval("bytevar *= uvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
bytevar = 123;
uvar = -2;
bytevar *= -uvar;
expected = byte(246)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= boolean");
bytevar = 123;
boolvar = true;
bytevar *= boolvar; // boolean changes to 1
expected = byte(123)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= Number");
bytevar = 12;
numvar = 4;
bytevar *= numvar;
expected = byte(48)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
bytevar = 123;
numvar = 43.1;
res = strNE;
expected = strTM;
try{eval("bytevar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= String");
bytevar = 12;
strvar = "4";
bytevar *= strvar;
expected = 48;
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= Object");
bytevar = 12;
obvar = 4;
bytevar *= obvar;
expected = byte(48)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= Date");
bytevar = 12;
datevar = new Date(-10);
bytevar *= -datevar;
expected = byte(120)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= Array");
bytevar = 123;
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("bytevar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= function");
bytevar = 123;
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("bytevar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= RegExp");
bytevar = 123;
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("bytevar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= Error");
bytevar = 123;
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("bytevar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= byte");
bytevar = 12;
bytevar *= byte(12);
expected = byte(144)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= char");
bytevar = 2;
charvar = "A";
bytevar *= charvar;
expected = 130;
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= short");
bytevar = 10;
shrtvar = -20;
bytevar *= -shrtvar;
expected = byte(200)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
bytevar = 10;
shrtvar = 400;
res = strNE;
expected = strTM;
try{eval("bytevar *= shrtvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("byte *= int");
bytevar = 0;
intvar = 100000;
bytevar *= intvar;
expected = byte(0);
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= long");
bytevar = 123;
longvar = 1;
bytevar *= longvar;
expected = byte(123)
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
apInitScenario("byte *= float");
bytevar = 123;
flovar = 2;
bytevar *= flovar;
expected = 246
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"");
}
bytevar = 64;
flovar = 1.5;
bytevar *= flovar;
expected = 96
if (doVerify(expected,bytevar)) {
apLogFailInfo("wrong return value",expected,bytevar,"269386");
}
bytevar = 64;
flovar = 1.1;
res = strNE;
expected = strTM;
try{eval("bytevar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// Char ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("Char *= untyped");
charvar = "5";
uvar = -2;
charvar *= -uvar;
expected = "\u006a";
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
charvar = char("\u000a");
uvar = 1.1;
charvar *= uvar;
expected = char("\u000b");
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= boolean");
charvar = "b";
boolvar = true;
charvar *= boolvar; // boolean changes to 1
expected = "b"
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= Number");
charvar = "A";
numvar = 3
charvar *= numvar;
expected = 195;
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
charvar = "0";
numvar = 1.125
charvar *= numvar;
expected = "6";
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"269405");
}
charvar = "5";
numvar = 1.1;
res = strNE;
expected = strTM;
try{eval("charvar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Char *= String");
charvar = "A";
strvar = "1"
charvar *= strvar;
expected = "A"
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= Object");
charvar = "2";
obvar = String("1");
charvar *= obvar;
expected = char("2");
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
charvar = 0;
obvar = -char(1);
charvar *= obvar;
expected = char(0);
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= Date");
charvar = char(20);
datevar = new Date(2);
charvar *= datevar;
expected = char(40);
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= Array");
charvar = "1";
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("charvar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Char *= function");
charvar = "\n";
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("charvar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Char *= RegExp");
charvar = "s";
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("charvar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Char *= Error");
charvar = "f";
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("charvar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("Char *= byte");
charvar = char(20);
bytevar = 10;
charvar *= bytevar;
expected = char(200)
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= char");
charvar = char(10);
expected = strTM;
charvar *= char(2);
expected = char(20)
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= short");
charvar = char("\u0005");
shrtvar = -13;
charvar *= -shrtvar;
expected = "A"
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= int");
charvar = char("\u0001");
intvar = 100;
charvar *= intvar;
expected = char("\u0064");
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= long");
charvar = char(33);
longvar = 2;
charvar *= longvar;
expected = "B"
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
charvar = char(33);
longvar = -2;
charvar *= -longvar;
expected = "B"
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
apInitScenario("Char *= float");
charvar = "b";
flovar = -1;
charvar *= -flovar;
expected = char("b")
if (doVerify(expected,charvar)) {
apLogFailInfo("wrong return value",expected,charvar,"");
}
charvar = "t";
flovar = 2.3;
res = strNE;
expected = strTM;
try{eval("charvar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// short ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("short *= untyped");
shrtvar = 1234;
uvar = 21;
shrtvar *= uvar;
expected = short(25914)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
shrtvar = 1234
uvar = 4321;
res = strNE;
expected = strTM;
try{eval("charvar *= uvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= boolean");
shrtvar = 1234;
boolvar = true;
shrtvar *= boolvar; // boolean changes to 1
expected = short(1234)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= Number");
shrtvar = 1230;
numvar = 12.5;
shrtvar *= numvar;
expected = short(15375)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"301598");
}
shrtvar = 1234;
numvar = 21.1;
res = strNE;
expected = strTM;
try{eval("shrtvar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= String");
shrtvar = 1234;
strvar = "21";
shrtvar *= strvar;
expected = short(25914)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= Object");
shrtvar = 1234;
obvar = 21;
shrtvar *= obvar;
expected = short(25914)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= Date");
shrtvar = 1234;
datevar = new Date(-21);
shrtvar *= datevar;
expected = short(-25914)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= Array");
shrtvar = 1234;
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("shrtvar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= function");
shrtvar = 1234;
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("shrtvar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= RegExp");
shrtvar = 1234;
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("shrtvar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= Error");
shrtvar = 1234;
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("shrtvar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= byte");
shrtvar = -1000;
bytevar = 30;
shrtvar *= bytevar;
expected = short(-30000)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= char");
shrtvar = 123;
charvar = "A";
shrtvar *= charvar;
expected = short(7995)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= short");
shrtvar = -1000;
shrtvar *= short(-9);
expected = short(9000)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= int");
shrtvar = 1;
intvar = 3470
shrtvar *= -intvar;
expected = short(-3470);
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
apInitScenario("short *= long");
shrtvar = 1234;
longvar = -21;
shrtvar *= longvar;
expected = short(-25914)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"");
}
shrtvar = 1234;
longvar = 2147482414;
res = strNE;
expected = strTM;
try{eval("shrtvar *= longvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("short *= float");
shrtvar = 2;
flovar = -1.5;
shrtvar *= flovar;
expected = int(-3)
if (doVerify(expected,shrtvar)) {
apLogFailInfo("wrong return value",expected,shrtvar,"301598");
}
shrtvar = 1234;
flovar = 4321.1;
res = strNE;
expected = strTM;
try{eval("shrtvar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// int ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("int *= untyped");
intvar = 1234;
uvar = 4321;
intvar *= uvar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= boolean");
intvar = 1234;
boolvar = true;
intvar *= boolvar; // boolean changes to 1
expected = int(1234)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= Number");
intvar = 1234;
numvar = 4321;
intvar *= numvar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
intvar = 1234;
numvar = 4321.1;
res = strNE;
expected = strTM;
try{eval("intvar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= String");
intvar = 1234;
strvar = "4321";
intvar *= strvar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= Object");
intvar = 1234;
obvar = 4321;
intvar *= obvar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= Date");
intvar = 1234;
datevar = new Date(4321);
intvar *= datevar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= Array");
intvar = 1234;
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("intvar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= function");
intvar = 1234;
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("intvar *= funvar");} catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= RegExp");
intvar = 1234;
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("intvar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= Error");
intvar = 1234;
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("intvar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= byte");
intvar = 1234;
bytevar = 21;
intvar *= bytevar;
expected = int(25914)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= char");
intvar = 33038209;
charvar = "A";
intvar *= -charvar;
expected = int(-2147483585)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= short");
intvar = -10000;
shrtvar = 32000;
intvar *= shrtvar;
expected = int(-320000000)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= int");
intvar = 1073741824;
intvar *= int(-2);
expected = int(-2147483648);
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
apInitScenario("int *= long");
intvar = 1;
longvar = 2147483648;
intvar *= -longvar;
expected = int(-2147483648)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
intvar = 1234;
longvar = -2147482414;
res = strNE;
expected = strTM;
try{eval("intvar *= longvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("int *= float");
intvar = 1234;
flovar = 4321;
intvar *= flovar;
expected = int(5332114)
if (doVerify(expected,intvar)) {
apLogFailInfo("wrong return value",expected,intvar,"");
}
intvar = 1234;
flovar = 4321.1;
res = strNE;
expected = strTM;
try{eval("intvar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// long ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("long *= untyped");
longvar = 1234;
uvar = 4321;
longvar *= uvar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= boolean");
longvar = 1234;
boolvar = false;
longvar *= boolvar; // boolean changes to 1
expected = long(0)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= Number");
longvar = 1234;
numvar = 4321;
longvar *= numvar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
longvar = 1234;
numvar = 4321.1;
res = strNE;
expected = strTM;
try{eval("longvar *= numvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= String");
longvar = 1234;
strvar = "4321";
longvar *= strvar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= Object");
longvar = 1234;
obvar = 4321;
longvar *= obvar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= Date");
longvar = 1234;
datevar = new Date(4321);
longvar *= datevar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= Array");
longvar = 1234;
// arrvar initialized above
res = strNE;
expected = strTM;
try{eval("longvar *= arrvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= function");
longvar = 1234;
// funvar initialized above
res = strNE;
expected = strTM;
try{eval("longvar *= funvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= RegExp");
longvar = 1234;
revar = /\d{2}-\d{2}/g
res = strNE;
expected = strTM;
try{eval("longvar *= revar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= Error");
longvar = 1234;
errvar = new Error();
res = strNE;
expected = strTM;
try{eval("longvar *= errvar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= byte");
longvar = 12345678900;
bytevar = 123
longvar *= bytevar;
expected = long(1518518504700)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= char");
longvar = -12345678900;
charvar = "A";
longvar *= charvar;
expected = long(-802469128500)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= short");
longvar = -10000000;
shrtvar = 32000;
longvar *= shrtvar;
expected = long(-320000000000)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= int");
longvar = -500000000;
intvar = 1234567890
longvar *= intvar;
expected = long(-617283945000000000);
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
apInitScenario("long *= long");
longvar = 1234;
longvar *= long(1235);
expected = long(1523990)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
longvar = -9223372036854775808;
res = strNE;
expected = strTM;
try{eval("longvar *= long(-1)");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
apInitScenario("long *= float");
longvar = 1234;
flovar = 4321;
longvar *= flovar;
expected = long(5332114)
if (doVerify(expected,longvar)) {
apLogFailInfo("wrong return value",expected,longvar,"");
}
longvar = 1234;
flovar = 4321.1;
res = strNE;
expected = strTM;
try{eval("longvar *= flovar");}
catch(e){res = e.number}
if (expected != res) {
apLogFailInfo("wrong return value",expected,res,"");
}
///////////////////////////////////////////////////////////////////
///////////////// float ///////////////////////////////////////
///////////////////////////////////////////////////////////////////
apInitScenario("float *= untyped");
flovar = 1234;
uvar = 4321;
flovar *= uvar;
expected = float(5332114)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234.5;
uvar = 4321;
flovar *= uvar;
expected = float(5334274.5)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234;
uvar = 4321.5;
flovar *= uvar;
expected = float(5332731)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234.25;
uvar = 4321.25;
flovar *= uvar;
expected = float(5333502.8125)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= boolean");
flovar = 1234;
boolvar = true;
flovar *= boolvar; // boolean changes to 1
expected = float(1234)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= Number");
flovar = 1234;
numvar = 4321;
flovar *= numvar;
expected = float(5332114)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234;
numvar = 4321.1
flovar *= numvar;
expected = float(5332114.1)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= String");
flovar = 1234;
strvar = "4321";
flovar *= strvar;
//apWriteDebug("bug: VS265983");
expected = int(5332114)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= Object");
flovar = 1234;
obvar = 4321;
flovar *= obvar;
expected = int(5332114)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= Date");
flovar = 1234;
datevar = new Date(-1000);
flovar *= datevar;
expected = int(-1234000)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= Array");
flovar = 1234;
// arrvar initialized above
flovar *= arrvar;
if (!isNaN(flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= function");
flovar = 1234;
// funvar initialized above
flovar *= funvar;
if (!isNaN(flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= RegExp");
flovar = 1234;
revar = /\d{2}-\d{2}/g
flovar *= revar;
if (!isNaN(flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= Error");
flovar = 1234;
errvar = new Error();
flovar *= errvar;
if (!isNaN(flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= byte");
flovar = -600.1;
bytevar = 34;
flovar *= bytevar;
expected = float(-20403.4)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= char");
flovar = -600.1;
charvar = "A";
flovar *= charvar;
expected = float(-39006.5)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= short");
flovar = -10000;
shrtvar = -32000;
flovar *= shrtvar;
expected = float(320000000)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= int");
flovar = 1234;
intvar = -1234567890
flovar *= intvar;
expected = float(-1523456776260);
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= long");
flovar = 1234.1;
longvar = 12344321;
flovar *= longvar;
expected = Number(15234126546.1)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234;
longvar = -2147482414;
flovar *= longvar;
expected = Number(-2649993298876)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apInitScenario("float *= float");
flovar = 1234;
flovar *= float(4321);
expected = float(5332114)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
flovar = 1234.9;
flovar *= float(4321.1);
expected = float(5336126.39)
if (doVerify(expected,flovar)) {
apLogFailInfo("wrong return value",expected,flovar,"");
}
apEndTest();
}
function doVerify(a,b) {
var delta
if (a === b) { return 0; }
if (typeof(a) == "number" && typeof(b) == "number"){
delta = .0001 * (a+b)
if (delta<0) delta = -delta;
if (a>b && (a-b)<delta) return 0;
if (b>a && (b-a)<delta) return 0;
//print(delta)
//if (a>b) print(a +" > "+ b +" "+ (a-b))
//if (b>a) print(b +" > "+ a +" "+ (b-a))
}
return 1;
}
//function FuncRetVal() { return 655.35; }
//function myObject() { this.retVal = myObjVal(); }
//function myObjVal() { return 123321; }
asgnmult02();
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() {}