summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba144
1 files changed, 144 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba b/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba
new file mode 100644
index 000000000000..b681dfa1a334
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/table/XCellCursor/table_XCellCursor.xba
@@ -0,0 +1,144 @@
+<?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="table_XCellCursor" 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
+
+'*************************************************************************
+'XCellCursor walks in a range of data. That
+' means: If you have the range (A1:B10) filled
+' with data gotoStart() goes to (A1), gotoEnd()
+' goes to (B10). But: you must insite this range.
+' If you are in (C3) you will nerver go to (A1).
+
+'*************************************************************************
+
+
+
+
+
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.table.XCellCursor
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim bSupport As Boolean
+ Dim ResetCols As Integer, ResetRows As Long
+ Dim nStartSCol, nStartECol As Integer
+ Dim nStartSRow, nStartERow As Long
+ Dim nNextECol As Integer, nNextERow As Long
+ Dim nEndECol As Integer, nEndERow As Long
+ Dim nPrevECol As Integer, nPrevERow As Long
+ Dim nOffECol As Integer, nOffERow As Long
+ Dim oAddress As Object
+
+ if hasUnoInterfaces(oObj, "com.sun.star.sheet.XSheetCellCursor") then
+ bSupport = true
+ ResetCols = oObj.getColumns().getCount()
+ ResetRows = oObj.getRows().getCount()
+ else
+ bSupport = false
+ end if
+
+ Test.StartMethod("gotoStart()")
+ bOK = true
+ oObj.gotoStart()
+ oAddress = oObj.getRangeAddress()
+ nStartSCol = oAddress.StartColumn
+ nStartECol = oAddress.EndColumn
+ nStartSRow = oAddress.StartRow
+ nStartERow = oAddress.EndRow
+ bOK = bOK AND (nStartSCol = nStartECol) AND (nStartSRow = nStartERow)
+ Out.Log("nStartSCol = " &amp; nStartSCol &amp; " nStartECol = " &amp; nStartECol &amp;_
+ " nStartSRow = " &amp; nStartSRow &amp; " nStartERow = " &amp; nStartERow)
+ Test.MethodTested("gotoStart()", bOK)
+
+ Test.StartMethod("gotoNext()")
+ bOK = true
+ oObj.gotoNext()
+ oAddress = oObj.getRangeAddress()
+ nNextECol = oAddress.EndColumn
+ nNextERow = oAddress.EndRow
+ bOK = bOK AND ((nNextECol = nStartSCol + 1) OR (nNextERow = nStartSRow + 1))
+ Out.Log("nNextECol = " &amp; nNextECol &amp; " nNextERow = " &amp; nNextERow)
+ Test.MethodTested("gotoNext()", bOK)
+
+ Test.StartMethod("gotoEnd()")
+ bOK = true
+ oObj.gotoEnd()
+ oAddress = oObj.getRangeAddress()
+ nEndECol = oAddress.EndColumn
+ nEndERow = oAddress.EndRow
+ bOK = bOK AND ((nEndECol &gt; nStartECol) OR (nEndERow &gt; nStartERow))
+ Out.Log("nEndSCol = " &amp; nEndECol &amp; " nEndERow = " &amp; nEndERow)
+ Test.MethodTested("gotoEnd()", bOK)
+
+ Test.StartMethod("gotoPrevious()")
+ bOK = true
+ oObj.gotoPrevious()
+ oAddress = oObj.getRangeAddress()
+ nPrevECol = oAddress.EndColumn
+ nPrevERow = oAddress.EndRow
+ bOK = bOK AND ((nPrevECol &lt; nEndECol) OR (nPrevERow &lt; nEndERow))
+ Out.Log("nPrevECol = " &amp; nPrevECol &amp; " nPrevERow = " &amp; nPrevERow)
+ Test.MethodTested("gotoPrevious()", bOK)
+
+ Test.StartMethod("gotoOffset()")
+ bOK = true
+ oObj.gotoStart()
+ oObj.gotoOffset(1,1)
+ oAddress = oObj.getRangeAddress()
+ nOffECol = oAddress.EndColumn
+ nOffERow = oAddress.EndRow
+ bOK = bOK AND (nOffECol = nStartSCol + 1) AND (nOffERow = nStartSRow + 1)
+ Out.Log("nOffECol = " &amp; nOffECol &amp; " nOffERow = " &amp; nOffERow)
+ Test.MethodTested("gotoOffset()", bOK)
+
+ if bSupport then
+ Out.Log("Reset to old range: " &amp; ResetCols &amp; "," &amp; ResetRows)
+ oObj.collapseToSize(ResetCols, ResetRows)
+ end if
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>