'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* ' Be sure that all variables are dimensioned: option explicit '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' - Global dispatchURL As String '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.frame.XDispatch '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim listener1 As Object, listener2 As Object Dim URL As New com.sun.star.util.URL URL.Complete = dispatchURL Out.Log("Dispatch URL is '" + dispatchURL + "'") if isNull(oObj) then Out.Log("Component is NULL !!!!") Test.StartMethod("addStatusListener()") listener1 = createUnoListener("SL1_", "com.sun.star.frame.XStatusListener") listener2 = createUnoListener("SL2_", "com.sun.star.frame.XStatusListener") if NOT(isNull(listener1) OR isNull(listener2)) then Out.Log("Listeners were created") else Out.Log("Listeners were NOT created !!!") EndIf oObj.addStatusListener(listener1, URL) oObj.addStatusListener(listener2, URL) Out.Log("Listeners were added") Test.StartMethod("removeStatusListener()") oObj.removeStatusListener(listener1, URL) Test.StartMethod("dispatch()") SL1Called = false SL2Called = false Out.Log("Dispatching ...") oObj.dispatch(URL, DimArray()) wait(500) Out.Log("Dispatched.") Test.MethodTested("dispatch()", true) bOK = SL2Called Test.MethodTested("addStatusListener()", bOK) bOK = bOK AND NOT SL1Called Test.MethodTested("removeStatusListener()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub Dim SL1Called As Boolean Dim SL2Called As Boolean Sub SL1_StatusChanged(ev As Variant) SL1Called = true Out.Log("SL1_StatusChanged() called.") End Sub Sub SL2_StatusChanged(ev As Variant) SL2Called = true Out.Log("SL2_StatusChanged() called.") End Sub