summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba112
1 files changed, 112 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba b/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba
new file mode 100644
index 000000000000..6d429bed4c7b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/lang/XComponent/lang_XComponent.xba
@@ -0,0 +1,112 @@
+<?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="lang_XComponent" 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.
+'
+'*************************************************************************
+'*************************************************************************
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global oComponentInstance As Object it will be disposed
+
+'*************************************************************************
+
+
+Dim bCB1 As Boolean, bCB2 As Boolean
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.lang.XEventListener
+
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim oListener1 as Object, oListener2 As Object
+
+ If isNull(oComponentInstance) Then Out.Log("oComponentInstance is not initialized")
+
+ bCB1 = false
+ bCB2 = false
+
+ Out.Log("create two listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.lang.XEventListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.lang.XEventListener")
+
+ ' add listeners to object if initialized
+ if NOT(isNull(oListener2)) then
+ oComponentInstance.addEventListener(oListener2)
+ end if
+ if NOT(isNull(oListener1)) then
+ oComponentInstance.addEventListener(oListener1)
+ end if
+
+ Out.Log("remove Listener2")
+ oComponentInstance.removeEventListener(oListener2)
+
+ ' dispose object and check the count
+ Test.StartMethod("dispose()")
+ bOK = true
+ oComponentInstance.dispose()
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("dispose()", bOK)
+
+ ' check if only one eventlistener-callback was executed
+ Test.StartMethod("addEventListener()")
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("addEventListener()", bOK)
+
+ ' check if there was only one of the listener callbacks executed
+ Test.StartMethod("removeEventListener()")
+ bOK = bCB1 AND NOT bCB2
+ Test.MethodTested("removeEventListener()", bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+Sub CB1_disposing
+ Out.Log("CallBack for Listener1 disposing was called.")
+ bCB1 = true
+End Sub
+Sub CB2_disposing
+ Out.Log("CallBack for Listener2 disposing was called.")
+ bCB2 = true
+End Sub
+
+</script:module>