1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package ifc.text; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir import lib.Status; 28cdf0e10cSrcweir import lib.StatusException; 29cdf0e10cSrcweir 30cdf0e10cSrcweir import com.sun.star.text.XTextRange; 31cdf0e10cSrcweir import com.sun.star.text.XTextRangeMover; 32cdf0e10cSrcweir 33cdf0e10cSrcweir /** 34cdf0e10cSrcweir * Testing <code>com.sun.star.text.XTextRangeMover</code> 35cdf0e10cSrcweir * interface methods : 36cdf0e10cSrcweir * <ul> 37cdf0e10cSrcweir * <li><code> moveTextRange()</code></li> 38cdf0e10cSrcweir * </ul> <p> 39cdf0e10cSrcweir * This test needs the following object relations : 40cdf0e10cSrcweir * <ul> 41cdf0e10cSrcweir * <li> <code>'RangeForMove'</code> (of type <code>XTextRange</code>): 42cdf0e10cSrcweir * the range to be moved. </li> 43cdf0e10cSrcweir * <li> <code>'XTextRange'</code> (of type <code>XTextRange</code>): 44cdf0e10cSrcweir * the range that includes moving range. </li> 45cdf0e10cSrcweir * <ul> <p> 46cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p> 47cdf0e10cSrcweir * @see com.sun.star.text.XTextRangeMover 48cdf0e10cSrcweir */ 49cdf0e10cSrcweir public class _XTextRangeMover extends MultiMethodTest { 50cdf0e10cSrcweir 51cdf0e10cSrcweir public XTextRangeMover oObj = null; 52cdf0e10cSrcweir 53cdf0e10cSrcweir XTextRange xTextRange = null; 54cdf0e10cSrcweir XTextRange oMoveRange = null; 55cdf0e10cSrcweir 56cdf0e10cSrcweir /** 57cdf0e10cSrcweir * Moves the range obtained from relation 'RangeForMove' by 1 paragraph 58cdf0e10cSrcweir * and compares index of moved string in the whole text obtained 59cdf0e10cSrcweir * from relation 'XTextRange'. <p> 60cdf0e10cSrcweir * Has <b>OK</b> status if index of moved range is changed after method call. 61cdf0e10cSrcweir */ _moveTextRange()62cdf0e10cSrcweir public void _moveTextRange(){ 63cdf0e10cSrcweir oMoveRange = (XTextRange) tEnv.getObjRelation("RangeForMove"); 64cdf0e10cSrcweir xTextRange = (XTextRange) tEnv.getObjRelation("XTextRange"); 65cdf0e10cSrcweir 66cdf0e10cSrcweir if (oMoveRange == null) { 67cdf0e10cSrcweir throw new StatusException( 68cdf0e10cSrcweir Status.failed("Couldn't get relation 'RangeForMove'")); 69cdf0e10cSrcweir } 70cdf0e10cSrcweir 71cdf0e10cSrcweir if (xTextRange == null) { 72cdf0e10cSrcweir throw new StatusException( 73cdf0e10cSrcweir Status.failed("Couldn't get relation 'XTextRange'")); 74cdf0e10cSrcweir } 75cdf0e10cSrcweir 76cdf0e10cSrcweir log.println("Content before moving:"); 77cdf0e10cSrcweir log.println(xTextRange.getString()); 78cdf0e10cSrcweir log.println("Text range for moving:"); 79cdf0e10cSrcweir log.println(oMoveRange.getString()); 80cdf0e10cSrcweir int indexBefore = xTextRange.getString().indexOf(oMoveRange.getString()); 81cdf0e10cSrcweir oObj.moveTextRange(oMoveRange,(short) 1); 82cdf0e10cSrcweir log.println("Content after moving:"); 83cdf0e10cSrcweir log.println(xTextRange.getString()); 84cdf0e10cSrcweir int indexAfter = xTextRange.getString().indexOf(oMoveRange.getString()); 85cdf0e10cSrcweir 86cdf0e10cSrcweir boolean res = indexBefore != indexAfter; 87cdf0e10cSrcweir log.println("Index before moving:" + indexBefore); 88cdf0e10cSrcweir log.println("Index after moving:" + indexAfter); 89cdf0e10cSrcweir 90cdf0e10cSrcweir tRes.tested("moveTextRange()", res); 91cdf0e10cSrcweir } 92cdf0e10cSrcweir } 93cdf0e10cSrcweir 94