summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba172
1 files changed, 172 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..818646f50657
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/form/XUpdateBroadcaster/form_XUpdateBroadcaster.xba
@@ -0,0 +1,172 @@
+<?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">
+
+
+'*************************************************************************
+'
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org 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 version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 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 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>