1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?> 2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="text_XRelativeTextContentInsert" script:language="StarBasic"> 4cdf0e10cSrcweir 5cdf0e10cSrcweir 6cdf0e10cSrcweir'************************************************************************* 7cdf0e10cSrcweir' 8*f94e042dSAndrew Rist' Licensed to the Apache Software Foundation (ASF) under one 9*f94e042dSAndrew Rist' or more contributor license agreements. See the NOTICE file 10*f94e042dSAndrew Rist' distributed with this work for additional information 11*f94e042dSAndrew Rist' regarding copyright ownership. The ASF licenses this file 12*f94e042dSAndrew Rist' to you under the Apache License, Version 2.0 (the 13*f94e042dSAndrew Rist' "License"); you may not use this file except in compliance 14*f94e042dSAndrew Rist' with the License. You may obtain a copy of the License at 15*f94e042dSAndrew Rist' 16*f94e042dSAndrew Rist' http://www.apache.org/licenses/LICENSE-2.0 17*f94e042dSAndrew Rist' 18*f94e042dSAndrew Rist' Unless required by applicable law or agreed to in writing, 19*f94e042dSAndrew Rist' software distributed under the License is distributed on an 20*f94e042dSAndrew Rist' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21*f94e042dSAndrew Rist' KIND, either express or implied. See the License for the 22*f94e042dSAndrew Rist' specific language governing permissions and limitations 23*f94e042dSAndrew Rist' under the License. 24cdf0e10cSrcweir' 25cdf0e10cSrcweir'************************************************************************* 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29cdf0e10cSrcweir 30cdf0e10cSrcweir 31*f94e042dSAndrew Rist 32*f94e042dSAndrew Rist 33cdf0e10cSrcweirSub RunTest() 34cdf0e10cSrcweir 35cdf0e10cSrcweir'************************************************************************* 36cdf0e10cSrcweir' INTERFACE: 37cdf0e10cSrcweir' com.sun.star.text.XRelativeTextContentInsert 38cdf0e10cSrcweir'************************************************************************* 39cdf0e10cSrcweirOn Error Goto ErrHndl 40cdf0e10cSrcweir Dim bOK As Boolean 41cdf0e10cSrcweir Dim oEnum As Object 42cdf0e10cSrcweir Dim oCursor As Object 43cdf0e10cSrcweir Dim oContent1 As Object 44cdf0e10cSrcweir Dim oContent2 As Object 45cdf0e10cSrcweir Dim bFound As Boolean 46cdf0e10cSrcweir Dim oEl As Object 47cdf0e10cSrcweir 48cdf0e10cSrcweir Test.StartMethod("insertTextContentBefore()") 49cdf0e10cSrcweir bOK = true 50cdf0e10cSrcweir oCursor = oObj.createTextCursor() 51cdf0e10cSrcweir if (isNULL(oCursor)) then Out.Log("Can't create text cursor!") 52cdf0e10cSrcweir 53cdf0e10cSrcweir Out.Log("First, mark all existant entries with 0") 54cdf0e10cSrcweir 55cdf0e10cSrcweir oEnum = oObj.createEnumeration() 56cdf0e10cSrcweir while (oEnum.hasMoreElements()) 57cdf0e10cSrcweir oEl = oEnum.NextElement() 58cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 59cdf0e10cSrcweir oEl.String = "0" 60cdf0e10cSrcweir end if 61cdf0e10cSrcweir wend 62cdf0e10cSrcweir 63cdf0e10cSrcweir Out.Log("Inserting TextSection...") 64cdf0e10cSrcweir oContent1 = oDoc.createInstance("com.sun.star.text.TextSection") 65cdf0e10cSrcweir oObj.insertTextContent(oCursor, oContent1, false) 66cdf0e10cSrcweir 67cdf0e10cSrcweir oEnum = oObj.createEnumeration() 68cdf0e10cSrcweir while (oEnum.hasMoreElements()) 69cdf0e10cSrcweir oEl = oEnum.NextElement() 70cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 71cdf0e10cSrcweir if (oEl.String = "") then oEl.String = "1" 72cdf0e10cSrcweir end if 73cdf0e10cSrcweir wend 74cdf0e10cSrcweir 75cdf0e10cSrcweir Out.Log("Mark new entry with 1") 76cdf0e10cSrcweir 77cdf0e10cSrcweir oContent2 = oDoc.createInstance("com.sun.star.text.Paragraph") 78cdf0e10cSrcweir oObj.insertTextContentBefore(oContent2, oContent1) 79cdf0e10cSrcweir 80cdf0e10cSrcweir oEnum = oObj.createEnumeration() 81cdf0e10cSrcweir while (oEnum.hasMoreElements()) 82cdf0e10cSrcweir oEl = oEnum.NextElement() 83cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 84cdf0e10cSrcweir if (oEl.String = "") then oEl.String = "2" 85cdf0e10cSrcweir end if 86cdf0e10cSrcweir wend 87cdf0e10cSrcweir 88cdf0e10cSrcweir Out.Log("Mark new entry with 2") 89cdf0e10cSrcweir 90cdf0e10cSrcweir Out.Log("Testing that content was inserted BEFORE. I.e. Label 2 before label 1") 91cdf0e10cSrcweir 92cdf0e10cSrcweir oEnum = oObj.createEnumeration() 93cdf0e10cSrcweir bFound = false 94cdf0e10cSrcweir while (oEnum.hasMoreElements() AND NOT bFound) 95cdf0e10cSrcweir oEl = oEnum.NextElement() 96cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 97cdf0e10cSrcweir bFound = oEl.String = "2" 98cdf0e10cSrcweir end if 99cdf0e10cSrcweir wend 100cdf0e10cSrcweir 101cdf0e10cSrcweir oEl = oEnum.NextElement() 102cdf0e10cSrcweir bOK = bOK AND oEl.String = "1" 103cdf0e10cSrcweir 104cdf0e10cSrcweir Test.MethodTested("insertTextContentBefore()", bOK) 105cdf0e10cSrcweir 106cdf0e10cSrcweir 107cdf0e10cSrcweir Test.StartMethod("insertTextContentAfter()") 108cdf0e10cSrcweir bOK = true 109cdf0e10cSrcweir 110cdf0e10cSrcweir Out.Log("Inserting TextSection...") 111cdf0e10cSrcweir oContent1 = oDoc.createInstance("com.sun.star.text.TextSection") 112cdf0e10cSrcweir oObj.insertTextContent(oCursor, oContent1, false) 113cdf0e10cSrcweir 114cdf0e10cSrcweir oEnum = oObj.createEnumeration() 115cdf0e10cSrcweir while (oEnum.hasMoreElements()) 116cdf0e10cSrcweir oEl = oEnum.NextElement() 117cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 118cdf0e10cSrcweir if (oEl.String = "") then oEl.String = "3" 119cdf0e10cSrcweir end if 120cdf0e10cSrcweir wend 121cdf0e10cSrcweir 122cdf0e10cSrcweir Out.Log("Mark new entry with 3") 123cdf0e10cSrcweir 124cdf0e10cSrcweir oContent2 = oDoc.createInstance("com.sun.star.text.Paragraph") 125cdf0e10cSrcweir oObj.insertTextContentAfter(oContent2, oContent1) 126cdf0e10cSrcweir 127cdf0e10cSrcweir oEnum = oObj.createEnumeration() 128cdf0e10cSrcweir while (oEnum.hasMoreElements()) 129cdf0e10cSrcweir oEl = oEnum.NextElement() 130cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 131cdf0e10cSrcweir if (oEl.String = "") then oEl.String = "4" 132cdf0e10cSrcweir end if 133cdf0e10cSrcweir wend 134cdf0e10cSrcweir 135cdf0e10cSrcweir Out.Log("Mark new entry with 4") 136cdf0e10cSrcweir 137cdf0e10cSrcweir Out.Log("Testing that content was inserted AFTRER. I.e. Label 4 after label 3") 138cdf0e10cSrcweir 139cdf0e10cSrcweir oEnum = oObj.createEnumeration() 140cdf0e10cSrcweir bFound = false 141cdf0e10cSrcweir while (oEnum.hasMoreElements() AND NOT bFound) 142cdf0e10cSrcweir oEl = oEnum.NextElement() 143cdf0e10cSrcweir if (oEl.supportsService("com.sun.star.text.Paragraph")) then 144cdf0e10cSrcweir bFound = oEl.String = "3" 145cdf0e10cSrcweir end if 146cdf0e10cSrcweir wend 147cdf0e10cSrcweir 148cdf0e10cSrcweir oEl = oEnum.NextElement() 149cdf0e10cSrcweir bOK = bOK AND oEl.String = "4" 150cdf0e10cSrcweir 151cdf0e10cSrcweir Test.MethodTested("insertTextContentAfter()", bOK) 152cdf0e10cSrcweir 153cdf0e10cSrcweirExit Sub 154cdf0e10cSrcweirErrHndl: 155cdf0e10cSrcweir Test.Exception() 156cdf0e10cSrcweir bOK = false 157cdf0e10cSrcweir resume next 158cdf0e10cSrcweirEnd Sub 159cdf0e10cSrcweir</script:module> 160