1*b1cdbd2cSJim Jagielski<!--*********************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski ***********************************************************--> 21*b1cdbd2cSJim Jagielski<HTML> 22*b1cdbd2cSJim Jagielski<HEAD> 23*b1cdbd2cSJim Jagielski<META NAME="GENERATOR" Content="Microsoft Developer Studio"> 24*b1cdbd2cSJim Jagielski<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1"> 25*b1cdbd2cSJim Jagielski<TITLE>Document Title</TITLE> 26*b1cdbd2cSJim Jagielski</HEAD> 27*b1cdbd2cSJim Jagielski<BODY id=theBody> 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski<script language="JScript"> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielskifunction runJScriptTest( Log) 32*b1cdbd2cSJim Jagielski{ 33*b1cdbd2cSJim Jagielskidocument.writeln("================================================================================<br>"); 34*b1cdbd2cSJim Jagielskidocument.writeln("JScript<br>"); 35*b1cdbd2cSJim Jagielskidocument.writeln("================================================================================<p>"); 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim Jagielski//var name : String = "Fred"; 38*b1cdbd2cSJim Jagielski//print(name); 39*b1cdbd2cSJim Jagielskivar arr= new Array( 1, 2, 3, 4, 0); 40*b1cdbd2cSJim Jagielskivar arrInt= new Array( 1,2,3,4,5); 41*b1cdbd2cSJim Jagielskivar arrDouble= new Array( 1.2345, 12.345, 123.45, 1234.5, 12345); 42*b1cdbd2cSJim Jagielskivar arrBool= new Array( true, false, true, false, true); 43*b1cdbd2cSJim Jagielskivar arrChar= new Array( '1', 'A'," ", 55); 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielskivar arrString= new Array("hamburger","cheeseburger", "chicken nuggets", "chicken wings" , "pizza"); 46*b1cdbd2cSJim Jagielskivar arrAny= new Array( 100, 100.1235,"hallo"); 47*b1cdbd2cSJim Jagielskivar arrSeq= new Array( arr, arr, arr); 48*b1cdbd2cSJim Jagielskivar arrSeq2= new Array( ); 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielskivar arEventListener= new Array( new XEventListener_Impl(), new XEventListener_Impl(), 51*b1cdbd2cSJim Jagielski new XEventListener_Impl()); 52*b1cdbd2cSJim Jagielskivar arEventListener2= new Array( new XEventListener_Impl(), new XEventListener_Impl(), 53*b1cdbd2cSJim Jagielski new XEventListener_Impl()); 54*b1cdbd2cSJim Jagielskivar arArEventListener= new Array( arEventListener, arEventListener2); 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielskivar arObj= new Array(); 57*b1cdbd2cSJim Jagielskifor( i=0; i< 3; i++) 58*b1cdbd2cSJim Jagielski{ 59*b1cdbd2cSJim Jagielski arObj[i]= new Object(); 60*b1cdbd2cSJim Jagielski} 61*b1cdbd2cSJim Jagielskivar outVal= new Array(); 62*b1cdbd2cSJim Jagielskivar outVal2= new Array(); 63*b1cdbd2cSJim Jagielskivar outVal3= new Array(); 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielskifor( i=0; i < 3; i++) 66*b1cdbd2cSJim Jagielski{ 67*b1cdbd2cSJim Jagielski arrSeq2[i]= new Array(); 68*b1cdbd2cSJim Jagielski for( j= 0; j < 3; j++) 69*b1cdbd2cSJim Jagielski { 70*b1cdbd2cSJim Jagielski arrSeq2[i][j]= new Array(); 71*b1cdbd2cSJim Jagielski for( k= 0; k < 5; k++) 72*b1cdbd2cSJim Jagielski { 73*b1cdbd2cSJim Jagielski arrSeq2[i][j][k]= (i * 3 * 5) + (j * 5) + k; 74*b1cdbd2cSJim Jagielski// document.write(arrSeq2[i][j][k] + " "); 75*b1cdbd2cSJim Jagielski } 76*b1cdbd2cSJim Jagielski// document.write("<br>"); 77*b1cdbd2cSJim Jagielski } 78*b1cdbd2cSJim Jagielski} 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielskiret= oletest.methodByte( arr); 82*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 83*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "methodByte"); 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielskiret= oletest.methodFloat( arrDouble); 86*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 87*b1cdbd2cSJim JagielskibOk= false; 88*b1cdbd2cSJim Jagielskiif( (arrDouble.length == _ret.length) 89*b1cdbd2cSJim Jagielski && (_ret[0] > 1.2344 && _ret[0] < 1.2346) 90*b1cdbd2cSJim Jagielski && (_ret[1] > 12.344 && _ret[1] < 12.346) 91*b1cdbd2cSJim Jagielski && (_ret[2] > 123.44 && _ret[2] < 123.46) 92*b1cdbd2cSJim Jagielski && (_ret[3] > 1234.4 && _ret[3] < 1234.6) 93*b1cdbd2cSJim Jagielski && (_ret[4] > 12344 && _ret[4] < 12346)) 94*b1cdbd2cSJim Jagielski bOk= true; 95*b1cdbd2cSJim JagielskiLog.print( bOk, "methodFloat"); 96*b1cdbd2cSJim Jagielski 97*b1cdbd2cSJim Jagielskiret= oletest.methodDouble( arrDouble); 98*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 99*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrDouble, _ret), "methodDouble"); 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielskiret= oletest.methodBool( arrBool); 102*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 103*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrBool, _ret), "methodBool"); 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielskiret= oletest.methodShort( arr); 106*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 107*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "methodShort"); 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielskiret= oletest.methodUShort( arr); 110*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 111*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "methodUShort"); 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielskiret= oletest.methodLong( arr); 114*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 115*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "methodLong"); 116*b1cdbd2cSJim Jagielski 117*b1cdbd2cSJim Jagielskiret= oletest.methodULong( arr); 118*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 119*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "methodULong"); 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielskiret= oletest.methodChar( arrChar); 122*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 123*b1cdbd2cSJim JagielskibOk= false; 124*b1cdbd2cSJim Jagielskiif( _ret.length == arrChar.length && _ret[0] == 49 && _ret[1] == 65 && _ret[2] == 32 && _ret[3] == 55) 125*b1cdbd2cSJim Jagielski bOk= true; 126*b1cdbd2cSJim JagielskiLog.print( bOk, "methodChar"); 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielskiret= oletest.methodString( arrString); 129*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 130*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrString, _ret), "methodString"); 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielskiret= oletest.methodAny( arrAny); 133*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 134*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrAny, _ret), "methodAny"); 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielskiret= oletest.methodSequence( arrSeq); 137*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 138*b1cdbd2cSJim Jagielskifor( i=0; i < _ret.length; i++) 139*b1cdbd2cSJim Jagielski{ 140*b1cdbd2cSJim Jagielski sfarray2= new VBArray( _ret[i]); 141*b1cdbd2cSJim Jagielski var arr2= sfarray2.toArray(); 142*b1cdbd2cSJim Jagielski if( ! isEqualAr(arrSeq[i], arr2)) 143*b1cdbd2cSJim Jagielski { 144*b1cdbd2cSJim Jagielski bOk= false; 145*b1cdbd2cSJim Jagielski break; 146*b1cdbd2cSJim Jagielski } 147*b1cdbd2cSJim Jagielski} 148*b1cdbd2cSJim JagielskiLog.print( bOk, "methodSequence"); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielskiret= oletest.methodSequence2( arrSeq2); 151*b1cdbd2cSJim Jagielskiarr1= new VBArray( ret).toArray(); 152*b1cdbd2cSJim Jagielskifor( i=0; i < arr1.length; i++) 153*b1cdbd2cSJim Jagielski{ 154*b1cdbd2cSJim Jagielski var ar2Dim= arrSeq2[i]; 155*b1cdbd2cSJim Jagielski sfarray2= new VBArray( arr1[i]); 156*b1cdbd2cSJim Jagielski arr2= sfarray2.toArray(); 157*b1cdbd2cSJim Jagielski for ( j=0; j < arr2.length; j++) 158*b1cdbd2cSJim Jagielski { 159*b1cdbd2cSJim Jagielski var ar1Dim= ar2Dim[j]; 160*b1cdbd2cSJim Jagielski sfarray3= new VBArray( arr2[j]); 161*b1cdbd2cSJim Jagielski arr3= sfarray3.toArray(); 162*b1cdbd2cSJim Jagielski// document.write(arr3[j].toString()); 163*b1cdbd2cSJim Jagielski if( ! isEqualAr( arrSeq2[i][j], arr3)) 164*b1cdbd2cSJim Jagielski { 165*b1cdbd2cSJim Jagielski bOk= false; 166*b1cdbd2cSJim Jagielski break; 167*b1cdbd2cSJim Jagielski } 168*b1cdbd2cSJim Jagielski } 169*b1cdbd2cSJim Jagielski} 170*b1cdbd2cSJim JagielskiLog.print( bOk, "methodSequence2"); 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielskiret= oletest.methodXInterface( arObj); 173*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 174*b1cdbd2cSJim JagielskibOk= true; 175*b1cdbd2cSJim Jagielskifor(i in _ret) 176*b1cdbd2cSJim Jagielski{ 177*b1cdbd2cSJim Jagielski if( _ret[i] !== arObj[i]) 178*b1cdbd2cSJim Jagielski { 179*b1cdbd2cSJim Jagielski bOk= false; 180*b1cdbd2cSJim Jagielski break; 181*b1cdbd2cSJim Jagielski } 182*b1cdbd2cSJim Jagielski} 183*b1cdbd2cSJim JagielskiLog.print( bOk, "methodXInterface"); 184*b1cdbd2cSJim Jagielski 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielskiret= oletest.methodXEventListeners( arEventListener); 187*b1cdbd2cSJim Jagielski_ret= new VBArray(ret).toArray(); 188*b1cdbd2cSJim JagielskibOk= true; 189*b1cdbd2cSJim Jagielskifor ( key in _ret) 190*b1cdbd2cSJim Jagielski{ 191*b1cdbd2cSJim Jagielski if( ! _ret[key].disposingCalled()) 192*b1cdbd2cSJim Jagielski { 193*b1cdbd2cSJim Jagielski bOk= false; 194*b1cdbd2cSJim Jagielski break; 195*b1cdbd2cSJim Jagielski } 196*b1cdbd2cSJim Jagielski} 197*b1cdbd2cSJim JagielskiLog.print( bOk, "methodXEventListeners"); 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielskiret= oletest.methodXEventListenersMul( arArEventListener); 200*b1cdbd2cSJim Jagielski_ret= new VBArray(ret).toArray(); 201*b1cdbd2cSJim JagielskibOk= true; 202*b1cdbd2cSJim Jagielskifor( key in _ret) 203*b1cdbd2cSJim Jagielski{ 204*b1cdbd2cSJim Jagielski _ret2= new VBArray(_ret[key]).toArray(); 205*b1cdbd2cSJim Jagielski for( key2 in _ret2) 206*b1cdbd2cSJim Jagielski { 207*b1cdbd2cSJim Jagielski if( ! _ret2[key2].disposingCalled()) 208*b1cdbd2cSJim Jagielski { 209*b1cdbd2cSJim Jagielski bOk= false; 210*b1cdbd2cSJim Jagielski break; 211*b1cdbd2cSJim Jagielski } 212*b1cdbd2cSJim Jagielski } 213*b1cdbd2cSJim Jagielski} 214*b1cdbd2cSJim JagielskiLog.print( bOk, "methodXEventListenersMul"); 215*b1cdbd2cSJim Jagielski 216*b1cdbd2cSJim Jagielskidocument.writeln("<br>"); 217*b1cdbd2cSJim Jagielskioletest.AttrByte = arr; 218*b1cdbd2cSJim Jagielskiret= oletest.AttrByte; 219*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 220*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "AttrByte"); 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielskioletest.AttrFloat= arrDouble; 223*b1cdbd2cSJim Jagielskiret= oletest.AttrFloat; 224*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 225*b1cdbd2cSJim JagielskibOk= false; 226*b1cdbd2cSJim Jagielskiif( (arrDouble.length == _ret.length) 227*b1cdbd2cSJim Jagielski && (_ret[0] > 1.2344 && _ret[0] < 1.2346) 228*b1cdbd2cSJim Jagielski && (_ret[1] > 12.344 && _ret[1] < 12.346) 229*b1cdbd2cSJim Jagielski && (_ret[2] > 123.44 && _ret[2] < 123.46) 230*b1cdbd2cSJim Jagielski && (_ret[3] > 1234.4 && _ret[3] < 1234.6) 231*b1cdbd2cSJim Jagielski && (_ret[4] > 12344 && _ret[4] < 12346)) 232*b1cdbd2cSJim Jagielski bOk= true; 233*b1cdbd2cSJim JagielskiLog.print( bOk, "AttrFloat"); 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielskioletest.AttrDouble= arrDouble; 236*b1cdbd2cSJim Jagielskiret= oletest.AttrDouble; 237*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 238*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrDouble, _ret), "AttrDouble"); 239*b1cdbd2cSJim Jagielski 240*b1cdbd2cSJim Jagielskioletest.AttrBool= arrBool; 241*b1cdbd2cSJim Jagielskiret= oletest.AttrBool; 242*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 243*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrBool, _ret), "AttrBool"); 244*b1cdbd2cSJim Jagielski 245*b1cdbd2cSJim Jagielskioletest.AttrShort= arr; 246*b1cdbd2cSJim Jagielskiret= oletest.AttrShort; 247*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 248*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "AttrShort"); 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielskioletest.AttrUShort= arr; 251*b1cdbd2cSJim Jagielskiret= oletest.AttrUShort; 252*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 253*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "AttrUShort"); 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielskioletest.AttrLong= arr; 256*b1cdbd2cSJim Jagielskiret= oletest.AttrLong; 257*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 258*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "AttrLong"); 259*b1cdbd2cSJim Jagielski 260*b1cdbd2cSJim Jagielskioletest.AttrULong= arr; 261*b1cdbd2cSJim Jagielskiret= oletest.AttrULong; 262*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 263*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arr, _ret), "AttrULong"); 264*b1cdbd2cSJim Jagielski 265*b1cdbd2cSJim Jagielskioletest.AttrChar= arrChar; 266*b1cdbd2cSJim Jagielskiret= oletest.AttrChar; 267*b1cdbd2cSJim Jagielski_ret= new VBArray(ret).toArray(); 268*b1cdbd2cSJim JagielskibOk= false; 269*b1cdbd2cSJim Jagielskiif( _ret.length == arrChar.length && _ret[0] == 49 && _ret[1] == 65 && _ret[2] == 32 && _ret[3] == 55) 270*b1cdbd2cSJim Jagielski bOk= true; 271*b1cdbd2cSJim JagielskiLog.print( bOk, "AttrChar"); 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielskioletest.AttrString= arrString; 274*b1cdbd2cSJim Jagielskiret= oletest.AttrString; 275*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 276*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrString, _ret), "AttrString"); 277*b1cdbd2cSJim Jagielski 278*b1cdbd2cSJim Jagielskioletest.AttrAny= arrAny; 279*b1cdbd2cSJim Jagielskiret= oletest.AttrAny; 280*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 281*b1cdbd2cSJim JagielskiLog.print( isEqualAr( arrAny, _ret), "AttrAny"); 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim Jagielskioletest.AttrSequence= arrSeq; 284*b1cdbd2cSJim Jagielskiret= oletest.AttrSequence; 285*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 286*b1cdbd2cSJim Jagielskifor( i=0; i < _ret.length; i++) 287*b1cdbd2cSJim Jagielski{ 288*b1cdbd2cSJim Jagielski sfarray2= new VBArray( _ret[i]); 289*b1cdbd2cSJim Jagielski var arr2= sfarray2.toArray(); 290*b1cdbd2cSJim Jagielski if( ! isEqualAr(arrSeq[i], arr2)) 291*b1cdbd2cSJim Jagielski { 292*b1cdbd2cSJim Jagielski bOk= false; 293*b1cdbd2cSJim Jagielski break; 294*b1cdbd2cSJim Jagielski } 295*b1cdbd2cSJim Jagielski} 296*b1cdbd2cSJim JagielskiLog.print( bOk, "AttrSequence"); 297*b1cdbd2cSJim Jagielski 298*b1cdbd2cSJim Jagielskioletest.AttrSequence2= arrSeq2; 299*b1cdbd2cSJim Jagielskiret= oletest.AttrSequence2; 300*b1cdbd2cSJim Jagielskiarr1= new VBArray( ret).toArray(); 301*b1cdbd2cSJim Jagielskifor( i=0; i < arr1.length; i++) 302*b1cdbd2cSJim Jagielski{ 303*b1cdbd2cSJim Jagielski var ar2Dim= arrSeq2[i]; 304*b1cdbd2cSJim Jagielski sfarray2= new VBArray( arr1[i]); 305*b1cdbd2cSJim Jagielski arr2= sfarray2.toArray(); 306*b1cdbd2cSJim Jagielski for ( j=0; j < arr2.length; j++) 307*b1cdbd2cSJim Jagielski { 308*b1cdbd2cSJim Jagielski var ar1Dim= ar2Dim[j]; 309*b1cdbd2cSJim Jagielski sfarray3= new VBArray( arr2[j]); 310*b1cdbd2cSJim Jagielski arr3= sfarray3.toArray(); 311*b1cdbd2cSJim Jagielski if( ! isEqualAr( arrSeq2[i][j], arr3)) 312*b1cdbd2cSJim Jagielski { 313*b1cdbd2cSJim Jagielski bOk= false; 314*b1cdbd2cSJim Jagielski break; 315*b1cdbd2cSJim Jagielski } 316*b1cdbd2cSJim Jagielski } 317*b1cdbd2cSJim Jagielski} 318*b1cdbd2cSJim JagielskiLog.print( bOk, "AttrSequence2"); 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielskioletest.AttrXInterface= arObj; 321*b1cdbd2cSJim Jagielskiret= oletest.AttrXInterface; 322*b1cdbd2cSJim Jagielski_ret= new VBArray( ret).toArray(); 323*b1cdbd2cSJim JagielskibOk= true; 324*b1cdbd2cSJim Jagielskifor(i in _ret) 325*b1cdbd2cSJim Jagielski{ 326*b1cdbd2cSJim Jagielski if( _ret[i] !== arObj[i]) 327*b1cdbd2cSJim Jagielski { 328*b1cdbd2cSJim Jagielski bOk= false; 329*b1cdbd2cSJim Jagielski break; 330*b1cdbd2cSJim Jagielski } 331*b1cdbd2cSJim Jagielski} 332*b1cdbd2cSJim JagielskiLog.print( bOk, "AttrXInterface"); 333*b1cdbd2cSJim Jagielski 334*b1cdbd2cSJim Jagielskiret= oletest.methodXInterface( arObj); 335*b1cdbd2cSJim Jagielski_ret= new VBArray( ret); 336*b1cdbd2cSJim Jagielski_ret= _ret.toArray(); 337*b1cdbd2cSJim JagielskibOk= true; 338*b1cdbd2cSJim Jagielskifor(i in _ret) 339*b1cdbd2cSJim Jagielski{ 340*b1cdbd2cSJim Jagielski if( _ret[i] !== arObj[i]) 341*b1cdbd2cSJim Jagielski { 342*b1cdbd2cSJim Jagielski bOk= false; 343*b1cdbd2cSJim Jagielski break; 344*b1cdbd2cSJim Jagielski } 345*b1cdbd2cSJim Jagielski} 346*b1cdbd2cSJim JagielskiLog.print( bOk, "methodXInterface"); 347*b1cdbd2cSJim Jagielski//====================================================================================== 348*b1cdbd2cSJim Jagielskidocument.writeln("<br>"); 349*b1cdbd2cSJim Jagielskivar inVal, outVal, retVal; 350*b1cdbd2cSJim JagielskioutVal = new Array(); 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim JagielskiinVal = 77; 353*b1cdbd2cSJim JagielskiretVal = oletest.in_methodByte(inVal) 354*b1cdbd2cSJim Jagielskioletest.testout_methodByte( outVal ); 355*b1cdbd2cSJim JagielskiLog.print( retVal == inVal, "in_methodByte"); 356*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodByte"); 357*b1cdbd2cSJim Jagielski 358*b1cdbd2cSJim JagielskiinVal = 3.14 359*b1cdbd2cSJim JagielskiretVal = oletest.in_methodFloat(inVal); 360*b1cdbd2cSJim Jagielskioletest.testout_methodFloat( outVal ); 361*b1cdbd2cSJim JagielskiLog.print( retVal > 3.14 && retVal < 3.15, "in_methodFloat"); 362*b1cdbd2cSJim JagielskiLog.print( outVal[0] > 3.13 && outVal[0] < 3.15, "testout_methodFloat"); 363*b1cdbd2cSJim Jagielski//Log.print( outVal[0] == inVal, "testout_methodFloat"); 364*b1cdbd2cSJim Jagielski 365*b1cdbd2cSJim JagielskiretVal = oletest.in_methodDouble(inVal) 366*b1cdbd2cSJim Jagielskioletest.testout_methodDouble( outVal ); 367*b1cdbd2cSJim JagielskiLog.print( retVal == inVal, "in_methodDouble"); 368*b1cdbd2cSJim JagielskiLog.print( outVal[0] == 3.14, "testout_methodDouble" ); 369*b1cdbd2cSJim Jagielski 370*b1cdbd2cSJim JagielskiinVal = true; 371*b1cdbd2cSJim JagielskiretVal = oletest.in_methodBool(inVal); 372*b1cdbd2cSJim Jagielskioletest.testout_methodBool( outVal ); 373*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodBool"); 374*b1cdbd2cSJim JagielskiLog.print( outVal[0] == true, "testout_methodBool"); 375*b1cdbd2cSJim Jagielski 376*b1cdbd2cSJim JagielskiinVal = 111 377*b1cdbd2cSJim JagielskiretVal = oletest.in_methodShort(inVal); 378*b1cdbd2cSJim Jagielskioletest.testout_methodShort( outVal ); 379*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodShort"); 380*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodShort"); 381*b1cdbd2cSJim Jagielski 382*b1cdbd2cSJim JagielskiretVal = oletest.in_methodUShort(inVal); 383*b1cdbd2cSJim Jagielskioletest.testout_methodUShort( outVal ); 384*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodUShort"); 385*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodUShort"); 386*b1cdbd2cSJim Jagielski 387*b1cdbd2cSJim JagielskiretVal = oletest.in_methodLong(inVal); 388*b1cdbd2cSJim Jagielskioletest.testout_methodLong( outVal ); 389*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodLong"); 390*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodLong"); 391*b1cdbd2cSJim Jagielski 392*b1cdbd2cSJim JagielskiretVal = oletest.in_methodULong(inVal); 393*b1cdbd2cSJim Jagielskioletest.testout_methodULong( outVal ); 394*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodULong"); 395*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodULong"); 396*b1cdbd2cSJim Jagielski 397*b1cdbd2cSJim JagielskiretVal = oletest.in_methodChar(inVal); 398*b1cdbd2cSJim Jagielskioletest.testout_methodChar( outVal ); 399*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodChar"); 400*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodChar"); 401*b1cdbd2cSJim Jagielski 402*b1cdbd2cSJim JagielskiinVal = "Hello World"; 403*b1cdbd2cSJim JagielskiretVal = oletest.in_methodString(inVal); 404*b1cdbd2cSJim Jagielskioletest.testout_methodString( outVal ); 405*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodString"); 406*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodString"); 407*b1cdbd2cSJim Jagielski 408*b1cdbd2cSJim JagielskiretVal = oletest.in_methodAny(inVal); 409*b1cdbd2cSJim Jagielskioletest.testout_methodAny( outVal ); 410*b1cdbd2cSJim JagielskiLog.print(retVal == inVal, "in_methodAny"); 411*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testout_methodAny"); 412*b1cdbd2cSJim Jagielski 413*b1cdbd2cSJim JagielskiinVal = new Object(); 414*b1cdbd2cSJim JagielskiretVal = oletest.in_methodXInterface(inVal); 415*b1cdbd2cSJim Jagielskioletest.testout_methodXInterface(outVal); 416*b1cdbd2cSJim JagielskiLog.print(retVal === inVal, "in_methodXInterface"); 417*b1cdbd2cSJim JagielskiLog.print(outVal[0] === inVal, "testout_methodXInterface"); 418*b1cdbd2cSJim Jagielski 419*b1cdbd2cSJim JagielskiinVal = oletest; 420*b1cdbd2cSJim JagielskiretVal = oletest.in_methodXInterface(inVal); 421*b1cdbd2cSJim Jagielskioletest.testout_methodXInterface(outVal); 422*b1cdbd2cSJim JagielskiLog.print(retVal === inVal, "in_methodXInterface"); 423*b1cdbd2cSJim JagielskiLog.print(outVal[0] === inVal, "testout_methodXInterface"); 424*b1cdbd2cSJim Jagielski 425*b1cdbd2cSJim Jagielski 426*b1cdbd2cSJim Jagielskioletest.testout_methodSequence( outVal ); 427*b1cdbd2cSJim Jagielskivar arr= new VBArray( outVal[0]).toArray(); 428*b1cdbd2cSJim JagielskiLog.print( isEqualAr(arr, new Array( 0,1,2,3,4,5,6,7,8,9)), "testout_methodSequence"); 429*b1cdbd2cSJim Jagielski 430*b1cdbd2cSJim Jagielskioletest.testout_methodSequence2( outVal ); 431*b1cdbd2cSJim Jagielskivar arr= new VBArray( outVal[0]).toArray(); 432*b1cdbd2cSJim JagielskibOk= true; 433*b1cdbd2cSJim Jagielskiif( arr.length= 10) 434*b1cdbd2cSJim Jagielski{ 435*b1cdbd2cSJim Jagielski for( i=0; i < arr.length; i++) 436*b1cdbd2cSJim Jagielski { 437*b1cdbd2cSJim Jagielski var arr2= new VBArray( arr[i]).toArray(); 438*b1cdbd2cSJim Jagielski if( ! isEqualAr( arr2, new Array( 0,1,2,3,4,5,6,7,8,9))) 439*b1cdbd2cSJim Jagielski { 440*b1cdbd2cSJim Jagielski bOk= false; 441*b1cdbd2cSJim Jagielski break; 442*b1cdbd2cSJim Jagielski } 443*b1cdbd2cSJim Jagielski } 444*b1cdbd2cSJim Jagielski} 445*b1cdbd2cSJim JagielskiLog.print( bOk, "testout_methodSequence2"); 446*b1cdbd2cSJim Jagielski 447*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams1( outVal, outVal2 ); 448*b1cdbd2cSJim JagielskiLog.print( outVal[0] == 999 && outVal2[0] == 1111, "testout_methodMulParams1"); 449*b1cdbd2cSJim Jagielski 450*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams2( outVal, outVal2, outVal3 ); 451*b1cdbd2cSJim JagielskiLog.print( outVal[0] == 1111 && outVal2[0] == 1222 && outVal3[0] == " another string", 452*b1cdbd2cSJim Jagielski "testout_methodMulParams2"); 453*b1cdbd2cSJim Jagielski 454*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams3( "hallo", outVal ); 455*b1cdbd2cSJim JagielskiLog.print( outVal[0] == "Out Hallo!", "testout_methodMulParams3"); 456*b1cdbd2cSJim Jagielski 457*b1cdbd2cSJim Jagielskivar in1= 3.14; 458*b1cdbd2cSJim Jagielskivar in2= 1111; 459*b1cdbd2cSJim Jagielskivar in3= -2222; 460*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams4( in1, outVal, in2, outVal2, in3 ); 461*b1cdbd2cSJim JagielskiLog.print( (outVal[0] > 4.13 && outVal[0] < 4.15) && (outVal2[0] == 1112), "testout_methodMulParams4"); 462*b1cdbd2cSJim Jagielski 463*b1cdbd2cSJim Jagielskidocument.writeln("<p>"); 464*b1cdbd2cSJim Jagielski 465*b1cdbd2cSJim JagielskiinVal = 100; 466*b1cdbd2cSJim JagielskioutVal[0]= inVal; 467*b1cdbd2cSJim Jagielskioletest.testinout_methodByte( outVal ); 468*b1cdbd2cSJim Jagielskioletest.testinout_methodByte( outVal ); 469*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodByte"); 470*b1cdbd2cSJim Jagielski 471*b1cdbd2cSJim JagielskiinVal = 3.14; 472*b1cdbd2cSJim JagielskioutVal[0]= inVal; 473*b1cdbd2cSJim Jagielskioletest.testinout_methodFloat( outVal ); 474*b1cdbd2cSJim Jagielskioletest.testinout_methodFloat( outVal ); 475*b1cdbd2cSJim JagielskiLog.print( outVal[0] > 3.13 && outVal[0] < 3.15, "testinout_methodFloat"); 476*b1cdbd2cSJim Jagielski 477*b1cdbd2cSJim JagielskiinVal = 3.14 478*b1cdbd2cSJim JagielskioutVal[0]= inVal; 479*b1cdbd2cSJim Jagielskioletest.testinout_methodDouble( outVal ); 480*b1cdbd2cSJim Jagielskioletest.testinout_methodDouble( outVal ); 481*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodDouble"); 482*b1cdbd2cSJim Jagielski 483*b1cdbd2cSJim JagielskiinVal = true; 484*b1cdbd2cSJim JagielskioutVal[0]= inVal; 485*b1cdbd2cSJim Jagielskioletest.testinout_methodBool( outVal ); 486*b1cdbd2cSJim Jagielskioletest.testinout_methodBool( outVal ); 487*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodBool"); 488*b1cdbd2cSJim Jagielski 489*b1cdbd2cSJim JagielskiinVal = 200; 490*b1cdbd2cSJim JagielskioutVal[0]= inVal; 491*b1cdbd2cSJim Jagielskioletest.testinout_methodShort( outVal ); 492*b1cdbd2cSJim Jagielskioletest.testinout_methodShort( outVal ); 493*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodShort"); 494*b1cdbd2cSJim Jagielski 495*b1cdbd2cSJim JagielskiinVal = 300; 496*b1cdbd2cSJim JagielskioutVal[0]= inVal; 497*b1cdbd2cSJim Jagielskioletest.testinout_methodUShort( outVal ); 498*b1cdbd2cSJim Jagielskioletest.testinout_methodUShort( outVal ); 499*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodUShort"); 500*b1cdbd2cSJim Jagielski 501*b1cdbd2cSJim JagielskiinVal = 400 502*b1cdbd2cSJim JagielskioutVal[0]= inVal; 503*b1cdbd2cSJim Jagielskioletest.testinout_methodLong( outVal ); 504*b1cdbd2cSJim Jagielskioletest.testinout_methodLong( outVal ); 505*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodLong"); 506*b1cdbd2cSJim Jagielski 507*b1cdbd2cSJim JagielskiinVal = 500; 508*b1cdbd2cSJim JagielskioutVal[0]= inVal; 509*b1cdbd2cSJim Jagielskioletest.testinout_methodULong( outVal ); 510*b1cdbd2cSJim Jagielskioletest.testinout_methodULong( outVal ); 511*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodULong"); 512*b1cdbd2cSJim Jagielski 513*b1cdbd2cSJim JagielskiinVal = "B"; 514*b1cdbd2cSJim JagielskioutVal[0]= inVal; 515*b1cdbd2cSJim Jagielskioletest.testinout_methodChar( outVal ); 516*b1cdbd2cSJim Jagielskioletest.testinout_methodChar( outVal ); 517*b1cdbd2cSJim Jagielski 518*b1cdbd2cSJim JagielskiLog.print( outVal[0] == 66, "testinout_methodChar"); 519*b1cdbd2cSJim Jagielski 520*b1cdbd2cSJim JagielskiinVal = "Hello World 2!"; 521*b1cdbd2cSJim JagielskioutVal[0]= inVal; 522*b1cdbd2cSJim Jagielskioletest.testinout_methodString( outVal ); 523*b1cdbd2cSJim Jagielskioletest.testinout_methodString( outVal ); 524*b1cdbd2cSJim JagielskiLog.print( outVal[0] == inVal, "testinout_methodString"); 525*b1cdbd2cSJim Jagielski 526*b1cdbd2cSJim JagielskiinVal = new Object(); 527*b1cdbd2cSJim JagielskioutVal[0]= inVal; 528*b1cdbd2cSJim Jagielskioletest.testinout_methodAny( outVal ); 529*b1cdbd2cSJim Jagielskioletest.testinout_methodAny( outVal ); 530*b1cdbd2cSJim JagielskiLog.print( outVal[0] === inVal, "testinout_methodAny"); 531*b1cdbd2cSJim Jagielski 532*b1cdbd2cSJim JagielskiinVal = arrInt; 533*b1cdbd2cSJim JagielskioutVal[0] = inVal; 534*b1cdbd2cSJim Jagielskioletest.testinout_methodSequence( outVal ); 535*b1cdbd2cSJim Jagielskioletest.testinout_methodSequence( outVal ); 536*b1cdbd2cSJim JagielskiretVal = new VBArray(outVal[0]).toArray(); 537*b1cdbd2cSJim Jagielski 538*b1cdbd2cSJim JagielskiLog.print( isEqualAr(retVal, new Array(3,4,5,6,7)), "testinout_methodSequence"); 539*b1cdbd2cSJim Jagielski 540*b1cdbd2cSJim Jagielski 541*b1cdbd2cSJim JagielskioutVal[0]= arrSeq; 542*b1cdbd2cSJim Jagielskioletest.testinout_methodSequence2( outVal ); 543*b1cdbd2cSJim Jagielskivar arr= new VBArray( outVal[0]).toArray(); 544*b1cdbd2cSJim Jagielskivar i; 545*b1cdbd2cSJim JagielskibOk= true; 546*b1cdbd2cSJim Jagielskiif( arr.length == 3) 547*b1cdbd2cSJim Jagielski{ 548*b1cdbd2cSJim Jagielski var tmpArr= new Array(2,4,6,8,0); 549*b1cdbd2cSJim Jagielski for( i=0; i < arr.length; i++) 550*b1cdbd2cSJim Jagielski { 551*b1cdbd2cSJim Jagielski var arr2= new VBArray( arr[i]).toArray(); 552*b1cdbd2cSJim Jagielski if( ! isEqualAr( arr2, tmpArr)) 553*b1cdbd2cSJim Jagielski { 554*b1cdbd2cSJim Jagielski bOk= false; 555*b1cdbd2cSJim Jagielski break; 556*b1cdbd2cSJim Jagielski } 557*b1cdbd2cSJim Jagielski } 558*b1cdbd2cSJim Jagielski} 559*b1cdbd2cSJim JagielskiLog.print( bOk, "testinout_methodSequence2"); 560*b1cdbd2cSJim Jagielski 561*b1cdbd2cSJim Jagielski 562*b1cdbd2cSJim Jagielskivar ob= new Object(); 563*b1cdbd2cSJim Jagielskivar sInVal= "this is a string" 564*b1cdbd2cSJim Jagielskiob.value= sInVal; 565*b1cdbd2cSJim JagielskioutVal[0]= ob; 566*b1cdbd2cSJim Jagielskioletest.testinout_methodXInterface( outVal); 567*b1cdbd2cSJim JagielskiLog.print( outVal[0].value == "out", "testinout_methodXInterface"); 568*b1cdbd2cSJim Jagielskidocument.writeln("<p>"); 569*b1cdbd2cSJim Jagielski 570*b1cdbd2cSJim Jagielskii= 100; 571*b1cdbd2cSJim Jagielskiret= oletest.methodAnyTest1( i); 572*b1cdbd2cSJim JagielskiLog.print( i == ret, "methodAnyTest1"); 573*b1cdbd2cSJim Jagielski 574*b1cdbd2cSJim Jagielskii= 3.14; 575*b1cdbd2cSJim Jagielskiret= oletest.methodAnyTest1( i); 576*b1cdbd2cSJim JagielskiLog.print( i == ret, "methodAnyTest1"); 577*b1cdbd2cSJim Jagielski 578*b1cdbd2cSJim Jagielskii= "Hallo" 579*b1cdbd2cSJim Jagielskiret= oletest.methodAnyTest1( i); 580*b1cdbd2cSJim JagielskiLog.print( i == ret, "methodAnyTest1"); 581*b1cdbd2cSJim Jagielski 582*b1cdbd2cSJim Jagielskii= arrInt; 583*b1cdbd2cSJim Jagielskiret= oletest.methodAnyTest1( i); 584*b1cdbd2cSJim Jagielskivar arr= new VBArray( ret).toArray(); 585*b1cdbd2cSJim JagielskiLog.print( isEqualAr(arr, arrInt), "methodAnyTest1"); 586*b1cdbd2cSJim Jagielski 587*b1cdbd2cSJim Jagielskivar obj= new Object(); 588*b1cdbd2cSJim Jagielskiret= oletest.methodAnyTest1( obj); 589*b1cdbd2cSJim JagielskiLog.print( obj == ret, "methodAnyTest1"); 590*b1cdbd2cSJim Jagielski 591*b1cdbd2cSJim Jagielski 592*b1cdbd2cSJim Jagielskidocument.writeln("<p>"); 593*b1cdbd2cSJim Jagielski 594*b1cdbd2cSJim Jagielskii= 100; 595*b1cdbd2cSJim Jagielskioletest.AttrAny2= i; 596*b1cdbd2cSJim Jagielskiret= oletest.AttrAny2; 597*b1cdbd2cSJim JagielskiLog.print( i == ret, "AttrAny2"); 598*b1cdbd2cSJim Jagielski 599*b1cdbd2cSJim Jagielskii= 3.14; 600*b1cdbd2cSJim Jagielskioletest.AttrAny2= i; 601*b1cdbd2cSJim Jagielskiret= oletest.AttrAny2; 602*b1cdbd2cSJim JagielskiLog.print( i == ret, "AttrAny2"); 603*b1cdbd2cSJim Jagielski 604*b1cdbd2cSJim Jagielskii= "Hallo" 605*b1cdbd2cSJim Jagielskioletest.AttrAny2= i; 606*b1cdbd2cSJim Jagielskiret= oletest.AttrAny2; 607*b1cdbd2cSJim JagielskiLog.print( i == ret, "AttrAny2"); 608*b1cdbd2cSJim Jagielski 609*b1cdbd2cSJim Jagielskii= arrInt; 610*b1cdbd2cSJim Jagielskioletest.AttrAny2= i; 611*b1cdbd2cSJim Jagielskiret= oletest.AttrAny2; 612*b1cdbd2cSJim Jagielskivar arr= new VBArray( ret).toArray(); 613*b1cdbd2cSJim JagielskiLog.print( isEqualAr(arr, arrInt), "AttrAny2"); 614*b1cdbd2cSJim Jagielski 615*b1cdbd2cSJim Jagielskivar obj= new Object(); 616*b1cdbd2cSJim Jagielskioletest.AttrAny2= obj; 617*b1cdbd2cSJim Jagielskiret= oletest.AttrAny2; 618*b1cdbd2cSJim JagielskiLog.print( obj == ret, "AttrAny2"); 619*b1cdbd2cSJim Jagielski 620*b1cdbd2cSJim Jagielski 621*b1cdbd2cSJim Jagielskidocument.writeln("<p>"); 622*b1cdbd2cSJim Jagielski// Structs ---------------------------------------------- 623*b1cdbd2cSJim Jagielski 624*b1cdbd2cSJim Jagielski/* var struct= oletest._GetStruct("com.sun.star.beans.Property"); */ 625*b1cdbd2cSJim Jagielski/* struct.Attributes= 1; */ 626*b1cdbd2cSJim Jagielski/* struct.Handle= 2; */ 627*b1cdbd2cSJim Jagielski/* struct.Name= "some Property" */ 628*b1cdbd2cSJim Jagielski/* oletest.methodStruct( struct); */ 629*b1cdbd2cSJim Jagielski 630*b1cdbd2cSJim Jagielskivar ret= oletest.retMethodStruct(); 631*b1cdbd2cSJim JagielskiLog.print( ret.Attributes == 127 && ret.Handle == 255 && ret.Name == "OleTest_Property", "retMethodStruct"); 632*b1cdbd2cSJim Jagielski 633*b1cdbd2cSJim Jagielskivar astruct= oletest._GetStruct("com.sun.star.beans.Property"); 634*b1cdbd2cSJim Jagielskiastruct.Attributes= 1; 635*b1cdbd2cSJim Jagielskiastruct.Handle= 2; 636*b1cdbd2cSJim Jagielskiastruct.Name= "some Property" 637*b1cdbd2cSJim Jagielskioletest.AttrStruct= astruct; 638*b1cdbd2cSJim Jagielski 639*b1cdbd2cSJim Jagielskivar ret= oletest.AttrStruct; 640*b1cdbd2cSJim JagielskiLog.print( ret.Attributes == 127 && ret.Handle == 255 && ret.Name == "OleTest_Property", "AttrStruct"); 641*b1cdbd2cSJim Jagielski 642*b1cdbd2cSJim Jagielski// The function returns the struct. Since structs are passed by value the returned struct 643*b1cdbd2cSJim Jagielski// will be wrapped in another IDispatch object 644*b1cdbd2cSJim Jagielskiastruct.Attributes= 1; 645*b1cdbd2cSJim Jagielskiastruct.Handle= 2; 646*b1cdbd2cSJim Jagielskiastruct.Name= "Property"; 647*b1cdbd2cSJim Jagielskiret= oletest.methodStruct2( astruct); 648*b1cdbd2cSJim JagielskiLog.print( ret.Attributes == 1 && ret.Handle == 2 && ret.Name == "Property", "methodStruct2"); 649*b1cdbd2cSJim Jagielski 650*b1cdbd2cSJim Jagielski 651*b1cdbd2cSJim Jagielskidocument.writeln("<p>"); 652*b1cdbd2cSJim Jagielski// Test Identity from COM objects in UNO 653*b1cdbd2cSJim Jagielskivar listener1= new XEventListener_Impl(); 654*b1cdbd2cSJim Jagielskioletest.setObject(listener1); 655*b1cdbd2cSJim Jagielskiret= oletest.isSame(listener1); 656*b1cdbd2cSJim JagielskiLog.print2( ret, "Ok Testing identity of COM objects<br>","Failed Testing identity of COM objects<br>"); 657*b1cdbd2cSJim Jagielski 658*b1cdbd2cSJim Jagielskivar oletest2= oletest.getThis(); 659*b1cdbd2cSJim Jagielskiret= oletest === oletest2; 660*b1cdbd2cSJim JagielskiLog.print2(ret, "Ok Testing identity of UNO objects<br>","Failed Testing identity of UNO objects<br>"); 661*b1cdbd2cSJim Jagielski} 662*b1cdbd2cSJim Jagielski 663*b1cdbd2cSJim Jagielski 664*b1cdbd2cSJim Jagielski 665*b1cdbd2cSJim Jagielski 666*b1cdbd2cSJim Jagielskifunction isEqualAr( ar1, ar2) 667*b1cdbd2cSJim Jagielski{ 668*b1cdbd2cSJim Jagielski var bOk= false; 669*b1cdbd2cSJim Jagielski if( ar1.length == ar2.length) 670*b1cdbd2cSJim Jagielski { 671*b1cdbd2cSJim Jagielski bOk= true; 672*b1cdbd2cSJim Jagielski for( x in ar1) 673*b1cdbd2cSJim Jagielski { 674*b1cdbd2cSJim Jagielski// document.writeln( ar1[x] + " "); 675*b1cdbd2cSJim Jagielski// document.writeln( ar2[x] + " "); 676*b1cdbd2cSJim Jagielski if( ar1[x] != ar2[x]) 677*b1cdbd2cSJim Jagielski { 678*b1cdbd2cSJim Jagielski bOk= false; 679*b1cdbd2cSJim Jagielski break; 680*b1cdbd2cSJim Jagielski } 681*b1cdbd2cSJim Jagielski } 682*b1cdbd2cSJim Jagielski } 683*b1cdbd2cSJim Jagielski return bOk; 684*b1cdbd2cSJim Jagielski} 685*b1cdbd2cSJim Jagielski 686*b1cdbd2cSJim Jagielski/* function isEqualAr2( ar1, ar2) */ 687*b1cdbd2cSJim Jagielski/* { */ 688*b1cdbd2cSJim Jagielski 689*b1cdbd2cSJim Jagielski/* var bOk= false; */ 690*b1cdbd2cSJim Jagielski/* if( ar1.length == ar2.length) */ 691*b1cdbd2cSJim Jagielski/* { */ 692*b1cdbd2cSJim Jagielski/* bOk= true; */ 693*b1cdbd2cSJim Jagielski/* for( x in ar1) */ 694*b1cdbd2cSJim Jagielski/* { */ 695*b1cdbd2cSJim Jagielski/* document.write( ar1[x]); */ 696*b1cdbd2cSJim Jagielski/* document.write( ar2[x]); */ 697*b1cdbd2cSJim Jagielski/* if( ! isEqualAr( ar1[x], ar2[x])) */ 698*b1cdbd2cSJim Jagielski/* { */ 699*b1cdbd2cSJim Jagielski/* bOk= false; */ 700*b1cdbd2cSJim Jagielski/* break; */ 701*b1cdbd2cSJim Jagielski/* } */ 702*b1cdbd2cSJim Jagielski/* } */ 703*b1cdbd2cSJim Jagielski/* } */ 704*b1cdbd2cSJim Jagielski/* return bOk; */ 705*b1cdbd2cSJim Jagielski 706*b1cdbd2cSJim Jagielski/* } */ 707*b1cdbd2cSJim Jagielski 708*b1cdbd2cSJim Jagielskifunction XEventListener_Impl() 709*b1cdbd2cSJim Jagielski{ 710*b1cdbd2cSJim Jagielski this._environment= "JScript"; 711*b1cdbd2cSJim Jagielski this._implementedInterfaces= new Array( "com.sun.star.lang.XEventListener"); 712*b1cdbd2cSJim Jagielski 713*b1cdbd2cSJim Jagielski //XEventListener 714*b1cdbd2cSJim Jagielski this.disposing= XEventListener_disposing; 715*b1cdbd2cSJim Jagielski 716*b1cdbd2cSJim Jagielski this.bdisposingCalled= false; 717*b1cdbd2cSJim Jagielski this.bQuiet= true; 718*b1cdbd2cSJim Jagielski this.resetDisposing= XEventListener_resetDisposing; 719*b1cdbd2cSJim Jagielski this.disposingCalled= XEventListener_disposingCalled; 720*b1cdbd2cSJim Jagielski} 721*b1cdbd2cSJim Jagielski 722*b1cdbd2cSJim Jagielskifunction XEventListener_disposing( source) 723*b1cdbd2cSJim Jagielski{ 724*b1cdbd2cSJim Jagielski if( !this.bQuiet) 725*b1cdbd2cSJim Jagielski alert("JScript Event Listener \n disposing is being called"); 726*b1cdbd2cSJim Jagielski this.bdisposingCalled= true; 727*b1cdbd2cSJim Jagielski} 728*b1cdbd2cSJim Jagielski 729*b1cdbd2cSJim Jagielskifunction XEventListener_resetDisposing() 730*b1cdbd2cSJim Jagielski{ 731*b1cdbd2cSJim Jagielski this.bdisposingCalled= false; 732*b1cdbd2cSJim Jagielski} 733*b1cdbd2cSJim Jagielski 734*b1cdbd2cSJim Jagielskifunction XEventListener_disposingCalled() 735*b1cdbd2cSJim Jagielski{ 736*b1cdbd2cSJim Jagielski return this.bdisposingCalled; 737*b1cdbd2cSJim Jagielski} 738*b1cdbd2cSJim Jagielski</script> 739*b1cdbd2cSJim Jagielski 740*b1cdbd2cSJim Jagielski<script language="VBScript"> 741*b1cdbd2cSJim JagielskiFunction runVBTest( Log) 742*b1cdbd2cSJim Jagielskidocument.writeln("================================================================================<br>") 743*b1cdbd2cSJim Jagielskidocument.writeln("VB Script<br>") 744*b1cdbd2cSJim Jagielskidocument.writeln("================================================================================<p>") 745*b1cdbd2cSJim Jagielski 746*b1cdbd2cSJim JagielskiDim arrInt 747*b1cdbd2cSJim JagielskiarrInt= Array(1,2,3,-4,-5, 0) 748*b1cdbd2cSJim JagielskiarrUInt= Array(1,2,3,4,5) 749*b1cdbd2cSJim JagielskiarrDouble= Array( 1.2345, 12.345, 123.45, 1234.5, 12345) 750*b1cdbd2cSJim JagielskiarrBool= Array( true, false, true, false, true) 751*b1cdbd2cSJim JagielskiarrChar= Array("A","B",67) 752*b1cdbd2cSJim JagielskiarrString= Array("hamburger","cheeseburger", "chicken nuggets", "chicken wings" , "pizza") 753*b1cdbd2cSJim JagielskiarrAny= Array( 100, 100.1235,"hallo") 754*b1cdbd2cSJim Jagielski 755*b1cdbd2cSJim Jagielski 756*b1cdbd2cSJim JagielskiDim arrDim2Int(2,1) 757*b1cdbd2cSJim JagielskiDim i,j,k 758*b1cdbd2cSJim JagielskiFor i= 0 To 1 759*b1cdbd2cSJim Jagielski For j= 0 To 2 760*b1cdbd2cSJim Jagielski arrDim2Int(j,i) = i*3 + j 761*b1cdbd2cSJim Jagielski Next 762*b1cdbd2cSJim JagielskiNext 763*b1cdbd2cSJim Jagielski 764*b1cdbd2cSJim Jagielski 765*b1cdbd2cSJim JagielskiDim arrDim3Int(3,2,1) 766*b1cdbd2cSJim JagielskiFor i= 0 To 1 767*b1cdbd2cSJim Jagielski For j= 0 To 2 768*b1cdbd2cSJim Jagielski For k= 0 To 3 769*b1cdbd2cSJim Jagielski arrDim3Int(k,j,i)= i* 3 + j* 4 + k 770*b1cdbd2cSJim Jagielski Next 771*b1cdbd2cSJim Jagielski Next 772*b1cdbd2cSJim JagielskiNext 773*b1cdbd2cSJim Jagielski 774*b1cdbd2cSJim JagielskiDim arrXEvent(2) 775*b1cdbd2cSJim JagielskiFor i= 0 To 2 776*b1cdbd2cSJim Jagielski Set arrXEvent(i)= new VBEventListener 777*b1cdbd2cSJim JagielskiNext 778*b1cdbd2cSJim Jagielski 779*b1cdbd2cSJim JagielskiDim arrXEvent2(2,1) 780*b1cdbd2cSJim JagielskiFor i= 0 To 1 781*b1cdbd2cSJim Jagielski For j= 0 To 2 782*b1cdbd2cSJim Jagielski Set arrXEvent2(j,i)= new VBEventListener 783*b1cdbd2cSJim Jagielski Next 784*b1cdbd2cSJim JagielskiNext 785*b1cdbd2cSJim Jagielski 786*b1cdbd2cSJim Jagielski 787*b1cdbd2cSJim Jagielski 788*b1cdbd2cSJim Jagielskiret= oletest.methodByte( arrUInt) 789*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrUInt), "methodByte" 790*b1cdbd2cSJim Jagielski 791*b1cdbd2cSJim Jagielskiret= oletest.methodFloat( arrDouble) 792*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrDouble), "methodFloat" 793*b1cdbd2cSJim Jagielski 794*b1cdbd2cSJim Jagielskiret= oletest.methodDouble( arrDouble) 795*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrDouble), "methodDouble" 796*b1cdbd2cSJim Jagielski 797*b1cdbd2cSJim Jagielskiret= oletest.methodBool( arrBool) 798*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrBool), "methodBool" 799*b1cdbd2cSJim Jagielski 800*b1cdbd2cSJim Jagielskiret= oletest.methodShort( arrInt) 801*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrInt), "methodShort" 802*b1cdbd2cSJim Jagielski 803*b1cdbd2cSJim Jagielskiret= oletest.methodUShort( arrUInt) 804*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrUInt), "methodUShort" 805*b1cdbd2cSJim Jagielski 806*b1cdbd2cSJim Jagielskiret= oletest.methodLong( arrInt) 807*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrInt), "methodLong" 808*b1cdbd2cSJim Jagielski 809*b1cdbd2cSJim Jagielskiret= oletest.methodULong( arrUInt) 810*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrUInt), "methodULong" 811*b1cdbd2cSJim Jagielski 812*b1cdbd2cSJim Jagielskiret= oletest.methodChar( arrChar) 813*b1cdbd2cSJim JagielskibOk= false 814*b1cdbd2cSJim Jagielskiif ret(0) = 65 AND ret(1) = 66 AND ret(2) = 67 then 815*b1cdbd2cSJim Jagielski bOk= true 816*b1cdbd2cSJim Jagielskiend if 817*b1cdbd2cSJim JagielskiLog.print bOk, "methodChar" 818*b1cdbd2cSJim Jagielski 819*b1cdbd2cSJim Jagielskiret= oletest.methodString( arrString) 820*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrString), "methodString" 821*b1cdbd2cSJim Jagielski 822*b1cdbd2cSJim Jagielskiret= oletest.methodAny( arrAny) 823*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( ret, arrAny), "methodAny" 824*b1cdbd2cSJim Jagielski 825*b1cdbd2cSJim Jagielski 826*b1cdbd2cSJim Jagielskiret= oletest.methodSequence( arrDim2Int) 827*b1cdbd2cSJim JagielskibOk= true 828*b1cdbd2cSJim Jagielski 829*b1cdbd2cSJim JagielskiFor i= 0 To 1 830*b1cdbd2cSJim Jagielski Dim arr1 831*b1cdbd2cSJim Jagielski arr1= ret(i) 832*b1cdbd2cSJim Jagielski For j= 0 To 2 833*b1cdbd2cSJim Jagielski if arr1(j) <> arrDim2Int(j,i) then 834*b1cdbd2cSJim Jagielski bOk= false 835*b1cdbd2cSJim Jagielski exit for 836*b1cdbd2cSJim Jagielski end if 837*b1cdbd2cSJim Jagielski Next 838*b1cdbd2cSJim JagielskiNext 839*b1cdbd2cSJim JagielskiLog.print bOk, "methodSequence" 840*b1cdbd2cSJim Jagielski 841*b1cdbd2cSJim Jagielskiret= oletest.methodSequence2( arrDim3Int) 842*b1cdbd2cSJim Jagielski'arrDim3Int(3,2,1) 843*b1cdbd2cSJim JagielskibOk= true 844*b1cdbd2cSJim JagielskiFor i= 0 To 1 845*b1cdbd2cSJim Jagielski arr1= ret(i) 846*b1cdbd2cSJim Jagielski For j= 0 To 2 847*b1cdbd2cSJim Jagielski arr2= arr1(j) 848*b1cdbd2cSJim Jagielski For k= 0 To 3 849*b1cdbd2cSJim Jagielski If arr2(k) <> arrDim3Int(k,j,i) then 850*b1cdbd2cSJim Jagielski bOk= false 851*b1cdbd2cSJim Jagielski exit for 852*b1cdbd2cSJim Jagielski End If 853*b1cdbd2cSJim Jagielski Next 854*b1cdbd2cSJim Jagielski Next 855*b1cdbd2cSJim JagielskiNext 856*b1cdbd2cSJim JagielskiLog.print bOk, "methodSequence2" 857*b1cdbd2cSJim Jagielski 858*b1cdbd2cSJim Jagielskiret= oletest.methodXInterface(arrXEvent) 859*b1cdbd2cSJim JagielskibOk= true 860*b1cdbd2cSJim JagielskinumArg= UBound( arrXEvent) - LBound( arrXEvent) + 1 861*b1cdbd2cSJim JagielskinumRet= UBound( ret) - LBound( ret) + 1 862*b1cdbd2cSJim JagielskiIf numArg = numRet then 863*b1cdbd2cSJim Jagielski For i= 0 To numArg - 1 864*b1cdbd2cSJim Jagielski If NOT (arrXEvent(i) Is ret(i)) then 865*b1cdbd2cSJim Jagielski bOk= false 866*b1cdbd2cSJim Jagielski Exit For 867*b1cdbd2cSJim Jagielski End if 868*b1cdbd2cSJim Jagielski Next 869*b1cdbd2cSJim JagielskiEnd If 870*b1cdbd2cSJim JagielskiLog.print bOk, "methodXInterface" 871*b1cdbd2cSJim Jagielski 872*b1cdbd2cSJim Jagielskiret= oletest.methodXEventListeners( arrXEvent) 873*b1cdbd2cSJim JagielskibOk= true 874*b1cdbd2cSJim JagielskiFor i= 0 To 2 875*b1cdbd2cSJim Jagielski If arrXEvent(i).disposingCalled = false then 876*b1cdbd2cSJim Jagielski bOk= false 877*b1cdbd2cSJim Jagielski Exit For 878*b1cdbd2cSJim Jagielski End If 879*b1cdbd2cSJim JagielskiNext 880*b1cdbd2cSJim JagielskiLog.print bOk, "methodXEventListeners" 881*b1cdbd2cSJim Jagielski 882*b1cdbd2cSJim Jagielskiret= oletest.methodXEventListenersMul(arrXEvent2) 883*b1cdbd2cSJim JagielskibOk= true 884*b1cdbd2cSJim JagielskiFor i= 0 To 1 885*b1cdbd2cSJim Jagielski For j= 0 To 2 886*b1cdbd2cSJim Jagielski If arrXEvent2(j,i).disposingCalled = false then 887*b1cdbd2cSJim Jagielski bOk= false 888*b1cdbd2cSJim Jagielski Exit For 889*b1cdbd2cSJim Jagielski End If 890*b1cdbd2cSJim Jagielski Next 891*b1cdbd2cSJim JagielskiNext 892*b1cdbd2cSJim JagielskiLog.print bOk, "methodXEventListenersMul" 893*b1cdbd2cSJim Jagielski 894*b1cdbd2cSJim Jagielski' Attributes ------------------------------------------------------ 895*b1cdbd2cSJim Jagielskidocument.writeln( "<br>" ) 896*b1cdbd2cSJim Jagielskioletest.AttrByte= arrUInt 897*b1cdbd2cSJim Jagielskiret= oletest.AttrByte 898*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrUInt, ret), "AttrByte" 899*b1cdbd2cSJim Jagielski 900*b1cdbd2cSJim Jagielskioletest.AttrFloat= arrDouble 901*b1cdbd2cSJim Jagielskiret= oletest.AttrFloat 902*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrDouble, ret), "AttrFloat" 903*b1cdbd2cSJim Jagielski 904*b1cdbd2cSJim Jagielskioletest.AttrDouble= arrDouble 905*b1cdbd2cSJim Jagielskiret= oletest.AttrDouble 906*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrDouble, ret), "AttrDouble" 907*b1cdbd2cSJim Jagielski 908*b1cdbd2cSJim Jagielskioletest.AttrBool= arrBool 909*b1cdbd2cSJim Jagielskiret= oletest.AttrBool 910*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrBool, ret), "AttrBool" 911*b1cdbd2cSJim Jagielski 912*b1cdbd2cSJim Jagielskioletest.AttrShort= arrInt 913*b1cdbd2cSJim Jagielskiret= oletest.AttrShort 914*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrInt, ret), "AttrShort" 915*b1cdbd2cSJim Jagielski 916*b1cdbd2cSJim Jagielskioletest.AttrUShort= arrUInt 917*b1cdbd2cSJim Jagielskiret= oletest.AttrUShort 918*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrUInt, ret), "AttrUShort" 919*b1cdbd2cSJim Jagielski 920*b1cdbd2cSJim Jagielskioletest.AttrLong= arrInt 921*b1cdbd2cSJim Jagielskiret= oletest.AttrLong 922*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrInt, ret), "AttrLong" 923*b1cdbd2cSJim Jagielski 924*b1cdbd2cSJim Jagielskioletest.AttrULong= arrUInt 925*b1cdbd2cSJim Jagielskiret= oletest.AttrULong 926*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrUInt, ret), "AttrULong" 927*b1cdbd2cSJim Jagielski 928*b1cdbd2cSJim Jagielskioletest.AttrChar= arrChar 929*b1cdbd2cSJim Jagielskiret= oletest.AttrChar 930*b1cdbd2cSJim JagielskibOk= false 931*b1cdbd2cSJim Jagielskiif ret(0) = 65 AND ret(1) = 66 AND ret(2) = 67 then 932*b1cdbd2cSJim Jagielski bOk= true 933*b1cdbd2cSJim Jagielskiend if 934*b1cdbd2cSJim JagielskiLog.print bOk, "AttrChar" 935*b1cdbd2cSJim Jagielski 936*b1cdbd2cSJim Jagielskioletest.AttrString= arrString 937*b1cdbd2cSJim Jagielskiret= oletest.AttrString 938*b1cdbd2cSJim JagielskiLog.print isEqualVBAr( arrString, ret), "AttrString" 939*b1cdbd2cSJim Jagielski 940*b1cdbd2cSJim Jagielskioletest.AttrSequence= arrDim2Int 941*b1cdbd2cSJim Jagielskiret= oletest.AttrSequence 942*b1cdbd2cSJim JagielskibOk= true 943*b1cdbd2cSJim JagielskiFor i= 0 To 1 944*b1cdbd2cSJim Jagielski arr1= ret(i) 945*b1cdbd2cSJim Jagielski For j= 0 To 2 946*b1cdbd2cSJim Jagielski if arr1(j) <> arrDim2Int(j,i) then 947*b1cdbd2cSJim Jagielski bOk= false 948*b1cdbd2cSJim Jagielski exit for 949*b1cdbd2cSJim Jagielski end if 950*b1cdbd2cSJim Jagielski Next 951*b1cdbd2cSJim JagielskiNext 952*b1cdbd2cSJim JagielskiLog.print bOk, "AttrSequence" 953*b1cdbd2cSJim Jagielski 954*b1cdbd2cSJim Jagielskioletest.AttrSequence2= arrDim3Int 955*b1cdbd2cSJim Jagielskiret= oletest.AttrSequence2 956*b1cdbd2cSJim Jagielski'arrDim3Int(3,2,1) 957*b1cdbd2cSJim JagielskibOk= true 958*b1cdbd2cSJim JagielskiFor i= 0 To 1 959*b1cdbd2cSJim Jagielski arr1= ret(i) 960*b1cdbd2cSJim Jagielski For j= 0 To 2 961*b1cdbd2cSJim Jagielski arr2= arr1(j) 962*b1cdbd2cSJim Jagielski For k= 0 To 3 963*b1cdbd2cSJim Jagielski If arr2(k) <> arrDim3Int(k,j,i) then 964*b1cdbd2cSJim Jagielski bOk= false 965*b1cdbd2cSJim Jagielski exit for 966*b1cdbd2cSJim Jagielski End If 967*b1cdbd2cSJim Jagielski Next 968*b1cdbd2cSJim Jagielski Next 969*b1cdbd2cSJim JagielskiNext 970*b1cdbd2cSJim JagielskiLog.print bOk, "AttrSequence2" 971*b1cdbd2cSJim Jagielski 972*b1cdbd2cSJim Jagielskioletest.AttrXInterface= arrXEvent 973*b1cdbd2cSJim Jagielskiret= oletest.AttrXInterface 974*b1cdbd2cSJim JagielskibOk= true 975*b1cdbd2cSJim JagielskinumArg= UBound( arrXEvent) - LBound( arrXEvent) + 1 976*b1cdbd2cSJim JagielskinumRet= UBound( ret) - LBound( ret) + 1 977*b1cdbd2cSJim JagielskiIf numArg = numRet then 978*b1cdbd2cSJim Jagielski For i= 0 To numArg - 1 979*b1cdbd2cSJim Jagielski If NOT (arrXEvent(i) Is ret(i)) then 980*b1cdbd2cSJim Jagielski bOk= false 981*b1cdbd2cSJim Jagielski Exit For 982*b1cdbd2cSJim Jagielski End if 983*b1cdbd2cSJim Jagielski Next 984*b1cdbd2cSJim JagielskiEnd If 985*b1cdbd2cSJim JagielskiLog.print bOk, "AttrXInterface" 986*b1cdbd2cSJim Jagielski 987*b1cdbd2cSJim Jagielski'out params ================================================================================ 988*b1cdbd2cSJim Jagielskidocument.writeln("<p>") 989*b1cdbd2cSJim JagielskiDim inVal, outVal, retVal 990*b1cdbd2cSJim Jagielski 991*b1cdbd2cSJim JagielskiinVal = 111 992*b1cdbd2cSJim JagielskiretVal = oletest.in_methodByte(inVal) 993*b1cdbd2cSJim Jagielskioletest.testout_methodByte outVal 994*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodByte" 995*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodByte" 996*b1cdbd2cSJim Jagielski 997*b1cdbd2cSJim JagielskiinVal = 3.14 998*b1cdbd2cSJim JagielskiretVal = oletest.in_methodFloat(inVal) 999*b1cdbd2cSJim Jagielskioletest.testout_methodFloat outVal 1000*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodFloat" 1001*b1cdbd2cSJim JagielskiLog.print outVal > 3.13 AND outVal < 3.15, "testout_methodFloat" 1002*b1cdbd2cSJim Jagielski 1003*b1cdbd2cSJim JagielskiinVal = 3.14 1004*b1cdbd2cSJim JagielskiretVal = oletest.in_methodDouble(inVal) 1005*b1cdbd2cSJim Jagielskioletest.testout_methodDouble outVal 1006*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodDouble" 1007*b1cdbd2cSJim JagielskiLog.print outVal = 3.14, "testout_methodDouble" 1008*b1cdbd2cSJim Jagielski 1009*b1cdbd2cSJim JagielskiinVal = true 1010*b1cdbd2cSJim JagielskiretVal = oletest.in_methodBool(inVal) 1011*b1cdbd2cSJim Jagielskioletest.testout_methodBool outVal 1012*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodBool" 1013*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodBool" 1014*b1cdbd2cSJim Jagielski 1015*b1cdbd2cSJim JagielskiinVal = 222 1016*b1cdbd2cSJim JagielskiretVal = oletest.in_methodShort(inVal) 1017*b1cdbd2cSJim Jagielskioletest.testout_methodShort outVal 1018*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodShort" 1019*b1cdbd2cSJim JagielskiLog.print outVal = inVAl, "testout_methodShort" 1020*b1cdbd2cSJim Jagielski 1021*b1cdbd2cSJim JagielskiinVal = 333 1022*b1cdbd2cSJim JagielskiretVal = oletest.in_methodUShort(inVal) 1023*b1cdbd2cSJim Jagielskioletest.testout_methodUShort outVal 1024*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodUShort" 1025*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodUShort" 1026*b1cdbd2cSJim Jagielski 1027*b1cdbd2cSJim JagielskiinVal = 4444 1028*b1cdbd2cSJim JagielskiretVal = oletest.in_methodLong(inVal) 1029*b1cdbd2cSJim Jagielskioletest.testout_methodLong outVal 1030*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodLong" 1031*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodLong" 1032*b1cdbd2cSJim Jagielski 1033*b1cdbd2cSJim JagielskiinVal = 5555 1034*b1cdbd2cSJim JagielskiretVal = oletest.in_methodULong(inVal) 1035*b1cdbd2cSJim Jagielskioletest.testout_methodULong outVal 1036*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodULong" 1037*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodULong" 1038*b1cdbd2cSJim Jagielski 1039*b1cdbd2cSJim JagielskiinVal = 65 1040*b1cdbd2cSJim JagielskiretVal = oletest.in_methodChar(inVal) 1041*b1cdbd2cSJim Jagielskioletest.testout_methodChar outVal 1042*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodChar" 1043*b1cdbd2cSJim JagielskiLog.print outVal = 65, "testout_methodChar" 1044*b1cdbd2cSJim Jagielski 1045*b1cdbd2cSJim JagielskiinVal = "Hello World 3!" 1046*b1cdbd2cSJim JagielskiretVal = oletest.in_methodString(inVal) 1047*b1cdbd2cSJim Jagielskioletest.testout_methodString outVal 1048*b1cdbd2cSJim JagielskiLog.print inVal = retVal, "in_methodString" 1049*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodString" 1050*b1cdbd2cSJim Jagielski 1051*b1cdbd2cSJim JagielskiinVal = "Hello World 4!" 1052*b1cdbd2cSJim JagielskiretVal = oletest.in_methodAny(inVal) 1053*b1cdbd2cSJim Jagielskioletest.testout_methodAny outVal 1054*b1cdbd2cSJim JagielskiLog.print outVal = inVal, "testout_methodAny" 1055*b1cdbd2cSJim Jagielski 1056*b1cdbd2cSJim Jagielskioletest.testout_methodSequence outVal 1057*b1cdbd2cSJim JagielskiLog.print isEqualVBAr(outVal, Array( 0,1,2,3,4,5,6,7,8,9)), "testout_methodSequence" 1058*b1cdbd2cSJim Jagielski 1059*b1cdbd2cSJim Jagielskioletest.testout_methodSequence2 outVal 1060*b1cdbd2cSJim Jagielskicount= UBound( outVal) - LBound( outVal) + 1 1061*b1cdbd2cSJim Jagielskiret= False 1062*b1cdbd2cSJim JagielskiIf count = 10 Then 1063*b1cdbd2cSJim Jagielski For Each ar In outVal 1064*b1cdbd2cSJim Jagielski ret= isEqualVBAr(ar, Array( 0,1,2,3,4,5,6,7,8,9)) 1065*b1cdbd2cSJim Jagielski If ret = false Then 1066*b1cdbd2cSJim Jagielski Exit For 1067*b1cdbd2cSJim Jagielski End If 1068*b1cdbd2cSJim Jagielski Next 1069*b1cdbd2cSJim JagielskiEnd If 1070*b1cdbd2cSJim JagielskiLog.print ret, "testout_methodSequence2" 1071*b1cdbd2cSJim Jagielski 1072*b1cdbd2cSJim JagielskioutVal= Empty 1073*b1cdbd2cSJim JagielskioutVal2= Empty 1074*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams1 outVal, outVal2 1075*b1cdbd2cSJim Jagielskiret= false 1076*b1cdbd2cSJim JagielskiIf outVal = 999 AND outVal2 = 1111 Then 1077*b1cdbd2cSJim Jagielski ret= true 1078*b1cdbd2cSJim JagielskiEnd If 1079*b1cdbd2cSJim JagielskiLog.print ret, "testout_methodMulParams1" 1080*b1cdbd2cSJim Jagielski 1081*b1cdbd2cSJim JagielskioutVal= Empty 1082*b1cdbd2cSJim JagielskioutVal2= Empty 1083*b1cdbd2cSJim JagielskioutVal3= Empty 1084*b1cdbd2cSJim Jagielskioletest.testout_methodMulParams2 outVal, outVal2, outVal3 1085*b1cdbd2cSJim Jagielskiret = false 1086*b1cdbd2cSJim JagielskiIf outVal = 1111 AND outVal2 = 1222 AND outVal3 = " another string" Then 1087*b1cdbd2cSJim Jagielski ret= true 1088*b1cdbd2cSJim JagielskiEnd If 1089*b1cdbd2cSJim JagielskiLog.print ret, "testout_methodMulParams2" 1090*b1cdbd2cSJim Jagielski 1091*b1cdbd2cSJim Jagielskidocument.writeln("missing: testout_methodMulParams3 <br>") 1092*b1cdbd2cSJim Jagielskidocument.writeln("missing: testout_methodMulParams4 <br>") 1093*b1cdbd2cSJim Jagielski 1094*b1cdbd2cSJim JagielskioutVal= Empty 1095*b1cdbd2cSJim Jagielskioletest.testout_methodXInterface outVal 1096*b1cdbd2cSJim Jagielskiret= false 1097*b1cdbd2cSJim JagielskiIf outVal Is oletest Then 1098*b1cdbd2cSJim Jagielski ret= true 1099*b1cdbd2cSJim JagielskiEnd If 1100*b1cdbd2cSJim JagielskiLog.print ret, "testout_methodXInterface" 1101*b1cdbd2cSJim Jagielski 1102*b1cdbd2cSJim JagielskiSet outVal= Nothing 1103*b1cdbd2cSJim Jagielskidocument.writeln("missing: testout_methodXInterface <br>") 1104*b1cdbd2cSJim Jagielski 1105*b1cdbd2cSJim JagielskiinVal = 1 1106*b1cdbd2cSJim JagielskioutVal= inVal 1107*b1cdbd2cSJim Jagielskioletest.testinout_methodByte outVal 1108*b1cdbd2cSJim Jagielskioletest.testinout_methodByte outVal 1109*b1cdbd2cSJim JagielskiLog.print inVal = outVal, "testinout_methodByte" 1110*b1cdbd2cSJim Jagielski 1111*b1cdbd2cSJim Jagielski 1112*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodFloat <br>") 1113*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodDouble <br>") 1114*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodBool <br>") 1115*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodShort <br>") 1116*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodUShort <br>") 1117*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodLong <br>") 1118*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodULong <br>") 1119*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodChar <br>") 1120*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodString <br>") 1121*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodAny <br>") 1122*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodSequence <br>") 1123*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodSequence2 <br>") 1124*b1cdbd2cSJim Jagielskidocument.writeln("missing: testinout_methodXInterface <br>") 1125*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1126*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1127*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1128*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1129*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1130*b1cdbd2cSJim Jagielskidocument.writeln("missing: AttrAny2 <br>") 1131*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1132*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1133*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1134*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1135*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodAnyTest1 <br>") 1136*b1cdbd2cSJim Jagielskidocument.writeln("missing: retMethodStruct <br>") 1137*b1cdbd2cSJim Jagielskidocument.writeln("missing: AttrStruct <br>") 1138*b1cdbd2cSJim Jagielskidocument.writeln("missing: methodStruct2 <br>") 1139*b1cdbd2cSJim Jagielski 1140*b1cdbd2cSJim Jagielski' Test Identity from COM objects in UNO 1141*b1cdbd2cSJim JagielskiDim listener1 1142*b1cdbd2cSJim JagielskiSet listener1= new VBEventListener 1143*b1cdbd2cSJim Jagielskicall oletest.setObject( listener1) 1144*b1cdbd2cSJim Jagielskiret= oletest.isSame(listener1) 1145*b1cdbd2cSJim JagielskiLog.print2 ret, "Ok Testing identity of COM objects <br>","Failed Testing identity of COM objects<br>" 1146*b1cdbd2cSJim Jagielski' Test identity of UNO objects 1147*b1cdbd2cSJim Jagielski 1148*b1cdbd2cSJim Jagielskiset oletest2= oletest.getThis() 1149*b1cdbd2cSJim Jagielskiret= oletest Is oletest2 1150*b1cdbd2cSJim JagielskiLog.print2 ret, "Ok Testing identity of UNO objects<br>","Failed Testing identity of UNO objects<br>" 1151*b1cdbd2cSJim Jagielski 1152*b1cdbd2cSJim JagielskiEnd Function 1153*b1cdbd2cSJim Jagielski 1154*b1cdbd2cSJim Jagielski 1155*b1cdbd2cSJim JagielskiFunction isEqualVBAr( arr1, arr2) 1156*b1cdbd2cSJim Jagielski ret = false 1157*b1cdbd2cSJim Jagielski s1= UBound( arr1) - LBound( arr1) + 1 1158*b1cdbd2cSJim Jagielski s2= UBound( arr2) - LBound( arr2) + 1 1159*b1cdbd2cSJim Jagielski 1160*b1cdbd2cSJim Jagielski if s1 = s2 then 1161*b1cdbd2cSJim Jagielski ret= true 1162*b1cdbd2cSJim Jagielski Dim i 1163*b1cdbd2cSJim Jagielski for i= 0 To s1 - 1 1164*b1cdbd2cSJim Jagielski if arr1(i) <> arr2(i) then 1165*b1cdbd2cSJim Jagielski ret= false 1166*b1cdbd2cSJim Jagielski exit for 1167*b1cdbd2cSJim Jagielski end if 1168*b1cdbd2cSJim Jagielski next 1169*b1cdbd2cSJim Jagielski end if 1170*b1cdbd2cSJim Jagielski isEqualVBar= ret 1171*b1cdbd2cSJim JagielskiEnd Function 1172*b1cdbd2cSJim Jagielski 1173*b1cdbd2cSJim Jagielski 1174*b1cdbd2cSJim Jagielski'The listener object 1175*b1cdbd2cSJim Jagielski 1176*b1cdbd2cSJim JagielskiClass VBEventListener 1177*b1cdbd2cSJim Jagielski Dim Bridge_ImplementedInterfaces(0) 1178*b1cdbd2cSJim Jagielski Dim bDisposingCalled 1179*b1cdbd2cSJim Jagielski 1180*b1cdbd2cSJim Jagielski'XEventListener::disposing 1181*b1cdbd2cSJim Jagielski Function disposing( source) 1182*b1cdbd2cSJim Jagielski bDisposingCalled= true 1183*b1cdbd2cSJim Jagielski End Function 1184*b1cdbd2cSJim Jagielski 1185*b1cdbd2cSJim Jagielski Sub Class_Initialize() 1186*b1cdbd2cSJim Jagielski bDisposingCalled= false 1187*b1cdbd2cSJim Jagielski Bridge_ImplementedInterfaces(0)= "com.sun.star.lang.XEventListener" 1188*b1cdbd2cSJim Jagielski End Sub 1189*b1cdbd2cSJim Jagielski 1190*b1cdbd2cSJim Jagielski Function resetDisposing() 1191*b1cdbd2cSJim Jagielski bDisposingCalled= false 1192*b1cdbd2cSJim Jagielski End Function 1193*b1cdbd2cSJim Jagielski 1194*b1cdbd2cSJim Jagielski Function disposingCalled() 1195*b1cdbd2cSJim Jagielski disposingCalled= bDisposingCalled 1196*b1cdbd2cSJim Jagielski End Function 1197*b1cdbd2cSJim JagielskiEnd Class 1198*b1cdbd2cSJim Jagielski 1199*b1cdbd2cSJim Jagielski 1200*b1cdbd2cSJim Jagielskisub callBasic(id) 1201*b1cdbd2cSJim Jagielski 1202*b1cdbd2cSJim Jagielski Dim factory 1203*b1cdbd2cSJim Jagielski Set factory= GetObject("", "com.sun.star.ServiceManager") 1204*b1cdbd2cSJim Jagielski 1205*b1cdbd2cSJim Jagielski Set oletest= factory.createInstance("oletest.OleTest") 1206*b1cdbd2cSJim Jagielski 1207*b1cdbd2cSJim Jagielski 1208*b1cdbd2cSJim Jagielski arrInt= Array(1,2,3,4,5) 1209*b1cdbd2cSJim Jagielski arrInt2= Array( -1, -2, 127, 128, 0) 1210*b1cdbd2cSJim Jagielski arrDouble= Array(1.1, 2.2, 3.3, 4.4, 5.5) 1211*b1cdbd2cSJim Jagielski arrBool= Array(0,1,0,2,0) 1212*b1cdbd2cSJim Jagielski arrLong= Array( &Hff, &Hffff, &Hffffff, &Hffffffff) 1213*b1cdbd2cSJim Jagielski arrString= Array("Chicken Wings", "Cheeseburger", "Hamburger") 1214*b1cdbd2cSJim Jagielski arrChar= Array("a",65, "M") 1215*b1cdbd2cSJim Jagielski arrAny= Array("Mickey", 3.14, 100, "A") 1216*b1cdbd2cSJim Jagielski 1217*b1cdbd2cSJim Jagielski Dim arrDim2Int(1,2) 1218*b1cdbd2cSJim Jagielski For i= 0 To 1 1219*b1cdbd2cSJim Jagielski For j= 0 To 1 1220*b1cdbd2cSJim Jagielski arrDim2Int(i,j) = i*2 + j 1221*b1cdbd2cSJim Jagielski Next 1222*b1cdbd2cSJim Jagielski Next 1223*b1cdbd2cSJim Jagielski 1224*b1cdbd2cSJim Jagielski Dim arrDim3Int(1,1,1) 1225*b1cdbd2cSJim Jagielski For i= 0 To 1 1226*b1cdbd2cSJim Jagielski For j= 0 To 1 1227*b1cdbd2cSJim Jagielski For k=0 To 1 1228*b1cdbd2cSJim Jagielski arrDim3Int(i,j,k) = i*2 + j*2 + k 1229*b1cdbd2cSJim Jagielski Next 1230*b1cdbd2cSJim Jagielski Next 1231*b1cdbd2cSJim Jagielski Next 1232*b1cdbd2cSJim Jagielski 1233*b1cdbd2cSJim Jagielski 1234*b1cdbd2cSJim Jagielski select case id 1235*b1cdbd2cSJim Jagielski 1236*b1cdbd2cSJim Jagielski // Out Parameter 1237*b1cdbd2cSJim Jagielski 1238*b1cdbd2cSJim Jagielski 1239*b1cdbd2cSJim Jagielski 1240*b1cdbd2cSJim Jagielski // In Out Parameter -------------------------------------------------- 1241*b1cdbd2cSJim Jagielski case 100 1242*b1cdbd2cSJim Jagielski a= 100 1243*b1cdbd2cSJim Jagielski document.write "param: " & CStr( a) & "<br>" 1244*b1cdbd2cSJim Jagielski oletest.testinout_methodByte a 1245*b1cdbd2cSJim Jagielski document.write a 1246*b1cdbd2cSJim Jagielski case 101 1247*b1cdbd2cSJim Jagielski a= 1.11 1248*b1cdbd2cSJim Jagielski document.write "param: " & CStr( a) & "<br>" 1249*b1cdbd2cSJim Jagielski oletest.testinout_methodDouble a 1250*b1cdbd2cSJim Jagielski document.write a 1251*b1cdbd2cSJim Jagielski case 102 1252*b1cdbd2cSJim Jagielski a= 5 1253*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1254*b1cdbd2cSJim Jagielski oletest.testinout_methodBool a 1255*b1cdbd2cSJim Jagielski document.write a 1256*b1cdbd2cSJim Jagielski case 103 1257*b1cdbd2cSJim Jagielski a= -10 1258*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1259*b1cdbd2cSJim Jagielski oletest.testinout_methodShort a 1260*b1cdbd2cSJim Jagielski document.write a 1261*b1cdbd2cSJim Jagielski case 104 1262*b1cdbd2cSJim Jagielski a= 128 1263*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1264*b1cdbd2cSJim Jagielski oletest.testinout_methodUShort a 1265*b1cdbd2cSJim Jagielski document.write a 1266*b1cdbd2cSJim Jagielski case 105 1267*b1cdbd2cSJim Jagielski a= 65556 1268*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1269*b1cdbd2cSJim Jagielski oletest.testinout_methodLong a 1270*b1cdbd2cSJim Jagielski document.write a 1271*b1cdbd2cSJim Jagielski case 106 1272*b1cdbd2cSJim Jagielski a= 65556 1273*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1274*b1cdbd2cSJim Jagielski oletest.testinout_methodULong a 1275*b1cdbd2cSJim Jagielski document.write a 1276*b1cdbd2cSJim Jagielski case 107 1277*b1cdbd2cSJim Jagielski a= "ein test string" 1278*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1279*b1cdbd2cSJim Jagielski oletest.testinout_methodString a 1280*b1cdbd2cSJim Jagielski document.write a 1281*b1cdbd2cSJim Jagielski case 108 1282*b1cdbd2cSJim Jagielski a= "W" 1283*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1284*b1cdbd2cSJim Jagielski oletest.testinout_methodChar a 1285*b1cdbd2cSJim Jagielski document.write a 1286*b1cdbd2cSJim Jagielski case 109 1287*b1cdbd2cSJim Jagielski a= "Ein String im Any" 1288*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1289*b1cdbd2cSJim Jagielski oletest.other_methodAnyIn a 1290*b1cdbd2cSJim Jagielski document.write a 1291*b1cdbd2cSJim Jagielski 1292*b1cdbd2cSJim Jagielski case 150 1293*b1cdbd2cSJim Jagielski dim a 1294*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 1295*b1cdbd2cSJim Jagielski oletest.testout_methodByte( a) 1296*b1cdbd2cSJim Jagielski document.write a 1297*b1cdbd2cSJim Jagielski// Attributes ----------------------------------------------------------------- 1298*b1cdbd2cSJim Jagielski case 200 1299*b1cdbd2cSJim Jagielski document.write "set: " 1300*b1cdbd2cSJim Jagielski printArray arrInt 1301*b1cdbd2cSJim Jagielski oletest.AttrByte= arrInt 1302*b1cdbd2cSJim Jagielski b= oletest.AttrByte 1303*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1304*b1cdbd2cSJim Jagielski case 201 1305*b1cdbd2cSJim Jagielski document.write "set: " 1306*b1cdbd2cSJim Jagielski printArray arrDouble 1307*b1cdbd2cSJim Jagielski oletest.AttrDouble= arrDouble 1308*b1cdbd2cSJim Jagielski b= oletest.AttrDouble 1309*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1310*b1cdbd2cSJim Jagielski case 202 1311*b1cdbd2cSJim Jagielski document.write "set: " 1312*b1cdbd2cSJim Jagielski printArray arrBool : 1313*b1cdbd2cSJim Jagielski oletest.AttrBool= arrBool 1314*b1cdbd2cSJim Jagielski b= oletest.AttrBool 1315*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1316*b1cdbd2cSJim Jagielski case 203 1317*b1cdbd2cSJim Jagielski document.write "set: " 1318*b1cdbd2cSJim Jagielski printArray arrInt2 : 1319*b1cdbd2cSJim Jagielski oletest.AttrShort= arrInt2 1320*b1cdbd2cSJim Jagielski b= oletest.AttrShort 1321*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1322*b1cdbd2cSJim Jagielski case 204 1323*b1cdbd2cSJim Jagielski document.write "set: " 1324*b1cdbd2cSJim Jagielski printArray arrInt 1325*b1cdbd2cSJim Jagielski oletest.AttrUShort= arrInt 1326*b1cdbd2cSJim Jagielski b= oletest.AttrUShort 1327*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1328*b1cdbd2cSJim Jagielski case 205 1329*b1cdbd2cSJim Jagielski document.write "set: " 1330*b1cdbd2cSJim Jagielski printArray arrInt2 1331*b1cdbd2cSJim Jagielski oletest.AttrLong= arrInt2 1332*b1cdbd2cSJim Jagielski b= oletest.AttrLong 1333*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1334*b1cdbd2cSJim Jagielski case 206 1335*b1cdbd2cSJim Jagielski document.write "set: " 1336*b1cdbd2cSJim Jagielski printArray arrInt 1337*b1cdbd2cSJim Jagielski oletest.AttrULong= arrInt 1338*b1cdbd2cSJim Jagielski b= oletest.AttrULong 1339*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1340*b1cdbd2cSJim Jagielski case 207 1341*b1cdbd2cSJim Jagielski document.write "set: " 1342*b1cdbd2cSJim Jagielski printArray arrString 1343*b1cdbd2cSJim Jagielski oletest.AttrString= arrString 1344*b1cdbd2cSJim Jagielski b= oletest.AttrString 1345*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1346*b1cdbd2cSJim Jagielski case 208 1347*b1cdbd2cSJim Jagielski document.write "set: " 1348*b1cdbd2cSJim Jagielski printArray arrChar 1349*b1cdbd2cSJim Jagielski oletest.AttrChar= arrChar 1350*b1cdbd2cSJim Jagielski b= oletest.AttrChar 1351*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1352*b1cdbd2cSJim Jagielski case 209 1353*b1cdbd2cSJim Jagielski document.write "set: " 1354*b1cdbd2cSJim Jagielski printArray arrAny 1355*b1cdbd2cSJim Jagielski oletest.AttrAny= arrAny 1356*b1cdbd2cSJim Jagielski b= oletest.AttrAny 1357*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 1358*b1cdbd2cSJim Jagielski 1359*b1cdbd2cSJim Jagielski case 210 1360*b1cdbd2cSJim Jagielski document.write "set: <br>" 1361*b1cdbd2cSJim Jagielski printArray2 arrDim2Int : 1362*b1cdbd2cSJim Jagielski oletest.AttrSequence= arrDim2Int 1363*b1cdbd2cSJim Jagielski ret= oletest.AttrSequence 1364*b1cdbd2cSJim Jagielski document.write "get: " 1365*b1cdbd2cSJim Jagielski for each val in ret 1366*b1cdbd2cSJim Jagielski document.write "<br> array: " 1367*b1cdbd2cSJim Jagielski for each val2 in val 1368*b1cdbd2cSJim Jagielski document.write val2 1369*b1cdbd2cSJim Jagielski next 1370*b1cdbd2cSJim Jagielski next 1371*b1cdbd2cSJim Jagielski 1372*b1cdbd2cSJim Jagielski case 300 1373*b1cdbd2cSJim Jagielski dim aByte 1374*b1cdbd2cSJim Jagielski aByte= 100 1375*b1cdbd2cSJim Jagielski call oletest.testinout_methodByte( aByte) 1376*b1cdbd2cSJim Jagielski MsgBox aByte 1377*b1cdbd2cSJim Jagielski 1378*b1cdbd2cSJim Jagielski 1379*b1cdbd2cSJim Jagielski case 400 1380*b1cdbd2cSJim Jagielski 1381*b1cdbd2cSJim Jagielski set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property") 1382*b1cdbd2cSJim Jagielski struct.Attributes= 1 1383*b1cdbd2cSJim Jagielski struct.Handle= 2 1384*b1cdbd2cSJim Jagielski struct.Name= "some Property" 1385*b1cdbd2cSJim Jagielski oletest.methodStruct struct 1386*b1cdbd2cSJim Jagielski 1387*b1cdbd2cSJim Jagielski case 401 1388*b1cdbd2cSJim Jagielski set struct= oletest.retMethodStruct() 1389*b1cdbd2cSJim Jagielski alert( "Property::Attributes : " & struct.Attributes & vblf & " Property::Handle : " _ 1390*b1cdbd2cSJim Jagielski & struct.Handle & vblf & " Property::Name : " & struct.Name) 1391*b1cdbd2cSJim Jagielski 1392*b1cdbd2cSJim Jagielski case 402 1393*b1cdbd2cSJim Jagielski set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property") 1394*b1cdbd2cSJim Jagielski struct.Attributes= 1 1395*b1cdbd2cSJim Jagielski struct.Handle= 2 1396*b1cdbd2cSJim Jagielski struct.Name= "some Property" 1397*b1cdbd2cSJim Jagielski oletest.AttrStruct= struct 1398*b1cdbd2cSJim Jagielski 1399*b1cdbd2cSJim Jagielski set struct2= oletest.AttrStruct 1400*b1cdbd2cSJim Jagielski alert( "property get: " & vblf & "Property::Attributes : " & struct2.Attributes & _ 1401*b1cdbd2cSJim Jagielski vblf & " Property::Handle : " & struct2.Handle & vblf & " Property::Name : " _ 1402*b1cdbd2cSJim Jagielski & struct2.Name) 1403*b1cdbd2cSJim Jagielski end select 1404*b1cdbd2cSJim Jagielskiend sub 1405*b1cdbd2cSJim Jagielski 1406*b1cdbd2cSJim Jagielskisub printArray( arr) 1407*b1cdbd2cSJim Jagielski document.write "array: " 1408*b1cdbd2cSJim Jagielski For Each val In arr 1409*b1cdbd2cSJim Jagielski document.write CStr(val) & " " 1410*b1cdbd2cSJim Jagielski Next 1411*b1cdbd2cSJim Jagielskiend sub 1412*b1cdbd2cSJim Jagielski 1413*b1cdbd2cSJim Jagielski// print a 2 dimensional Array 1414*b1cdbd2cSJim Jagielski 1415*b1cdbd2cSJim Jagielskisub printArray2( arr) 1416*b1cdbd2cSJim Jagielski elements1= UBound( arr, 1) - LBound( arr, 1) +1 1417*b1cdbd2cSJim Jagielski elements2= UBound( arr, 2) - LBound( arr, 2) +1 1418*b1cdbd2cSJim Jagielski 1419*b1cdbd2cSJim Jagielski For i=0 To elements1 -1 1420*b1cdbd2cSJim Jagielski document.write( "array " & CStr( i) & ": " ) 1421*b1cdbd2cSJim Jagielski For j=0 To elements2 -1 1422*b1cdbd2cSJim Jagielski document.write CStr( arr(i,j)) 1423*b1cdbd2cSJim Jagielski Next 1424*b1cdbd2cSJim Jagielski document.write( "<br>") 1425*b1cdbd2cSJim Jagielski Next 1426*b1cdbd2cSJim Jagielskiend sub 1427*b1cdbd2cSJim Jagielski 1428*b1cdbd2cSJim Jagielskisub printArrayEx( pre, post, array) 1429*b1cdbd2cSJim Jagielski document.write pre 1430*b1cdbd2cSJim Jagielski printArray array 1431*b1cdbd2cSJim Jagielski document.write post 1432*b1cdbd2cSJim Jagielskiend sub 1433*b1cdbd2cSJim Jagielski</script> 1434*b1cdbd2cSJim Jagielski 1435*b1cdbd2cSJim Jagielski<script language="JScript"> 1436*b1cdbd2cSJim Jagielskivar arFunctions= new Array(); 1437*b1cdbd2cSJim JagielskiarFunctions["methodByte"]= "sequence<byte> methodByte( [in] sequence<byte> aSeq )"; 1438*b1cdbd2cSJim JagielskiarFunctions["methodFloat"]= "sequence<float> methodFloat( [in] sequence<float> aSeq)"; 1439*b1cdbd2cSJim JagielskiarFunctions["methodDouble"]= "sequence<double> methodDouble( [in] sequence<double> aSeq)"; 1440*b1cdbd2cSJim JagielskiarFunctions["methodBool"]= "sequence<boolean> methodBool( [in] sequence<boolean> aSeq)"; 1441*b1cdbd2cSJim JagielskiarFunctions["methodShort"]= "sequence<short> methodShort( [in] sequence<short> aSeq)"; 1442*b1cdbd2cSJim JagielskiarFunctions["methodUShort"]= "sequence<unsigned short> methodUShort( [in] sequence<unsigned short> aSeq)"; 1443*b1cdbd2cSJim JagielskiarFunctions["methodLong"]= "sequence<long> methodLong( [in] sequence<long> aSeq)"; 1444*b1cdbd2cSJim JagielskiarFunctions["methodULong"]= "sequence<unsigned long> methodULong( [in] sequence<unsigned long> aSeq)"; 1445*b1cdbd2cSJim JagielskiarFunctions["methodString"]= "sequence<string> methodString( [in] sequence<string> aSeq)"; 1446*b1cdbd2cSJim JagielskiarFunctions["methodChar"]= "sequence<char> methodChar( [in] sequence<char> aSeq)"; 1447*b1cdbd2cSJim JagielskiarFunctions["methodAny"]= "sequence<any> methodAny ( [in] sequence<any> aSeq)"; 1448*b1cdbd2cSJim JagielskiarFunctions["methodXInterface"]= "sequence<XInterface> methodXInterface ( [in] sequence<XInterface> aSeq)"; 1449*b1cdbd2cSJim JagielskiarFunctions["methodSequence"]= "sequence< sequence <long> > methodSequence( [in] sequence< sequence< long > > aSeq)"; 1450*b1cdbd2cSJim JagielskiarFunctions["methodSequence2"]= "sequence< sequence <sequence <long> > > methodSequence2( [in] sequence< sequence< sequence<long> > > aSeq)"; 1451*b1cdbd2cSJim JagielskiarFunctions["methodXEventListeners"]= "sequence< com::sun::star::lang::XEventListener > methodXEventListeners( [in] sequence<com::sun::star::lang::XEventListener> aSeq)"; 1452*b1cdbd2cSJim JagielskiarFunctions["methodXEventListenersMul"]= "sequence< sequence< com::sun::star::lang::XEventListener > > methodXEventListenersMul( [in] sequence< sequence< com::sun::star::lang::XEventListener> > aSeq)"; 1453*b1cdbd2cSJim JagielskiarFunctions["AttrByte"]="[attribute] sequence<byte> AttrByte"; 1454*b1cdbd2cSJim JagielskiarFunctions["AttrFloat"]="[attribute] sequence<float> AttrFloat"; 1455*b1cdbd2cSJim JagielskiarFunctions["AttrDouble"]="[attribute] sequence<double> AttrDouble"; 1456*b1cdbd2cSJim JagielskiarFunctions["AttrBool"]="[attribute] sequence<boolean> AttrBool"; 1457*b1cdbd2cSJim JagielskiarFunctions["AttrShort"]="[attribute] sequence<short> AttrShort"; 1458*b1cdbd2cSJim JagielskiarFunctions["AttrUShort"]="[attribute] sequence<unsigned short> AttrUShort"; 1459*b1cdbd2cSJim JagielskiarFunctions["AttrLong"]="[attribute] sequence<long> AttrLong"; 1460*b1cdbd2cSJim JagielskiarFunctions["AttrULong"]="[attribute] sequence<unsigned long> AttrULong"; 1461*b1cdbd2cSJim JagielskiarFunctions["AttrString"]="[attribute] sequence<string> AttrString"; 1462*b1cdbd2cSJim JagielskiarFunctions["AttrChar"]="[attribute] sequence<char> AttrChar"; 1463*b1cdbd2cSJim JagielskiarFunctions["AttrAny"]="[attribute] sequence<any> AttrAny"; 1464*b1cdbd2cSJim JagielskiarFunctions["AttrSequence"]="[attribute] sequence< sequence<long> > AttrSequence"; 1465*b1cdbd2cSJim JagielskiarFunctions["AttrSequence2"]="[attribute] sequence< sequence< sequence <long> > > AttrSequence2"; 1466*b1cdbd2cSJim JagielskiarFunctions["AttrXInterface"]="[attribute] sequence< com::sun::star::uno::XInterface > AttrXInterface"; 1467*b1cdbd2cSJim Jagielski 1468*b1cdbd2cSJim JagielskiarFunctions["testout_methodByte"]= " void testout_methodByte( [out] byte rOut )"; 1469*b1cdbd2cSJim JagielskiarFunctions["testout_methodFloat"]= "void testout_methodFloat( [out] float rOut)"; 1470*b1cdbd2cSJim JagielskiarFunctions["testout_methodDouble"]= "void testout_methodDouble( [out] double rOut)"; 1471*b1cdbd2cSJim JagielskiarFunctions["testout_methodBool"]= "void testout_methodBool( [out] boolean rOut)"; 1472*b1cdbd2cSJim JagielskiarFunctions["testout_methodShort"]= "void testout_methodShort( [out] short rOut)"; 1473*b1cdbd2cSJim JagielskiarFunctions["testout_methodUShort"]= "void testout_methodUShort( [out] unsigned short rOut)"; 1474*b1cdbd2cSJim JagielskiarFunctions["testout_methodLong"]= "void testout_methodLong( [out] long rOut)"; 1475*b1cdbd2cSJim JagielskiarFunctions["testout_methodULong"]= "void testout_methodULong( [out] unsigned long rOut)"; 1476*b1cdbd2cSJim JagielskiarFunctions["testout_methodString"]= "void testout_methodString( [out] string rOut)"; 1477*b1cdbd2cSJim JagielskiarFunctions["testout_methodChar"]= "void testout_methodChar( [out] char rOut)"; 1478*b1cdbd2cSJim JagielskiarFunctions["testout_methodAny"]= "void testout_methodAny( [out] any rOut)"; 1479*b1cdbd2cSJim JagielskiarFunctions["testout_methodSequence"]= "void testout_methodSequence( [out] sequence< long > rOut)"; 1480*b1cdbd2cSJim JagielskiarFunctions["testout_methodSequence2"]= "void testout_methodSequence2( [out] sequence < sequence< long > > rOut)"; 1481*b1cdbd2cSJim JagielskiarFunctions["testout_methodXInterface"]= "void testout_methodXInterface( [out] com::sun::star::uno::XInterface rOut)"; 1482*b1cdbd2cSJim JagielskiarFunctions["testout_methodMulParams1"]= "void testout_methodMulParams1( [out] long rout1, [out] long rout2)"; 1483*b1cdbd2cSJim JagielskiarFunctions["testout_methodMulParams2"]= "void testout_methodMulParams2( [out] long rout1, [out] long rout2, [out] string rout3)"; 1484*b1cdbd2cSJim JagielskiarFunctions["testout_methodMulParams3"]= "void testout_methodMulParams3( [in] string sin, [out] string sout)"; 1485*b1cdbd2cSJim JagielskiarFunctions["testout_methodMulParams4"]= "void testout_methodMulParams4( [in] float in1, [out] float out1, [in] long in2, [out] long out2, [in] long in3)"; 1486*b1cdbd2cSJim JagielskiarFunctions["testinout_methodByte"]="void testinout_methodByte( [inout] byte rOut )"; 1487*b1cdbd2cSJim JagielskiarFunctions["testinout_methodFloat"]="void testinout_methodFloat( [inout] float rOut)"; 1488*b1cdbd2cSJim JagielskiarFunctions["testinout_methodDouble"]="void testinout_methodDouble( [inout] double rOut)"; 1489*b1cdbd2cSJim JagielskiarFunctions["testinout_methodBool"]="void testinout_methodBool( [inout] boolean rOut)"; 1490*b1cdbd2cSJim JagielskiarFunctions["testinout_methodShort"]="void testinout_methodShort( [inout] short rOut)"; 1491*b1cdbd2cSJim JagielskiarFunctions["testinout_methodUShort"]="void testinout_methodUShort( [inout] unsigned short rOut)"; 1492*b1cdbd2cSJim JagielskiarFunctions["testinout_methodLong"]="void testinout_methodLong( [inout] long rOut)"; 1493*b1cdbd2cSJim JagielskiarFunctions["testinout_methodULong"]="void testinout_methodULong( [inout] unsigned long rOut)"; 1494*b1cdbd2cSJim JagielskiarFunctions["testinout_methodString"]="void testinout_methodString( [inout] string rOut)"; 1495*b1cdbd2cSJim JagielskiarFunctions["testinout_methodChar"]="void testinout_methodChar( [inout] char rOut)"; 1496*b1cdbd2cSJim JagielskiarFunctions["testinout_methodAny"]="void testinout_methodAny( [inout] any rOut)"; 1497*b1cdbd2cSJim JagielskiarFunctions["testinout_methodSequence"]="void testinout_methodSequence( [inout] sequence< long > rOut)"; 1498*b1cdbd2cSJim JagielskiarFunctions["testinout_methodSequence2"]="void testinout_methodSequence2( [inout] sequence < sequence< long > > rOut)"; 1499*b1cdbd2cSJim JagielskiarFunctions["testinout_methodXInterface"]="void testinout_methodXInterface( [inout] com::sun::star::script::XInvocation rOut)"; 1500*b1cdbd2cSJim JagielskiarFunctions["testinout_methodXInterface2"]="void testinout_methodXInterface2( [inout] com::sun::star::uno::XInterface rOut)"; 1501*b1cdbd2cSJim Jagielski 1502*b1cdbd2cSJim JagielskiarFunctions["in_methodByte"]= "byte in_methodByte( [in] byte rIn )"; 1503*b1cdbd2cSJim JagielskiarFunctions["in_methodFloat"]= "float in_methodFloat( [in] float rIn);" 1504*b1cdbd2cSJim JagielskiarFunctions["in_methodDouble"]= "double in_methodDouble( [in] double rIn)"; 1505*b1cdbd2cSJim JagielskiarFunctions["in_methodBool"]= "boolean in_methodBool( [in] boolean rIn)"; 1506*b1cdbd2cSJim JagielskiarFunctions["in_methodShort"]= "short in_methodShort( [in] short rIn)"; 1507*b1cdbd2cSJim JagielskiarFunctions["in_methodUShort"]= "unsigned short in_methodUShort( [in] unsigned short rIn)"; 1508*b1cdbd2cSJim JagielskiarFunctions["in_methodLong"]= "long in_methodLong( [in] long rIn)"; 1509*b1cdbd2cSJim JagielskiarFunctions["in_methodULong"]= "unsigned long in_methodULong( [in] unsigned long rIn)"; 1510*b1cdbd2cSJim JagielskiarFunctions["in_methodHyper"]= "hyper in_methodHyper( [in] hyper rIn)"; 1511*b1cdbd2cSJim JagielskiarFunctions["in_methodUHyper"]= "unsigned hyper in_methodHyper( [in] unsigned hyper rIn)"; 1512*b1cdbd2cSJim JagielskiarFunctions["in_methodString"]= "string in_methodString( [in] string rIn)"; 1513*b1cdbd2cSJim JagielskiarFunctions["in_methodChar"]= "char in_methodChar( [in] char rIn)"; 1514*b1cdbd2cSJim JagielskiarFunctions["in_methodAny"]= "any in_methodAny ( [in] any rIn)"; 1515*b1cdbd2cSJim JagielskiarFunctions["in_methodXInterface"]= "XInterface in_methodXInterface([in] XInterface rIn)"; 1516*b1cdbd2cSJim Jagielski 1517*b1cdbd2cSJim Jagielski 1518*b1cdbd2cSJim JagielskiarFunctions["methodAnyTest1"]="any methodAnyTest1( [in] any rIn)"; 1519*b1cdbd2cSJim JagielskiarFunctions["AttrAny2"]= "[attribute] any AttrAny2"; 1520*b1cdbd2cSJim JagielskiarFunctions["retMethodStruct"]= "com::sun::star::beans::Property retMethodStruct()"; 1521*b1cdbd2cSJim JagielskiarFunctions["AttrStruct"]= "[attribute] com::sun::star::beans::Property AttrStruct"; 1522*b1cdbd2cSJim JagielskiarFunctions["methodStruct2"]= "com::sun::star::beans::Property methodStruct2( [in] com::sun::star::beans::Property aProp)"; 1523*b1cdbd2cSJim Jagielski 1524*b1cdbd2cSJim Jagielski 1525*b1cdbd2cSJim Jagielskivar factory= new ActiveXObject("com.sun.star.ServiceManager"); 1526*b1cdbd2cSJim Jagielskivar oletest= factory.createInstance("oletest.OleTest"); 1527*b1cdbd2cSJim Jagielski 1528*b1cdbd2cSJim JagielskiLog= new Logger(); 1529*b1cdbd2cSJim Jagielski 1530*b1cdbd2cSJim Jagielski 1531*b1cdbd2cSJim JagielskirunJScriptTest(Log); 1532*b1cdbd2cSJim JagielskirunVBTest(Log); 1533*b1cdbd2cSJim JagielskiLog.summarize(); 1534*b1cdbd2cSJim Jagielski 1535*b1cdbd2cSJim Jagielski 1536*b1cdbd2cSJim Jagielskifunction Logger() 1537*b1cdbd2cSJim Jagielski{ 1538*b1cdbd2cSJim Jagielski this.print= logger_print; 1539*b1cdbd2cSJim Jagielski this.print2= logger_print2; 1540*b1cdbd2cSJim Jagielski this.summarize= logger_summarize; 1541*b1cdbd2cSJim Jagielski this.bAllOk= true; 1542*b1cdbd2cSJim Jagielski} 1543*b1cdbd2cSJim Jagielskifunction logger_print( bool, method) 1544*b1cdbd2cSJim Jagielski{ 1545*b1cdbd2cSJim Jagielski this.print2(bool, "Ok " + arFunctions[method] + "<br>", 1546*b1cdbd2cSJim Jagielski "Failed " + arFunctions[method] + "<br>"); 1547*b1cdbd2cSJim Jagielski} 1548*b1cdbd2cSJim Jagielski 1549*b1cdbd2cSJim Jagielskifunction logger_print2( bool, okString, failedString) 1550*b1cdbd2cSJim Jagielski{ 1551*b1cdbd2cSJim Jagielski if( bool) 1552*b1cdbd2cSJim Jagielski document.writeln( okString); 1553*b1cdbd2cSJim Jagielski else 1554*b1cdbd2cSJim Jagielski { 1555*b1cdbd2cSJim Jagielski document.writeln( failedString); 1556*b1cdbd2cSJim Jagielski this.bAllOk= this.bAllOk && false; 1557*b1cdbd2cSJim Jagielski } 1558*b1cdbd2cSJim Jagielski} 1559*b1cdbd2cSJim Jagielski 1560*b1cdbd2cSJim Jagielskifunction logger_summarize() 1561*b1cdbd2cSJim Jagielski{ 1562*b1cdbd2cSJim Jagielski document.writeln("<p> ==============================================================================<br>"); 1563*b1cdbd2cSJim Jagielski if(this.bAllOk) 1564*b1cdbd2cSJim Jagielski document.writeln("No errors <br>"); 1565*b1cdbd2cSJim Jagielski else 1566*b1cdbd2cSJim Jagielski document.writeln("Error ! The test failed! <br>"); 1567*b1cdbd2cSJim Jagielski} 1568*b1cdbd2cSJim Jagielski 1569*b1cdbd2cSJim Jagielski 1570*b1cdbd2cSJim Jagielski</script> 1571*b1cdbd2cSJim Jagielski 1572*b1cdbd2cSJim Jagielski</body> 1573*b1cdbd2cSJim Jagielski</html> 1574*b1cdbd2cSJim Jagielski 1575*b1cdbd2cSJim Jagielski 1576