summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba146
1 files changed, 146 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba
new file mode 100644
index 000000000000..642eea896b9c
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba
@@ -0,0 +1,146 @@
+<?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="view_XSelectionSupplier" 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 SelectableObj1 As Object
+' - Global SelectableObj2 As Object
+
+'*************************************************************************
+
+
+
+
+Dim nCB1Val, nCB2Val As Integer
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.view.XSelectionSupplier
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK, bSelected As Boolean
+ Dim oListener1, oListener2, oSelection As Object
+
+ Out.Log("creating two Listeners")
+ oListener1 = createUNOListener("CB1_", "com.sun.star.view.XSelectionChangeListener")
+ oListener2 = createUNOListener("CB2_", "com.sun.star.view.XSelectionChangeListener")
+ bOK = NOT isNULL(oListener1) AND NOT isNULL(oListener2)
+ Out.Log("Listeners creation : " &amp; bOK)
+
+ Test.StartMethod("select()")
+ bOK = true
+ out.log("Trying to select ...")
+ bOK = bOK AND oObj.select(SelectableObj1)
+ Test.MethodTested("select()", bOK)
+
+ Test.StartMethod("getSelection()")
+ bOK = true
+ oSelection = oObj.getSelection()
+ bOK = bOK AND NOT isNULL(oSelection)
+
+ ' The selection is either specified by an object which is contained
+ ' in the component to which the view belongs or it is an interface of a
+ ' collection which contains such objects.
+
+ if bOK then
+ if (cObjectName = "sw.SwXTextView") then
+ bOK = bOK AND oSelection.hasElements()
+ bOK = bOK AND (oSelection.getByIndex(0).String = SelectableObj1.String)
+ elseif (hasUnoInterfaces(oSelection, "com.sun.star.container.XElementAccess")) then
+ bOK = bOK AND oSelection.hasElements()
+ if bOK then bOK = bOK AND (oSelection.getByIndex(0).dbg_methods = SelectableObj1.dbg_methods)
+ else
+ bOK = bOK AND (oSelection.dbg_methods = SelectableObj1.dbg_methods)
+ end if
+ end if
+
+ Test.MethodTested("getSelection()", bOK)
+
+ Test.StartMethod("addSelectionChangeListener()")
+ bOK = true
+ Out.Log("Adding two listeners...")
+ oObj.addSelectionChangeListener(oListener1)
+ oObj.addSelectionChangeListener(oListener2)
+
+ Out.Log("Select item...")
+ ResetCB()
+ bOK = bOK AND oObj.select(SelectableObj2)
+ bOK = bOK AND (nCB1Val &gt; 0) AND (nCB2Val &gt; 0)
+ Test.MethodTested("addSelectionChangeListener()", bOK)
+
+ Test.StartMethod("removeSelectionChangeListener()")
+ bOK = true
+ Out.Log("Remove first listener...")
+ oObj.removeSelectionChangeListener(oListener1)
+
+ Out.Log("Select item...")
+ ResetCB()
+ bOK = bOK AND oObj.select(SelectableObj1)
+ bOK = bOK AND (nCB1Val = 0) AND (nCB2Val &gt; 0)
+ Test.MethodTested("removeSelectionChangeListener()", bOK)
+
+ Out.Log("Remove last listener...")
+ oObj.removeSelectionChangeListener(oListener2)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+
+Sub CB1_selectionChanged
+ Out.Log("Listener 1 was called")
+ nCB1Val = nCB1Val + 1
+end sub
+
+Sub CB2_selectionChanged
+ Out.Log("Listener 2 was called")
+ nCB2Val = nCB2Val + 1
+end sub
+
+Sub ResetCB()
+ nCB1Val = 0
+ nCB2Val = 0
+End Sub
+</script:module>