'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the 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 oCollection As Object [optional] ' if this relation exists then the method "count" is called for check insert/remove ' - Global oInstance As Object ' Global aAddons() As Variant [optional] ' if this relation exists, then additional methods are called before and after insert/removeTextContent() methods '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.text.XText '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim cText As String Dim oCursor As Object Dim i1 As Integer Dim i2 As Integer Test.StartMethod("insertTextContent()") bOK = true cText = ". Zeile : test_XText" If IsObject(oCollection) and IsObject(oInstance) Then oCursor = oObj.createTextCursor() oCursor.gotoEnd(false) i1 = count(oCollection) Out.Log("Before inserting we have " + i1 + " elements.") ' if isArray(aAddons) then ' Out.Log("Calling beforeInsertTextContent() ...") ' beforeInsertTextContent() ' endif oObj.insertTextContent(oCursor, oInstance, false) ' if isArray(aAddons) then ' Out.Log("Calling afterInsertTextContent() ...") ' afterInsertTextContent() ' endif i2 = count(oCollection) Out.Log("After inserting we have " + i2 + " elements.") bOK = bOK AND i1 = i2 - 1 Test.MethodTested("insertTextContent()", bOK) Test.StartMethod("removeTextContent()") bOK = true i1 = count(oCollection) Out.Log("Before removing we have " + i1 + " elements.") ' if (isArray(aAddons)) then ' Out.Log("Calling beforeRemoveTextContent() ...") ' beforeRemoveTextContent() ' endif oObj.removeTextContent(oInstance) ' if (isArray(aAddons)) then ' Out.Log("Calling afterRemoveTextContent() ...") ' afterRemoveTextContent() ' endif i2 = count(oCollection) Out.Log("After removing we have " + i2 + " elements.") bOK = bOK AND i1 = i2 + 1 Test.MethodTested("removeTextContent()", bOK) Else oCursor = oObj.createTextCursor() oCursor.gotoEnd(false) oObj.insertTextContent(oCursor, oInstance, false) Test.MethodTested("insertTextContent()", True) Test.StartMethod("removeTextContent()") oObj.removeTextContent(oInstance) Test.MethodTested("removeTextContent()", True) End If Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub Function count(container As Variant) As Integer Dim iAmount As Integer Dim oEnumeration As Object if hasUnoInterfaces(container, "com.sun.star.container.XIndexAccess") then iAmount = container.getCount() elseif hasUnoInterfaces(container, "com.sun.star.container.XNameAccess") then iAmount = ubound(container.getElementNames()) + 1 elseif hasUnoInterfaces(container, "com.sun.star.container.XEnumerationAccess") then oEnumeration = container.createEnumeration() iAmount = 0 while oEnumeration.hasMoreElements() iAmount = iAmount + 1 oEnumeration.nextElement() wend end if count() = iAmount End Function