diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba new file mode 100644 index 000000000000..0e64a8493298 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> +<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XUpdateBroadcaster" script:language="StarBasic"> + + +'************************************************************************* +'* +'* $RCSfile: form_XUpdateBroadcaster.xba,v $ +'* +'* $Revision: 1.1 $ +'* +'* last change:$Date: 2003-01-27 17:49:00 $ +'* +'* The Contents of this file are made available subject to the terms of +'* either of the following licenses +'* +'* - GNU Lesser General Public License Version 2.1 +'* - Sun Industry Standards Source License Version 1.1 +'* +'* Sun Microsystems Inc., October, 2000 +'* +'* GNU Lesser General Public License Version 2.1 +'* ============================================= +'* Copyright 2000 by Sun Microsystems, Inc. +'* 901 San Antonio Road, Palo Alto, CA 94303, USA +'* +'* This library is free software; you can redistribute it and/or +'* modify it under the terms of the GNU Lesser General Public +'* License version 2.1, as published by the Free Software Foundation. +'* +'* This library is distributed in the hope that it will be useful, +'* but WITHOUT ANY WARRANTY; without even the implied warranty of +'* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +'* Lesser General Public License for more details. +'* +'* You should have received a copy of the GNU Lesser General Public +'* License along with this library; if not, write to the Free Software +'* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +'* MA 02111-1307 USA +'* +'* +'* Sun Industry Standards Source License Version 1.1 +'* ================================================= +'* The contents of this file are subject to the Sun Industry Standards +'* Source License Version 1.1 (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.openoffice.org/license.html. +'* +'* Software provided under this License is provided on an "AS IS" basis, +'* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +'* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +'* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +'* See the License for the specific provisions governing your rights and +'* obligations concerning the Software. +'* +'* The Initial Developer of the Original Code is: Sun Microsystems, Inc. +'* +'* Copyright: 2000 by Sun Microsystems, Inc. +'* +'* All Rights Reserved. +'* +'* Contributor(s): _______________________________________ +'* +'* +'************************************************************************* +'************************************************************************* + + + +' 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 bCustomUpdate As Boolean +' properties are not changed to call listener +' Sub UpdateComponent() + +'************************************************************************* + + + + +Const BOUND = 2 +Const CONSTRAINED = 4 +Const MAYBENULL = 8 +Const READONLY = 16 + +Dim oListener1 As Object +Dim oListener2 As Object +Dim nCB1appVal As Boolean +Dim nCB2appVal As Boolean +Dim nCB1updVal As Boolean +Dim nCB2updVal As Boolean + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.form.XUpdateBroadcaster +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim bAllOK As Boolean + + Out.Log("Creating Listeners...") + oListener1 = createUNOListener("CB1_","com.sun.star.form.XUpdateListener") + oListener2 = createUNOListener("CB2_","com.sun.star.form.XUpdateListener") + bOK = NOT isNULL(oListener1) AND NOT isNULL(oListener2) + + CountersReset() + + bAllOK = bOK + + Test.StartMethod("addUpdateListener()") + bOK = true + oObj.addUpdateListener(oListener1) + oObj.addUpdateListener(oListener2) + + if bCustomUpdate then + Out.Log("Object specific update function was called.") + UpdateComponent() + else + Out.Log("Interfacetest update function was called.") + TryToUpdate() + end if + wait(1000) + + bOK = bOK AND nCB1appVal AND nCB2appVal AND nCB1updVal AND nCB2updVal + + Test.MethodTested("addUpdateListener()", bOK) + + Test.StartMethod("removeUpdateListener()") + bOK = true + Out.Log("Removing Listener 1") + oObj.removeUpdateListener(oListener1) + countersReset() + + if bCustomUpdate then + Out.Log("Object specific update function was called.") + UpdateComponent() + else + Out.Log("Interfacetest update function was called.") + TryToUpdate() + end if + wait(1000) + + bOK = bOK AND NOT nCB1appVal AND nCB2appVal AND NOT nCB1updVal AND nCB2updVal + Test.MethodTested("removeUpdateListener()", bOK) + + Out.Log("Removing Listener 2") + oObj.removeUpdateListener(oListener2) + +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub +Function CB1_approveUpdate As Boolean + Out.Log("CallBack for Listener1 approveUpdate was called.") + nCB1appVal = TRUE + CB1_approveUpdate = TRUE +End Function + +Function CB2_approveUpdate As Boolean + Out.Log("CallBack for Listener2 approveUpdate was called.") + nCB2appVal = TRUE + CB2_approveUpdate = TRUE +End Function + +Sub CB1_Updated + Out.Log("CallBack for Listener1 Updated was called.") + nCB1updVal = TRUE +End Sub + +Sub CB2_Updated + Out.Log("CallBack for Listener2 Updated was called.") + nCB2updVal = TRUE +End Sub + +Sub TryToUpdate() + Dim i as Integer + Dim props as Variant, attr As Variant + + if hasUnoInterfaces(oObj, "com.sun.star.beans.XPropertySet") then + props() = oObj.getPropertySetInfo().getProperties() + + for i = lbound(props()) to ubound(props()) + PropertyTester.TestProperty(props(i).Name) + next i + else + Out.Log("XPropertySet isn't supported.") + end if +End Sub + +Sub countersReset() + nCB1updVal = FALSE + nCB2updVal = FALSE + nCB1appVal = FALSE + nCB2appVal = FALSE +End sub +</script:module> |