function runJScriptTest( Log)
{
document.writeln("================================================================================<br>");
document.writeln("JScript<br>");
document.writeln("================================================================================<p>");
//var name : String = "Fred";
//print(name); var arr= new Array( 1, 2, 3, 4, 0); var arrInt= new Array( 1,2,3,4,5); var arrDouble= new Array( 1.2345, 12.345, 123.45, 1234.5, 12345); var arrBool= new Array( true, false, true, false, true); var arrChar= new Array( '1', 'A'," ", 55);
var arrString= new Array("hamburger","cheeseburger", "chicken nuggets", "chicken wings", "pizza"); var arrAny= new Array( 100, 100.1235,"hallo"); var arrSeq= new Array( arr, arr, arr); var arrSeq2= new Array( );
var arEventListener= new Array( new XEventListener_Impl(), new XEventListener_Impl(),
new XEventListener_Impl()); var arEventListener2= new Array( new XEventListener_Impl(), new XEventListener_Impl(),
new XEventListener_Impl()); var arArEventListener= new Array( arEventListener, arEventListener2);
var arObj= new Array();
for( i=0; i< 3; i++)
{
arObj[i]= new Object();
} var outVal= new Array(); var outVal2= new Array(); var outVal3= new Array();
oletest.testout_methodSequence( outVal ); var arr= new VBArray( outVal[0]).toArray();
Log.print( isEqualAr(arr, new Array( 0,1,2,3,4,5,6,7,8,9)), "testout_methodSequence");
oletest.testout_methodSequence2( outVal ); var arr= new VBArray( outVal[0]).toArray();
bOk= true;
if( arr.length= 10)
{
for( i=0; i < arr.length; i++)
{ var arr2= new VBArray( arr[i]).toArray();
if( ! isEqualAr( arr2, new Array( 0,1,2,3,4,5,6,7,8,9)))
{
bOk= false;
break;
}
}
}
Log.print( bOk, "testout_methodSequence2");
Log.print( isEqualAr(retVal, new Array(3,4,5,6,7)), "testinout_methodSequence");
outVal[0]= arrSeq;
oletest.testinout_methodSequence2( outVal ); var arr= new VBArray( outVal[0]).toArray(); var i;
bOk= true;
if( arr.length == 3)
{ var tmpArr= new Array(2,4,6,8,0);
for( i=0; i < arr.length; i++)
{ var arr2= new VBArray( arr[i]).toArray();
if( ! isEqualAr( arr2, tmpArr))
{
bOk= false;
break;
}
}
}
Log.print( bOk, "testinout_methodSequence2");
var ob= new Object(); var sInVal= "this is a string"
ob.value= sInVal;
outVal[0]= ob;
oletest.testinout_methodXInterface( outVal);
Log.print( outVal[0].value == "out", "testinout_methodXInterface");
document.writeln("<p>");
i= 100;
ret= oletest.methodAnyTest1( i);
Log.print( i == ret, "methodAnyTest1");
i= 3.14;
ret= oletest.methodAnyTest1( i);
Log.print( i == ret, "methodAnyTest1");
i= "Hallo"
ret= oletest.methodAnyTest1( i);
Log.print( i == ret, "methodAnyTest1");
i= arrInt;
ret= oletest.methodAnyTest1( i); var arr= new VBArray( ret).toArray();
Log.print( isEqualAr(arr, arrInt), "methodAnyTest1");
var obj= new Object();
ret= oletest.methodAnyTest1( obj);
Log.print( obj == ret, "methodAnyTest1");
// The function returns the struct. Since structs are passed by value the returned struct
// will be wrapped in another IDispatch object
astruct.Attributes= 1;
astruct.Handle= 2;
astruct.Name= "Property";
ret= oletest.methodStruct2( astruct);
Log.print( ret.Attributes == 1 && ret.Handle == 2 && ret.Name == "Property", "methodStruct2");
document.writeln("<p>");
// Test Identity from COM objects in UNO var listener1= new XEventListener_Impl();
oletest.setObject(listener1);
ret= oletest.isSame(listener1);
Log.print2( ret, "Ok Testing identity of COM objects<br>","Failed Testing identity of COM objects<br>");
var oletest2= oletest.getThis();
ret= oletest === oletest2;
Log.print2(ret, "Ok Testing identity of UNO objects<br>","Failed Testing identity of UNO objects<br>");
}
For i= 0 To 1
Dim arr1
arr1= ret(i)
For j= 0 To 2
if arr1(j) <> arrDim2Int(j,i) then
bOk= false
exit for
end if
Next
Next
Log.print bOk, "methodSequence"
ret= oletest.methodSequence2( arrDim3Int) 'arrDim3Int(3,2,1)
bOk= true
For i= 0 To 1
arr1= ret(i)
For j= 0 To 2
arr2= arr1(j)
For k= 0 To 3
If arr2(k) <> arrDim3Int(k,j,i) then
bOk= false
exit for
End If
Next
Next
Next
Log.print bOk, "methodSequence2"
ret= oletest.methodXInterface(arrXEvent)
bOk= true
numArg= UBound( arrXEvent) - LBound( arrXEvent) + 1
numRet= UBound( ret) - LBound( ret) + 1
If numArg = numRet then
For i= 0 To numArg - 1
If NOT (arrXEvent(i) Is ret(i)) then
bOk= false
Exit For
End if
Next
End If
Log.print bOk, "methodXInterface"
ret= oletest.methodXEventListeners( arrXEvent)
bOk= true
For i= 0 To 2
If arrXEvent(i).disposingCalled = false then
bOk= false
Exit For
End If
Next
Log.print bOk, "methodXEventListeners"
ret= oletest.methodXEventListenersMul(arrXEvent2)
bOk= true
For i= 0 To 1
For j= 0 To 2
If arrXEvent2(j,i).disposingCalled = false then
bOk= false
Exit For
End If
Next
Next
Log.print bOk, "methodXEventListenersMul"
oletest.AttrChar= arrChar
ret= oletest.AttrChar
bOk= false
if ret(0) = 65 AND ret(1) = 66 AND ret(2) = 67 then
bOk= true
end if
Log.print bOk, "AttrChar"
oletest.AttrSequence= arrDim2Int
ret= oletest.AttrSequence
bOk= true
For i= 0 To 1
arr1= ret(i)
For j= 0 To 2
if arr1(j) <> arrDim2Int(j,i) then
bOk= false
exit for
end if
Next
Next
Log.print bOk, "AttrSequence"
oletest.AttrSequence2= arrDim3Int
ret= oletest.AttrSequence2 'arrDim3Int(3,2,1)
bOk= true
For i= 0 To 1
arr1= ret(i)
For j= 0 To 2
arr2= arr1(j)
For k= 0 To 3
If arr2(k) <> arrDim3Int(k,j,i) then
bOk= false
exit for
End If
Next
Next
Next
Log.print bOk, "AttrSequence2"
oletest.AttrXInterface= arrXEvent
ret= oletest.AttrXInterface
bOk= true
numArg= UBound( arrXEvent) - LBound( arrXEvent) + 1
numRet= UBound( ret) - LBound( ret) + 1
If numArg = numRet then
For i= 0 To numArg - 1
If NOT (arrXEvent(i) Is ret(i)) then
bOk= false
Exit For
End if
Next
End If
Log.print bOk, "AttrXInterface"
'out params ================================================================================
document.writeln("<p>")
Dim inVal, outVal, retVal
oletest.testout_methodSequence2 outVal
count= UBound( outVal) - LBound( outVal) + 1
ret= False
If count = 10 Then
For Each ar In outVal
ret= isEqualVBAr(ar, Array( 0,1,2,3,4,5,6,7,8,9))
If ret = false Then
Exit For
End If
Next
End If
Log.print ret, "testout_methodSequence2"
outVal= Empty
outVal2= Empty
oletest.testout_methodMulParams1 outVal, outVal2
ret= false
If outVal = 999 AND outVal2 = 1111 Then
ret= true
End If
Log.print ret, "testout_methodMulParams1"
outVal= Empty
outVal2= Empty
outVal3= Empty
oletest.testout_methodMulParams2 outVal, outVal2, outVal3
ret = false
If outVal = 1111 AND outVal2 = 1222 AND outVal3 = " another string" Then
ret= true
End If
Log.print ret, "testout_methodMulParams2"
' Test Identity from COM objects in UNO
Dim listener1
Set listener1= new VBEventListener
call oletest.setObject( listener1)
ret= oletest.isSame(listener1)
Log.print2 ret, "Ok Testing identity of COM objects <br>","Failed Testing identity of COM objects<br>" ' Test identity of UNO objects
set oletest2= oletest.getThis()
ret= oletest Is oletest2
Log.print2 ret, "Ok Testing identity of UNO objects<br>","Failed Testing identity of UNO objects<br>"
Dim arrDim2Int(1,2)
For i= 0 To 1
For j= 0 To 1
arrDim2Int(i,j) = i*2 + j
Next
Next
Dim arrDim3Int(1,1,1)
For i= 0 To 1
For j= 0 To 1
For k=0 To 1
arrDim3Int(i,j,k) = i*2 + j*2 + k
Next
Next
Next
select case id
// Out Parameter
// In Out Parameter --------------------------------------------------
case 100
a= 100
document.write "param: " & CStr( a) & "<br>"
oletest.testinout_methodByte a
document.write a
case 101
a= 1.11
document.write "param: " & CStr( a) & "<br>"
oletest.testinout_methodDouble a
document.write a
case 102
a= 5
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodBool a
document.write a
case 103
a= -10
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodShort a
document.write a
case 104
a= 128
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodUShort a
document.write a
case 105
a= 65556
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodLong a
document.write a
case 106
a= 65556
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodULong a
document.write a
case 107
a= "ein test string"
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodString a
document.write a
case 108
a= "W"
document.write "param: "& CStr( a) & "<br>"
oletest.testinout_methodChar a
document.write a
case 109
a= "Ein String im Any"
document.write "param: "& CStr( a) & "<br>"
oletest.other_methodAnyIn a
document.write a
case 150
dim a
document.write "param: "& CStr( a) & "<br>"
oletest.testout_methodByte( a)
document.write a
// Attributes -----------------------------------------------------------------
case 200
document.write "set: "
printArray arrInt
oletest.AttrByte= arrInt
b= oletest.AttrByte
call printArrayEx( "<br> get: ", "<br>", b)
case 201
document.write "set: "
printArray arrDouble
oletest.AttrDouble= arrDouble
b= oletest.AttrDouble
call printArrayEx( "<br> get: ", "<br>", b)
case 202
document.write "set: "
printArray arrBool :
oletest.AttrBool= arrBool
b= oletest.AttrBool
call printArrayEx( "<br> get: ", "<br>", b)
case 203
document.write "set: "
printArray arrInt2 :
oletest.AttrShort= arrInt2
b= oletest.AttrShort
call printArrayEx( "<br> get: ", "<br>", b)
case 204
document.write "set: "
printArray arrInt
oletest.AttrUShort= arrInt
b= oletest.AttrUShort
call printArrayEx( "<br> get: ", "<br>", b)
case 205
document.write "set: "
printArray arrInt2
oletest.AttrLong= arrInt2
b= oletest.AttrLong
call printArrayEx( "<br> get: ", "<br>", b)
case 206
document.write "set: "
printArray arrInt
oletest.AttrULong= arrInt
b= oletest.AttrULong
call printArrayEx( "<br> get: ", "<br>", b)
case 207
document.write "set: "
printArray arrString
oletest.AttrString= arrString
b= oletest.AttrString
call printArrayEx( "<br> get: ", "<br>", b)
case 208
document.write "set: "
printArray arrChar
oletest.AttrChar= arrChar
b= oletest.AttrChar
call printArrayEx( "<br> get: ", "<br>", b)
case 209
document.write "set: "
printArray arrAny
oletest.AttrAny= arrAny
b= oletest.AttrAny
call printArrayEx( "<br> get: ", "<br>", b)
case 210
document.write "set: <br>"
printArray2 arrDim2Int :
oletest.AttrSequence= arrDim2Int
ret= oletest.AttrSequence
document.write "get: "
for each val in ret
document.write "<br> array: "
for each val2 in val
document.write val2
next
next
case 300
dim aByte
aByte= 100
call oletest.testinout_methodByte( aByte)
MsgBox aByte
For i=0 To elements1 -1
document.write( "array " & CStr( i) & ": " )
For j=0 To elements2 -1
document.write CStr( arr(i,j))
Next
document.write( "<br>")
Next
end sub
sub printArrayEx( pre, post, array)
document.write pre
printArray array
document.write post
end sub
</script>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.