diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/view/XSelectionSupplier/view_XSelectionSupplier.xba | 146 |
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 : " & 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 > 0) AND (nCB2Val > 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 > 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> |