1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package complex.toolkit.accessibility; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import com.sun.star.accessibility.XAccessibleText; 27*b1cdbd2cSJim Jagielski // import lib.MultiMethodTest; 28*b1cdbd2cSJim Jagielski //import lib.StatusException; 29*b1cdbd2cSJim Jagielski //import lib.Status; 30*b1cdbd2cSJim Jagielski import com.sun.star.beans.PropertyValue; 31*b1cdbd2cSJim Jagielski import com.sun.star.awt.Rectangle; 32*b1cdbd2cSJim Jagielski import com.sun.star.awt.Point; 33*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiServiceFactory; 34*b1cdbd2cSJim Jagielski import com.sun.star.accessibility.AccessibleTextType; 35*b1cdbd2cSJim Jagielski import com.sun.star.accessibility.TextSegment; 36*b1cdbd2cSJim Jagielski import com.sun.star.uno.XInterface; 37*b1cdbd2cSJim Jagielski import com.sun.star.uno.UnoRuntime; 38*b1cdbd2cSJim Jagielski // import share.LogWriter; 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski /** 41*b1cdbd2cSJim Jagielski * Testing <code>com.sun.star.accessibility.XAccessibleText</code> 42*b1cdbd2cSJim Jagielski * interface methods : 43*b1cdbd2cSJim Jagielski * <ul> 44*b1cdbd2cSJim Jagielski * <li><code> getCaretPosition()</code></li> 45*b1cdbd2cSJim Jagielski * <li><code> setCaretPosition()</code></li> 46*b1cdbd2cSJim Jagielski * <li><code> getCharacter()</code></li> 47*b1cdbd2cSJim Jagielski * <li><code> getCharacterAttributes()</code></li> 48*b1cdbd2cSJim Jagielski * <li><code> getCharacterBounds()</code></li> 49*b1cdbd2cSJim Jagielski * <li><code> getCharacterCount()</code></li> 50*b1cdbd2cSJim Jagielski * <li><code> getIndexAtPoint()</code></li> 51*b1cdbd2cSJim Jagielski * <li><code> getSelectedText()</code></li> 52*b1cdbd2cSJim Jagielski * <li><code> getSelectionStart()</code></li> 53*b1cdbd2cSJim Jagielski * <li><code> getSelectionEnd()</code></li> 54*b1cdbd2cSJim Jagielski * <li><code> setSelection()</code></li> 55*b1cdbd2cSJim Jagielski * <li><code> getText()</code></li> 56*b1cdbd2cSJim Jagielski * <li><code> getTextRange()</code></li> 57*b1cdbd2cSJim Jagielski * <li><code> getTextAtIndex()</code></li> 58*b1cdbd2cSJim Jagielski * <li><code> getTextBeforeIndex()</code></li> 59*b1cdbd2cSJim Jagielski * <li><code> getTextBehindIndex()</code></li> 60*b1cdbd2cSJim Jagielski * <li><code> copyText()</code></li> 61*b1cdbd2cSJim Jagielski * </ul> <p> 62*b1cdbd2cSJim Jagielski * This test needs the following object relations : 63*b1cdbd2cSJim Jagielski * <ul> 64*b1cdbd2cSJim Jagielski * <li> <code>'XAccessibleText.Text'</code> (of type <code>String</code>) 65*b1cdbd2cSJim Jagielski * <b> optional </b> : 66*b1cdbd2cSJim Jagielski * the string presentation of component's text. If the relation 67*b1cdbd2cSJim Jagielski * is not specified, then text from method <code>getText()</code> 68*b1cdbd2cSJim Jagielski * is used. 69*b1cdbd2cSJim Jagielski * </li> 70*b1cdbd2cSJim Jagielski * </ul> <p> 71*b1cdbd2cSJim Jagielski * @see com.sun.star.accessibility.XAccessibleText 72*b1cdbd2cSJim Jagielski */ 73*b1cdbd2cSJim Jagielski public class _XAccessibleText { 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski // private LogWriter log; 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski private static final String className = 78*b1cdbd2cSJim Jagielski "com.sun.star.accessibility.XAccessibleText" ; 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski public XAccessibleText oObj = null; 81*b1cdbd2cSJim Jagielski private XMultiServiceFactory xMSF; 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski Rectangle chBounds = null; 84*b1cdbd2cSJim Jagielski int chCount = 0; 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski String text = null; 87*b1cdbd2cSJim Jagielski String editOnly = null; 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim Jagielski _XAccessibleText(XInterface object, XMultiServiceFactory xMSF, String editOnly)90*b1cdbd2cSJim Jagielski public _XAccessibleText(XInterface object, XMultiServiceFactory xMSF, String editOnly) { 91*b1cdbd2cSJim Jagielski oObj = UnoRuntime.queryInterface(XAccessibleText.class, object); 92*b1cdbd2cSJim Jagielski this.xMSF = xMSF; 93*b1cdbd2cSJim Jagielski // this.log = log; 94*b1cdbd2cSJim Jagielski this.editOnly = editOnly; 95*b1cdbd2cSJim Jagielski } 96*b1cdbd2cSJim Jagielski 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski /** 99*b1cdbd2cSJim Jagielski * Calls the method and checks returned value. 100*b1cdbd2cSJim Jagielski * Has OK status if returned value is equal to <code>chCount - 1</code>. 101*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 102*b1cdbd2cSJim Jagielski * <ul> 103*b1cdbd2cSJim Jagielski * <li> <code>setCaretPosition()</code> </li> 104*b1cdbd2cSJim Jagielski * </ul> 105*b1cdbd2cSJim Jagielski * @return 106*b1cdbd2cSJim Jagielski */ _getCaretPosition()107*b1cdbd2cSJim Jagielski public boolean _getCaretPosition() { 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski if (editOnly != null) { 110*b1cdbd2cSJim Jagielski System.out.println(editOnly); 111*b1cdbd2cSJim Jagielski return true; 112*b1cdbd2cSJim Jagielski } 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski boolean res = true; 115*b1cdbd2cSJim Jagielski if ( chCount > 0 ) { 116*b1cdbd2cSJim Jagielski try { 117*b1cdbd2cSJim Jagielski oObj.setCaretPosition(chCount - 1); 118*b1cdbd2cSJim Jagielski } catch (com.sun.star.lang.IndexOutOfBoundsException ie) { 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski } 121*b1cdbd2cSJim Jagielski int carPos = oObj.getCaretPosition(); 122*b1cdbd2cSJim Jagielski System.out.println("getCaretPosition: " + carPos); 123*b1cdbd2cSJim Jagielski res = carPos == (chCount - 1); 124*b1cdbd2cSJim Jagielski } 125*b1cdbd2cSJim Jagielski return res; 126*b1cdbd2cSJim Jagielski } 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski /** 129*b1cdbd2cSJim Jagielski * Calls the method with the wrong index and with the correct index 130*b1cdbd2cSJim Jagielski * <code>chCount - 1</code>. 131*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for wrong index and 132*b1cdbd2cSJim Jagielski * if exception wasn't thrown for the correct index. 133*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 134*b1cdbd2cSJim Jagielski * <ul> 135*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 136*b1cdbd2cSJim Jagielski * </ul> 137*b1cdbd2cSJim Jagielski * @return 138*b1cdbd2cSJim Jagielski */ _setCaretPosition()139*b1cdbd2cSJim Jagielski public boolean _setCaretPosition() { 140*b1cdbd2cSJim Jagielski boolean res = true; 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski try { 143*b1cdbd2cSJim Jagielski System.out.println("setCaretPosition(-1):"); 144*b1cdbd2cSJim Jagielski oObj.setCaretPosition(-1); 145*b1cdbd2cSJim Jagielski res &= false; 146*b1cdbd2cSJim Jagielski System.out.println("exception was expected"); 147*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 148*b1cdbd2cSJim Jagielski System.out.println("expected exception"); 149*b1cdbd2cSJim Jagielski res &= true; 150*b1cdbd2cSJim Jagielski } 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski try { 153*b1cdbd2cSJim Jagielski System.out.println("setCaretPosition(chCount+1):"); 154*b1cdbd2cSJim Jagielski oObj.setCaretPosition(chCount+1); 155*b1cdbd2cSJim Jagielski res &= false; 156*b1cdbd2cSJim Jagielski System.out.println("exception was expected"); 157*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 158*b1cdbd2cSJim Jagielski System.out.println("expected exception"); 159*b1cdbd2cSJim Jagielski res &= true; 160*b1cdbd2cSJim Jagielski } 161*b1cdbd2cSJim Jagielski if ( chCount > 0 ) { 162*b1cdbd2cSJim Jagielski try { 163*b1cdbd2cSJim Jagielski System.out.println("setCaretPosition(chCount - 1)"); 164*b1cdbd2cSJim Jagielski oObj.setCaretPosition(chCount - 1); 165*b1cdbd2cSJim Jagielski res &= true; 166*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 167*b1cdbd2cSJim Jagielski System.out.println("unexpected exception"); 168*b1cdbd2cSJim Jagielski e.printStackTrace(); 169*b1cdbd2cSJim Jagielski res &= false; 170*b1cdbd2cSJim Jagielski } 171*b1cdbd2cSJim Jagielski } 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski return res; 174*b1cdbd2cSJim Jagielski } 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski /** 177*b1cdbd2cSJim Jagielski * Calls the method with the wrong index and with the correct indexes. 178*b1cdbd2cSJim Jagielski * Checks every character in the text. 179*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for wrong index, 180*b1cdbd2cSJim Jagielski * if exception wasn't thrown for the correct index and 181*b1cdbd2cSJim Jagielski * if every character is equal to corresponding character in the text. 182*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 183*b1cdbd2cSJim Jagielski * <ul> 184*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 185*b1cdbd2cSJim Jagielski * </ul> 186*b1cdbd2cSJim Jagielski * @return 187*b1cdbd2cSJim Jagielski */ _getCharacter()188*b1cdbd2cSJim Jagielski public boolean _getCharacter() { 189*b1cdbd2cSJim Jagielski boolean res = true; 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim Jagielski try { 192*b1cdbd2cSJim Jagielski System.out.println("getCharacter(-1)"); 193*b1cdbd2cSJim Jagielski oObj.getCharacter(-1); 194*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 195*b1cdbd2cSJim Jagielski res = false; 196*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 197*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 198*b1cdbd2cSJim Jagielski res = true; 199*b1cdbd2cSJim Jagielski } 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski try { 202*b1cdbd2cSJim Jagielski System.out.println("getCharacter(chCount)"); 203*b1cdbd2cSJim Jagielski oObj.getCharacter(chCount); 204*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 205*b1cdbd2cSJim Jagielski res &= false; 206*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 207*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 208*b1cdbd2cSJim Jagielski res &= true; 209*b1cdbd2cSJim Jagielski } 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski try { 212*b1cdbd2cSJim Jagielski System.out.println("Checking of every character in the text..."); 213*b1cdbd2cSJim Jagielski boolean isEqCh = true; 214*b1cdbd2cSJim Jagielski for(int i = 0; i < chCount; i++) { 215*b1cdbd2cSJim Jagielski char ch = oObj.getCharacter(i); 216*b1cdbd2cSJim Jagielski isEqCh = ch == text.charAt(i); 217*b1cdbd2cSJim Jagielski res &= isEqCh; 218*b1cdbd2cSJim Jagielski if (!isEqCh) { 219*b1cdbd2cSJim Jagielski System.out.println("At the position " + i + 220*b1cdbd2cSJim Jagielski "was expected character: " + text.charAt(i)); 221*b1cdbd2cSJim Jagielski System.out.println("but was returned: " + ch); 222*b1cdbd2cSJim Jagielski break; 223*b1cdbd2cSJim Jagielski } 224*b1cdbd2cSJim Jagielski } 225*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 226*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 227*b1cdbd2cSJim Jagielski e.printStackTrace(); 228*b1cdbd2cSJim Jagielski res &= false; 229*b1cdbd2cSJim Jagielski } 230*b1cdbd2cSJim Jagielski 231*b1cdbd2cSJim Jagielski return res; 232*b1cdbd2cSJim Jagielski } 233*b1cdbd2cSJim Jagielski 234*b1cdbd2cSJim Jagielski /** 235*b1cdbd2cSJim Jagielski * Calls the method with the wrong indexes and with the correct index, 236*b1cdbd2cSJim Jagielski * checks a returned value. 237*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for the wrong indexes, 238*b1cdbd2cSJim Jagielski * if exception wasn't thrown for the correct index and 239*b1cdbd2cSJim Jagielski * if returned value isn't <code>null</code>. 240*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 241*b1cdbd2cSJim Jagielski * <ul> 242*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 243*b1cdbd2cSJim Jagielski * </ul> 244*b1cdbd2cSJim Jagielski * @return 245*b1cdbd2cSJim Jagielski */ _getCharacterAttributes()246*b1cdbd2cSJim Jagielski public boolean _getCharacterAttributes() { 247*b1cdbd2cSJim Jagielski boolean res = true; 248*b1cdbd2cSJim Jagielski 249*b1cdbd2cSJim Jagielski try { 250*b1cdbd2cSJim Jagielski System.out.println("getCharacterAttributes(-1)"); 251*b1cdbd2cSJim Jagielski oObj.getCharacterAttributes(-1, new String[0]); 252*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 253*b1cdbd2cSJim Jagielski res &= false; 254*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 255*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 256*b1cdbd2cSJim Jagielski res &= true; 257*b1cdbd2cSJim Jagielski } 258*b1cdbd2cSJim Jagielski 259*b1cdbd2cSJim Jagielski try { 260*b1cdbd2cSJim Jagielski System.out.println("getCharacterAttributes(chCount)"); 261*b1cdbd2cSJim Jagielski oObj.getCharacterAttributes(chCount, new String[0]); 262*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 263*b1cdbd2cSJim Jagielski res &= false; 264*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 265*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 266*b1cdbd2cSJim Jagielski res &= true; 267*b1cdbd2cSJim Jagielski } 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski try { 270*b1cdbd2cSJim Jagielski if ( chCount > 0 ) { 271*b1cdbd2cSJim Jagielski System.out.println("getCharacterAttributes(chCount-1)"); 272*b1cdbd2cSJim Jagielski PropertyValue[] props = oObj.getCharacterAttributes(chCount - 1, new String[0]); 273*b1cdbd2cSJim Jagielski res &= props != null; 274*b1cdbd2cSJim Jagielski } 275*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 276*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 277*b1cdbd2cSJim Jagielski e.printStackTrace(); 278*b1cdbd2cSJim Jagielski res &= false; 279*b1cdbd2cSJim Jagielski } 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski return res; 282*b1cdbd2cSJim Jagielski } 283*b1cdbd2cSJim Jagielski 284*b1cdbd2cSJim Jagielski 285*b1cdbd2cSJim Jagielski /** 286*b1cdbd2cSJim Jagielski * Calls the method with the wrong indexes and with the correct index. 287*b1cdbd2cSJim Jagielski * checks and stores a returned value. 288*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for the wrong indexes, 289*b1cdbd2cSJim Jagielski * if exception wasn't thrown for the correct index and 290*b1cdbd2cSJim Jagielski * if returned value isn't <code>null</code>. 291*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 292*b1cdbd2cSJim Jagielski * <ul> 293*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 294*b1cdbd2cSJim Jagielski * </ul> 295*b1cdbd2cSJim Jagielski * @return 296*b1cdbd2cSJim Jagielski */ _getCharacterBounds()297*b1cdbd2cSJim Jagielski public boolean _getCharacterBounds() { 298*b1cdbd2cSJim Jagielski boolean res = true; 299*b1cdbd2cSJim Jagielski 300*b1cdbd2cSJim Jagielski try { 301*b1cdbd2cSJim Jagielski System.out.println("getCharacterBounds(-1)"); 302*b1cdbd2cSJim Jagielski oObj.getCharacterBounds(-1); 303*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 304*b1cdbd2cSJim Jagielski res &= false; 305*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 306*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 307*b1cdbd2cSJim Jagielski res &= true; 308*b1cdbd2cSJim Jagielski } 309*b1cdbd2cSJim Jagielski 310*b1cdbd2cSJim Jagielski try { 311*b1cdbd2cSJim Jagielski System.out.println("getCharacterBounds(chCount)"); 312*b1cdbd2cSJim Jagielski oObj.getCharacterBounds(chCount); 313*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 314*b1cdbd2cSJim Jagielski res &= false; 315*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 316*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 317*b1cdbd2cSJim Jagielski res &= true; 318*b1cdbd2cSJim Jagielski } 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielski try { 321*b1cdbd2cSJim Jagielski if (chCount > 0) { 322*b1cdbd2cSJim Jagielski System.out.println("getCharacterBounds(chCount-1)"); 323*b1cdbd2cSJim Jagielski chBounds = oObj.getCharacterBounds(chCount-1); 324*b1cdbd2cSJim Jagielski res &= chBounds != null; 325*b1cdbd2cSJim Jagielski System.out.println("rect: " + chBounds.X + ", " + chBounds.Y + ", " + 326*b1cdbd2cSJim Jagielski chBounds.Width + ", " + chBounds.Height); 327*b1cdbd2cSJim Jagielski } 328*b1cdbd2cSJim Jagielski 329*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 330*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 331*b1cdbd2cSJim Jagielski e.printStackTrace(); 332*b1cdbd2cSJim Jagielski res &= false; 333*b1cdbd2cSJim Jagielski } 334*b1cdbd2cSJim Jagielski 335*b1cdbd2cSJim Jagielski return res; 336*b1cdbd2cSJim Jagielski } 337*b1cdbd2cSJim Jagielski 338*b1cdbd2cSJim Jagielski 339*b1cdbd2cSJim Jagielski /** 340*b1cdbd2cSJim Jagielski * Calls the method and stores a returned value to the variable 341*b1cdbd2cSJim Jagielski * <code>chCount</code>. 342*b1cdbd2cSJim Jagielski * Has OK status if a returned value is equal to the text length. 343*b1cdbd2cSJim Jagielski * @return 344*b1cdbd2cSJim Jagielski */ _getCharacterCount()345*b1cdbd2cSJim Jagielski public boolean _getCharacterCount() { 346*b1cdbd2cSJim Jagielski chCount = oObj.getCharacterCount(); 347*b1cdbd2cSJim Jagielski System.out.println("Character count:" + chCount); 348*b1cdbd2cSJim Jagielski boolean res = chCount == text.length(); 349*b1cdbd2cSJim Jagielski return res; 350*b1cdbd2cSJim Jagielski } 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim Jagielski /** 353*b1cdbd2cSJim Jagielski * Calls the method for an invalid point and for the point of rectangle 354*b1cdbd2cSJim Jagielski * returned by the method <code>getCharacterBounds()</code>. 355*b1cdbd2cSJim Jagielski * Has OK status if returned value is equal to <code>-1</code> for an 356*b1cdbd2cSJim Jagielski * invalid point and if returned value is equal to <code>chCount-1</code> 357*b1cdbd2cSJim Jagielski * for a valid point. 358*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 359*b1cdbd2cSJim Jagielski * <ul> 360*b1cdbd2cSJim Jagielski * <li> <code>getCharacterBounds()</code> </li> 361*b1cdbd2cSJim Jagielski * </ul> 362*b1cdbd2cSJim Jagielski * @return 363*b1cdbd2cSJim Jagielski */ _getIndexAtPoint()364*b1cdbd2cSJim Jagielski public boolean _getIndexAtPoint() { 365*b1cdbd2cSJim Jagielski 366*b1cdbd2cSJim Jagielski boolean res = true; 367*b1cdbd2cSJim Jagielski System.out.println("getIndexAtPoint(-1, -1):"); 368*b1cdbd2cSJim Jagielski Point pt = new Point(-1, -1); 369*b1cdbd2cSJim Jagielski int index = oObj.getIndexAtPoint(pt); 370*b1cdbd2cSJim Jagielski System.out.println(Integer.toString(index)); 371*b1cdbd2cSJim Jagielski res &= index == -1; 372*b1cdbd2cSJim Jagielski 373*b1cdbd2cSJim Jagielski if (chBounds != null) { 374*b1cdbd2cSJim Jagielski pt = new Point(chBounds.X , chBounds.Y ); 375*b1cdbd2cSJim Jagielski System.out.println("getIndexAtPoint(" + pt.X + ", " + pt.Y + "):"); 376*b1cdbd2cSJim Jagielski index = oObj.getIndexAtPoint(pt); 377*b1cdbd2cSJim Jagielski System.out.println(Integer.toString(index)); 378*b1cdbd2cSJim Jagielski res &= index == (chCount - 1); 379*b1cdbd2cSJim Jagielski } 380*b1cdbd2cSJim Jagielski 381*b1cdbd2cSJim Jagielski return res; 382*b1cdbd2cSJim Jagielski } 383*b1cdbd2cSJim Jagielski 384*b1cdbd2cSJim Jagielski /** 385*b1cdbd2cSJim Jagielski * Checks a returned values after different calls of the method 386*b1cdbd2cSJim Jagielski * <code>setSelection()</code>. 387*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 388*b1cdbd2cSJim Jagielski * <ul> 389*b1cdbd2cSJim Jagielski * <li> <code>setSelection()</code> </li> 390*b1cdbd2cSJim Jagielski * </ul> 391*b1cdbd2cSJim Jagielski * @return 392*b1cdbd2cSJim Jagielski */ _getSelectedText()393*b1cdbd2cSJim Jagielski public boolean _getSelectedText() { 394*b1cdbd2cSJim Jagielski if (editOnly != null) { 395*b1cdbd2cSJim Jagielski System.out.println(editOnly); 396*b1cdbd2cSJim Jagielski return true; 397*b1cdbd2cSJim Jagielski } 398*b1cdbd2cSJim Jagielski 399*b1cdbd2cSJim Jagielski boolean res = true; 400*b1cdbd2cSJim Jagielski 401*b1cdbd2cSJim Jagielski try { 402*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, 0)"); 403*b1cdbd2cSJim Jagielski oObj.setSelection(0, 0); 404*b1cdbd2cSJim Jagielski System.out.println("getSelectedText():"); 405*b1cdbd2cSJim Jagielski String txt = oObj.getSelectedText(); 406*b1cdbd2cSJim Jagielski System.out.println("'" + txt + "'"); 407*b1cdbd2cSJim Jagielski res &= txt.length() == 0; 408*b1cdbd2cSJim Jagielski 409*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, chCount)"); 410*b1cdbd2cSJim Jagielski oObj.setSelection(0, chCount); 411*b1cdbd2cSJim Jagielski System.out.println("getSelectedText():"); 412*b1cdbd2cSJim Jagielski txt = oObj.getSelectedText(); 413*b1cdbd2cSJim Jagielski System.out.println("'" + txt + "'"); 414*b1cdbd2cSJim Jagielski res &= txt.equals(text); 415*b1cdbd2cSJim Jagielski 416*b1cdbd2cSJim Jagielski if (chCount > 2) { 417*b1cdbd2cSJim Jagielski System.out.println("setSelection(1, chCount-1)"); 418*b1cdbd2cSJim Jagielski oObj.setSelection(1, chCount - 1); 419*b1cdbd2cSJim Jagielski System.out.println("getSelectedText():"); 420*b1cdbd2cSJim Jagielski txt = oObj.getSelectedText(); 421*b1cdbd2cSJim Jagielski System.out.println("'" + txt + "'"); 422*b1cdbd2cSJim Jagielski res &= txt.equals(text.substring(1, chCount - 1)); 423*b1cdbd2cSJim Jagielski } 424*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 425*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 426*b1cdbd2cSJim Jagielski e.printStackTrace(); 427*b1cdbd2cSJim Jagielski res &= false; 428*b1cdbd2cSJim Jagielski } 429*b1cdbd2cSJim Jagielski 430*b1cdbd2cSJim Jagielski return res; 431*b1cdbd2cSJim Jagielski } 432*b1cdbd2cSJim Jagielski 433*b1cdbd2cSJim Jagielski /** 434*b1cdbd2cSJim Jagielski * Checks a returned values after different calls of the method 435*b1cdbd2cSJim Jagielski * <code>setSelection()</code>. 436*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 437*b1cdbd2cSJim Jagielski * <ul> 438*b1cdbd2cSJim Jagielski * <li> <code>setSelection()</code> </li> 439*b1cdbd2cSJim Jagielski * </ul> 440*b1cdbd2cSJim Jagielski * @return 441*b1cdbd2cSJim Jagielski */ _getSelectionStart()442*b1cdbd2cSJim Jagielski public boolean _getSelectionStart() { 443*b1cdbd2cSJim Jagielski if (editOnly != null) { 444*b1cdbd2cSJim Jagielski System.out.println(editOnly); 445*b1cdbd2cSJim Jagielski return true; 446*b1cdbd2cSJim Jagielski } 447*b1cdbd2cSJim Jagielski 448*b1cdbd2cSJim Jagielski boolean res = true; 449*b1cdbd2cSJim Jagielski 450*b1cdbd2cSJim Jagielski try { 451*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, chCount)"); 452*b1cdbd2cSJim Jagielski oObj.setSelection(0, chCount); 453*b1cdbd2cSJim Jagielski int start = oObj.getSelectionStart(); 454*b1cdbd2cSJim Jagielski System.out.println("getSelectionStart():" + start); 455*b1cdbd2cSJim Jagielski res &= start == 0; 456*b1cdbd2cSJim Jagielski 457*b1cdbd2cSJim Jagielski if (chCount > 2) { 458*b1cdbd2cSJim Jagielski System.out.println("setSelection(1, chCount-1)"); 459*b1cdbd2cSJim Jagielski oObj.setSelection(1, chCount - 1); 460*b1cdbd2cSJim Jagielski start = oObj.getSelectionStart(); 461*b1cdbd2cSJim Jagielski System.out.println("getSelectionStart():" + start); 462*b1cdbd2cSJim Jagielski res &= start == 1; 463*b1cdbd2cSJim Jagielski } 464*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 465*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 466*b1cdbd2cSJim Jagielski e.printStackTrace(); 467*b1cdbd2cSJim Jagielski res &= false; 468*b1cdbd2cSJim Jagielski } 469*b1cdbd2cSJim Jagielski 470*b1cdbd2cSJim Jagielski return res; 471*b1cdbd2cSJim Jagielski } 472*b1cdbd2cSJim Jagielski 473*b1cdbd2cSJim Jagielski /** 474*b1cdbd2cSJim Jagielski * Checks a returned values after different calls of the method 475*b1cdbd2cSJim Jagielski * <code>setSelection()</code>. 476*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 477*b1cdbd2cSJim Jagielski * <ul> 478*b1cdbd2cSJim Jagielski * <li> <code>setSelection()</code> </li> 479*b1cdbd2cSJim Jagielski * </ul> 480*b1cdbd2cSJim Jagielski * @return 481*b1cdbd2cSJim Jagielski */ _getSelectionEnd()482*b1cdbd2cSJim Jagielski public boolean _getSelectionEnd() { 483*b1cdbd2cSJim Jagielski if (editOnly != null) { 484*b1cdbd2cSJim Jagielski System.out.println(editOnly); 485*b1cdbd2cSJim Jagielski return true; 486*b1cdbd2cSJim Jagielski } 487*b1cdbd2cSJim Jagielski 488*b1cdbd2cSJim Jagielski boolean res = true; 489*b1cdbd2cSJim Jagielski 490*b1cdbd2cSJim Jagielski try { 491*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, chCount)"); 492*b1cdbd2cSJim Jagielski oObj.setSelection(0, chCount); 493*b1cdbd2cSJim Jagielski int end = oObj.getSelectionEnd(); 494*b1cdbd2cSJim Jagielski System.out.println("getSelectionEnd():" + end); 495*b1cdbd2cSJim Jagielski res &= end == chCount; 496*b1cdbd2cSJim Jagielski 497*b1cdbd2cSJim Jagielski if (chCount > 2) { 498*b1cdbd2cSJim Jagielski System.out.println("setSelection(1, chCount-1)"); 499*b1cdbd2cSJim Jagielski oObj.setSelection(1, chCount - 1); 500*b1cdbd2cSJim Jagielski end = oObj.getSelectionEnd(); 501*b1cdbd2cSJim Jagielski System.out.println("getSelectionEnd():" + end); 502*b1cdbd2cSJim Jagielski res &= end == chCount - 1; 503*b1cdbd2cSJim Jagielski } 504*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 505*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 506*b1cdbd2cSJim Jagielski e.printStackTrace(); 507*b1cdbd2cSJim Jagielski res &= false; 508*b1cdbd2cSJim Jagielski } 509*b1cdbd2cSJim Jagielski 510*b1cdbd2cSJim Jagielski return res; 511*b1cdbd2cSJim Jagielski } 512*b1cdbd2cSJim Jagielski 513*b1cdbd2cSJim Jagielski /** 514*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameters. 515*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 516*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameters. 517*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 518*b1cdbd2cSJim Jagielski * <ul> 519*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 520*b1cdbd2cSJim Jagielski * </ul> 521*b1cdbd2cSJim Jagielski * @return 522*b1cdbd2cSJim Jagielski */ _setSelection()523*b1cdbd2cSJim Jagielski public boolean _setSelection() { 524*b1cdbd2cSJim Jagielski boolean res = true; 525*b1cdbd2cSJim Jagielski boolean locRes = true; 526*b1cdbd2cSJim Jagielski 527*b1cdbd2cSJim Jagielski if (editOnly != null) { 528*b1cdbd2cSJim Jagielski System.out.println(editOnly); 529*b1cdbd2cSJim Jagielski return true; 530*b1cdbd2cSJim Jagielski } 531*b1cdbd2cSJim Jagielski 532*b1cdbd2cSJim Jagielski try { 533*b1cdbd2cSJim Jagielski System.out.println("setSelection(-1, chCount-1):"); 534*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(-1, chCount - 1); 535*b1cdbd2cSJim Jagielski System.out.println(locRes + " exception was expected"); 536*b1cdbd2cSJim Jagielski res &= !locRes; 537*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 538*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 539*b1cdbd2cSJim Jagielski res &= true; 540*b1cdbd2cSJim Jagielski } 541*b1cdbd2cSJim Jagielski 542*b1cdbd2cSJim Jagielski try { 543*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, chCount+1):"); 544*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(0, chCount + 1); 545*b1cdbd2cSJim Jagielski System.out.println(locRes + " excepion was expected"); 546*b1cdbd2cSJim Jagielski res &= !locRes; 547*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 548*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 549*b1cdbd2cSJim Jagielski res &= true; 550*b1cdbd2cSJim Jagielski } 551*b1cdbd2cSJim Jagielski 552*b1cdbd2cSJim Jagielski try { 553*b1cdbd2cSJim Jagielski if (chCount > 2) { 554*b1cdbd2cSJim Jagielski System.out.println("setSelection(1, chCount-1):"); 555*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(1, chCount - 1); 556*b1cdbd2cSJim Jagielski System.out.println(Boolean.toString(locRes)); 557*b1cdbd2cSJim Jagielski res &= locRes; 558*b1cdbd2cSJim Jagielski 559*b1cdbd2cSJim Jagielski System.out.println("setSelection(chCount-1, 1):"); 560*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(chCount - 1, 1); 561*b1cdbd2cSJim Jagielski System.out.println(Boolean.toString(locRes)); 562*b1cdbd2cSJim Jagielski res &= locRes; 563*b1cdbd2cSJim Jagielski } 564*b1cdbd2cSJim Jagielski 565*b1cdbd2cSJim Jagielski if (chCount > 1) { 566*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, chCount-1):"); 567*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(0, chCount-1); 568*b1cdbd2cSJim Jagielski System.out.println(Boolean.toString(locRes)); 569*b1cdbd2cSJim Jagielski res &= locRes; 570*b1cdbd2cSJim Jagielski 571*b1cdbd2cSJim Jagielski System.out.println("setSelection(chCount-1, 0):"); 572*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(chCount-1, 0); 573*b1cdbd2cSJim Jagielski System.out.println(Boolean.toString(locRes)); 574*b1cdbd2cSJim Jagielski res &= locRes; 575*b1cdbd2cSJim Jagielski } 576*b1cdbd2cSJim Jagielski 577*b1cdbd2cSJim Jagielski System.out.println("setSelection(0, 0):"); 578*b1cdbd2cSJim Jagielski locRes = oObj.setSelection(0, 0); 579*b1cdbd2cSJim Jagielski System.out.println(Boolean.toString(locRes)); 580*b1cdbd2cSJim Jagielski res &= locRes; 581*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 582*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 583*b1cdbd2cSJim Jagielski e.printStackTrace(); 584*b1cdbd2cSJim Jagielski res &= false; 585*b1cdbd2cSJim Jagielski } 586*b1cdbd2cSJim Jagielski 587*b1cdbd2cSJim Jagielski return res; 588*b1cdbd2cSJim Jagielski } 589*b1cdbd2cSJim Jagielski 590*b1cdbd2cSJim Jagielski /** 591*b1cdbd2cSJim Jagielski * Calls the method and checks returned value. 592*b1cdbd2cSJim Jagielski * Has OK status if returned string is not null 593*b1cdbd2cSJim Jagielski * received from relation. 594*b1cdbd2cSJim Jagielski * @return 595*b1cdbd2cSJim Jagielski */ _getText()596*b1cdbd2cSJim Jagielski public boolean _getText() { 597*b1cdbd2cSJim Jagielski text = oObj.getText(); 598*b1cdbd2cSJim Jagielski System.out.println("getText: '" + text + "'"); 599*b1cdbd2cSJim Jagielski return (text != null); 600*b1cdbd2cSJim Jagielski } 601*b1cdbd2cSJim Jagielski 602*b1cdbd2cSJim Jagielski /** 603*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameters, 604*b1cdbd2cSJim Jagielski * checks returned values. 605*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 606*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameters and if returned values 607*b1cdbd2cSJim Jagielski * are equal to corresponding substrings of the text received by relation. 608*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 609*b1cdbd2cSJim Jagielski * <ul> 610*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 611*b1cdbd2cSJim Jagielski * </ul> 612*b1cdbd2cSJim Jagielski * @return 613*b1cdbd2cSJim Jagielski */ _getTextRange()614*b1cdbd2cSJim Jagielski public boolean _getTextRange() { 615*b1cdbd2cSJim Jagielski boolean res = true; 616*b1cdbd2cSJim Jagielski boolean locRes = true; 617*b1cdbd2cSJim Jagielski 618*b1cdbd2cSJim Jagielski try { 619*b1cdbd2cSJim Jagielski if (chCount > 3) { 620*b1cdbd2cSJim Jagielski System.out.println("getTextRange(1, chCount - 2): "); 621*b1cdbd2cSJim Jagielski String txtRange = oObj.getTextRange(1, chCount - 2); 622*b1cdbd2cSJim Jagielski System.out.println(txtRange); 623*b1cdbd2cSJim Jagielski locRes = txtRange.equals(text.substring(1, chCount - 2)); 624*b1cdbd2cSJim Jagielski res &= locRes; 625*b1cdbd2cSJim Jagielski if (!locRes) { 626*b1cdbd2cSJim Jagielski System.out.println("Was expected: " + 627*b1cdbd2cSJim Jagielski text.substring(1, chCount - 2)); 628*b1cdbd2cSJim Jagielski } 629*b1cdbd2cSJim Jagielski } 630*b1cdbd2cSJim Jagielski 631*b1cdbd2cSJim Jagielski if (chCount > 0) { 632*b1cdbd2cSJim Jagielski System.out.println("getTextRange(0, chCount-1): "); 633*b1cdbd2cSJim Jagielski String txtRange = oObj.getTextRange(0, chCount-1); 634*b1cdbd2cSJim Jagielski System.out.println(txtRange); 635*b1cdbd2cSJim Jagielski locRes = txtRange.equals(text.substring(0, chCount - 1)); 636*b1cdbd2cSJim Jagielski res &= locRes; 637*b1cdbd2cSJim Jagielski if (!locRes) { 638*b1cdbd2cSJim Jagielski System.out.println("Was expected: " + 639*b1cdbd2cSJim Jagielski text.substring(0, chCount - 1)); 640*b1cdbd2cSJim Jagielski } 641*b1cdbd2cSJim Jagielski 642*b1cdbd2cSJim Jagielski System.out.println("getTextRange(chCount, 0): "); 643*b1cdbd2cSJim Jagielski txtRange = oObj.getTextRange(chCount, 0); 644*b1cdbd2cSJim Jagielski System.out.println(txtRange); 645*b1cdbd2cSJim Jagielski res &= txtRange.equals(text); 646*b1cdbd2cSJim Jagielski 647*b1cdbd2cSJim Jagielski System.out.println("getTextRange(0, 0): "); 648*b1cdbd2cSJim Jagielski txtRange = oObj.getTextRange(0, 0); 649*b1cdbd2cSJim Jagielski System.out.println(txtRange); 650*b1cdbd2cSJim Jagielski locRes = txtRange.equals(""); 651*b1cdbd2cSJim Jagielski res &= locRes; 652*b1cdbd2cSJim Jagielski if (!locRes) { 653*b1cdbd2cSJim Jagielski System.out.println("Empty string was expected"); 654*b1cdbd2cSJim Jagielski } 655*b1cdbd2cSJim Jagielski } 656*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 657*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 658*b1cdbd2cSJim Jagielski e.printStackTrace(); 659*b1cdbd2cSJim Jagielski res &= false; 660*b1cdbd2cSJim Jagielski } 661*b1cdbd2cSJim Jagielski 662*b1cdbd2cSJim Jagielski try { 663*b1cdbd2cSJim Jagielski System.out.println("getTextRange(-1, chCount - 1): "); 664*b1cdbd2cSJim Jagielski String txtRange = oObj.getTextRange(-1, chCount - 1); 665*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 666*b1cdbd2cSJim Jagielski res &= false; 667*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 668*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 669*b1cdbd2cSJim Jagielski res &= true; 670*b1cdbd2cSJim Jagielski } 671*b1cdbd2cSJim Jagielski 672*b1cdbd2cSJim Jagielski try { 673*b1cdbd2cSJim Jagielski System.out.println("getTextRange(0, chCount + 1): "); 674*b1cdbd2cSJim Jagielski String txtRange = oObj.getTextRange(0, chCount + 1); 675*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 676*b1cdbd2cSJim Jagielski res &= false; 677*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 678*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 679*b1cdbd2cSJim Jagielski res &= true; 680*b1cdbd2cSJim Jagielski } 681*b1cdbd2cSJim Jagielski 682*b1cdbd2cSJim Jagielski try { 683*b1cdbd2cSJim Jagielski System.out.println("getTextRange(chCount+1, -1): "); 684*b1cdbd2cSJim Jagielski String txtRange = oObj.getTextRange(chCount+1, -1); 685*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 686*b1cdbd2cSJim Jagielski res &= false; 687*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 688*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 689*b1cdbd2cSJim Jagielski res &= true; 690*b1cdbd2cSJim Jagielski } 691*b1cdbd2cSJim Jagielski 692*b1cdbd2cSJim Jagielski return res; 693*b1cdbd2cSJim Jagielski } 694*b1cdbd2cSJim Jagielski 695*b1cdbd2cSJim Jagielski /** 696*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameters, 697*b1cdbd2cSJim Jagielski * checks returned values. 698*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 699*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameters and if returned values 700*b1cdbd2cSJim Jagielski * are equal to corresponding substrings of the text received by relation. 701*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 702*b1cdbd2cSJim Jagielski * <ul> 703*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 704*b1cdbd2cSJim Jagielski * </ul> 705*b1cdbd2cSJim Jagielski * @return 706*b1cdbd2cSJim Jagielski */ _getTextAtIndex()707*b1cdbd2cSJim Jagielski public boolean _getTextAtIndex() { 708*b1cdbd2cSJim Jagielski boolean res = true; 709*b1cdbd2cSJim Jagielski 710*b1cdbd2cSJim Jagielski try { 711*b1cdbd2cSJim Jagielski System.out.println("getTextAtIndex(-1, AccessibleTextType.PARAGRAPH):"); 712*b1cdbd2cSJim Jagielski TextSegment txt = 713*b1cdbd2cSJim Jagielski oObj.getTextAtIndex(-1, AccessibleTextType.PARAGRAPH); 714*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 715*b1cdbd2cSJim Jagielski res &= false; 716*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 717*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 718*b1cdbd2cSJim Jagielski res &= true; 719*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 720*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 721*b1cdbd2cSJim Jagielski res &= true; 722*b1cdbd2cSJim Jagielski } 723*b1cdbd2cSJim Jagielski 724*b1cdbd2cSJim Jagielski try { 725*b1cdbd2cSJim Jagielski System.out.println("getTextAtIndex(chCount+1," + 726*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 727*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextAtIndex(chCount + 1, 728*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 729*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 730*b1cdbd2cSJim Jagielski res &= false; 731*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 732*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 733*b1cdbd2cSJim Jagielski res &= true; 734*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 735*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 736*b1cdbd2cSJim Jagielski res &= true; 737*b1cdbd2cSJim Jagielski } 738*b1cdbd2cSJim Jagielski 739*b1cdbd2cSJim Jagielski 740*b1cdbd2cSJim Jagielski try { 741*b1cdbd2cSJim Jagielski if ( chCount > 0 ) { 742*b1cdbd2cSJim Jagielski System.out.println("getTextAtIndex(chCount," + 743*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 744*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextAtIndex(chCount, 745*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 746*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 747*b1cdbd2cSJim Jagielski res &= txt.SegmentText.length() == 0; 748*b1cdbd2cSJim Jagielski 749*b1cdbd2cSJim Jagielski System.out.println("getTextAtIndex(1," + 750*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 751*b1cdbd2cSJim Jagielski txt = oObj.getTextAtIndex(1, 752*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 753*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 754*b1cdbd2cSJim Jagielski res &= txt.SegmentText.equals(text); 755*b1cdbd2cSJim Jagielski } 756*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 757*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 758*b1cdbd2cSJim Jagielski e.printStackTrace(); 759*b1cdbd2cSJim Jagielski res &= false; 760*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 761*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 762*b1cdbd2cSJim Jagielski res &= false; 763*b1cdbd2cSJim Jagielski } 764*b1cdbd2cSJim Jagielski 765*b1cdbd2cSJim Jagielski 766*b1cdbd2cSJim Jagielski return res; 767*b1cdbd2cSJim Jagielski } 768*b1cdbd2cSJim Jagielski 769*b1cdbd2cSJim Jagielski /** 770*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameters, 771*b1cdbd2cSJim Jagielski * checks returned values. 772*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 773*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameters and if returned values 774*b1cdbd2cSJim Jagielski * are equal to corresponding substrings of the text received by relation. 775*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 776*b1cdbd2cSJim Jagielski * <ul> 777*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 778*b1cdbd2cSJim Jagielski * </ul> 779*b1cdbd2cSJim Jagielski * @return 780*b1cdbd2cSJim Jagielski */ _getTextBeforeIndex()781*b1cdbd2cSJim Jagielski public boolean _getTextBeforeIndex() { 782*b1cdbd2cSJim Jagielski boolean res = true; 783*b1cdbd2cSJim Jagielski 784*b1cdbd2cSJim Jagielski try { 785*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(-1, AccessibleTextType.PARAGRAPH):"); 786*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBeforeIndex(-1, 787*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 788*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 789*b1cdbd2cSJim Jagielski res &= false; 790*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 791*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 792*b1cdbd2cSJim Jagielski res &= true; 793*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 794*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 795*b1cdbd2cSJim Jagielski res &= true; 796*b1cdbd2cSJim Jagielski } 797*b1cdbd2cSJim Jagielski 798*b1cdbd2cSJim Jagielski 799*b1cdbd2cSJim Jagielski try { 800*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(chCount+1, " + 801*b1cdbd2cSJim Jagielski "AccessibleTextType.PARAGRAPH):"); 802*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBeforeIndex(chCount + 1, 803*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 804*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 805*b1cdbd2cSJim Jagielski res &= false; 806*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 807*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 808*b1cdbd2cSJim Jagielski res &= true; 809*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 810*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 811*b1cdbd2cSJim Jagielski res &= true; 812*b1cdbd2cSJim Jagielski } 813*b1cdbd2cSJim Jagielski 814*b1cdbd2cSJim Jagielski TextSegment txt = null; 815*b1cdbd2cSJim Jagielski try { 816*b1cdbd2cSJim Jagielski if (chCount > 0) { 817*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(chCount," + 818*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 819*b1cdbd2cSJim Jagielski txt = oObj.getTextBeforeIndex(chCount, 820*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 821*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 822*b1cdbd2cSJim Jagielski res &= txt.SegmentText.length() == chCount ; 823*b1cdbd2cSJim Jagielski 824*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(1," + 825*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 826*b1cdbd2cSJim Jagielski txt = oObj.getTextBeforeIndex(1, 827*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 828*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 829*b1cdbd2cSJim Jagielski res &= txt.SegmentText.length() == 0; 830*b1cdbd2cSJim Jagielski } 831*b1cdbd2cSJim Jagielski 832*b1cdbd2cSJim Jagielski if (chCount > 2) { 833*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(chCount-1," + 834*b1cdbd2cSJim Jagielski " AccessibleTextType.CHARACTER):"); 835*b1cdbd2cSJim Jagielski txt = oObj.getTextBeforeIndex(chCount - 1, 836*b1cdbd2cSJim Jagielski AccessibleTextType.CHARACTER); 837*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 838*b1cdbd2cSJim Jagielski res &= txt.SegmentText.equals(text.substring(chCount - 2, chCount - 1)); 839*b1cdbd2cSJim Jagielski System.out.println("getTextBeforeIndex(2," + 840*b1cdbd2cSJim Jagielski " AccessibleTextType.CHARACTER):"); 841*b1cdbd2cSJim Jagielski txt = oObj.getTextBeforeIndex(2, 842*b1cdbd2cSJim Jagielski AccessibleTextType.CHARACTER); 843*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 844*b1cdbd2cSJim Jagielski res &= txt.SegmentText.equals(text.substring(1, 2)); 845*b1cdbd2cSJim Jagielski } 846*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 847*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 848*b1cdbd2cSJim Jagielski e.printStackTrace(); 849*b1cdbd2cSJim Jagielski res &= false; 850*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 851*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 852*b1cdbd2cSJim Jagielski res &= false; 853*b1cdbd2cSJim Jagielski } 854*b1cdbd2cSJim Jagielski 855*b1cdbd2cSJim Jagielski 856*b1cdbd2cSJim Jagielski return res; 857*b1cdbd2cSJim Jagielski } 858*b1cdbd2cSJim Jagielski 859*b1cdbd2cSJim Jagielski /** 860*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameters, 861*b1cdbd2cSJim Jagielski * checks returned values. 862*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 863*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameters and if returned values 864*b1cdbd2cSJim Jagielski * are equal to corresponding substrings of the text received by relation. 865*b1cdbd2cSJim Jagielski * The following method tests are to be executed before: 866*b1cdbd2cSJim Jagielski * <ul> 867*b1cdbd2cSJim Jagielski * <li> <code>getCharacterCount()</code> </li> 868*b1cdbd2cSJim Jagielski * </ul> 869*b1cdbd2cSJim Jagielski * @return 870*b1cdbd2cSJim Jagielski */ _getTextBehindIndex()871*b1cdbd2cSJim Jagielski public boolean _getTextBehindIndex() { 872*b1cdbd2cSJim Jagielski boolean res = true; 873*b1cdbd2cSJim Jagielski 874*b1cdbd2cSJim Jagielski try { 875*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(-1, AccessibleTextType.PARAGRAPH):"); 876*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBehindIndex(-1, 877*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 878*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 879*b1cdbd2cSJim Jagielski res &= false; 880*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 881*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 882*b1cdbd2cSJim Jagielski res &= true; 883*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 884*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 885*b1cdbd2cSJim Jagielski res &= true; 886*b1cdbd2cSJim Jagielski } 887*b1cdbd2cSJim Jagielski 888*b1cdbd2cSJim Jagielski 889*b1cdbd2cSJim Jagielski try { 890*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(chCount+1, " + 891*b1cdbd2cSJim Jagielski "AccessibleTextType.PARAGRAPH):"); 892*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBehindIndex(chCount + 1, 893*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 894*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 895*b1cdbd2cSJim Jagielski res &= false; 896*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 897*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 898*b1cdbd2cSJim Jagielski res &= true; 899*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 900*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 901*b1cdbd2cSJim Jagielski res &= true; 902*b1cdbd2cSJim Jagielski } 903*b1cdbd2cSJim Jagielski 904*b1cdbd2cSJim Jagielski 905*b1cdbd2cSJim Jagielski try { 906*b1cdbd2cSJim Jagielski if ( chCount > 0 ) { 907*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(chCount," + 908*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 909*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBehindIndex(chCount, 910*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 911*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 912*b1cdbd2cSJim Jagielski res &= txt.SegmentText.length() == 0; 913*b1cdbd2cSJim Jagielski 914*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(chCount-1," + 915*b1cdbd2cSJim Jagielski " AccessibleTextType.PARAGRAPH):"); 916*b1cdbd2cSJim Jagielski txt = oObj.getTextBehindIndex(chCount - 1, 917*b1cdbd2cSJim Jagielski AccessibleTextType.PARAGRAPH); 918*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 919*b1cdbd2cSJim Jagielski res &= txt.SegmentText.length() == 0; 920*b1cdbd2cSJim Jagielski } 921*b1cdbd2cSJim Jagielski if ( chCount > 1 ) { 922*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(1," + 923*b1cdbd2cSJim Jagielski " AccessibleTextType.CHARACTER):"); 924*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBehindIndex(1, 925*b1cdbd2cSJim Jagielski AccessibleTextType.CHARACTER); 926*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 927*b1cdbd2cSJim Jagielski res &= txt.SegmentText.equals(text.substring(2, 3)); 928*b1cdbd2cSJim Jagielski } 929*b1cdbd2cSJim Jagielski if (chCount > 2) { 930*b1cdbd2cSJim Jagielski System.out.println("getTextBehindIndex(chCount-2," + 931*b1cdbd2cSJim Jagielski " AccessibleTextType.CHARACTER):"); 932*b1cdbd2cSJim Jagielski TextSegment txt = oObj.getTextBehindIndex(chCount - 2, 933*b1cdbd2cSJim Jagielski AccessibleTextType.CHARACTER); 934*b1cdbd2cSJim Jagielski System.out.println("'" + txt.SegmentText + "'"); 935*b1cdbd2cSJim Jagielski res &= txt.SegmentText.equals(text.substring(chCount - 1, chCount)); 936*b1cdbd2cSJim Jagielski } 937*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 938*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 939*b1cdbd2cSJim Jagielski e.printStackTrace(); 940*b1cdbd2cSJim Jagielski res &= false; 941*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IllegalArgumentException e) { 942*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 943*b1cdbd2cSJim Jagielski res &= false; 944*b1cdbd2cSJim Jagielski } 945*b1cdbd2cSJim Jagielski 946*b1cdbd2cSJim Jagielski 947*b1cdbd2cSJim Jagielski return res; 948*b1cdbd2cSJim Jagielski } 949*b1cdbd2cSJim Jagielski 950*b1cdbd2cSJim Jagielski /** 951*b1cdbd2cSJim Jagielski * Calls the method with invalid parameters an with valid parameter, 952*b1cdbd2cSJim Jagielski * checks returned values. 953*b1cdbd2cSJim Jagielski * Has OK status if exception was thrown for invalid parameters, 954*b1cdbd2cSJim Jagielski * if exception wasn't thrown for valid parameter and if returned value for 955*b1cdbd2cSJim Jagielski * valid parameter is equal to <code>true</code>. 956*b1cdbd2cSJim Jagielski * @return 957*b1cdbd2cSJim Jagielski */ _copyText()958*b1cdbd2cSJim Jagielski public boolean _copyText() { 959*b1cdbd2cSJim Jagielski boolean res = true; 960*b1cdbd2cSJim Jagielski boolean locRes = true; 961*b1cdbd2cSJim Jagielski 962*b1cdbd2cSJim Jagielski if (editOnly != null) { 963*b1cdbd2cSJim Jagielski System.out.println(editOnly); 964*b1cdbd2cSJim Jagielski return true; 965*b1cdbd2cSJim Jagielski } 966*b1cdbd2cSJim Jagielski 967*b1cdbd2cSJim Jagielski try { 968*b1cdbd2cSJim Jagielski System.out.println("copyText(-1,chCount):"); 969*b1cdbd2cSJim Jagielski oObj.copyText(-1, chCount); 970*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 971*b1cdbd2cSJim Jagielski res &= false; 972*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 973*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 974*b1cdbd2cSJim Jagielski res &= true; 975*b1cdbd2cSJim Jagielski } 976*b1cdbd2cSJim Jagielski 977*b1cdbd2cSJim Jagielski try { 978*b1cdbd2cSJim Jagielski System.out.println("copyText(0,chCount+1):"); 979*b1cdbd2cSJim Jagielski oObj.copyText(0, chCount + 1); 980*b1cdbd2cSJim Jagielski System.out.println("Exception was expected"); 981*b1cdbd2cSJim Jagielski res &= false; 982*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 983*b1cdbd2cSJim Jagielski System.out.println("Expected exception"); 984*b1cdbd2cSJim Jagielski res &= true; 985*b1cdbd2cSJim Jagielski } 986*b1cdbd2cSJim Jagielski 987*b1cdbd2cSJim Jagielski try { 988*b1cdbd2cSJim Jagielski System.out.println("copyText(0,chCount):"); 989*b1cdbd2cSJim Jagielski locRes = oObj.copyText(0, chCount); 990*b1cdbd2cSJim Jagielski System.out.println(""+locRes); 991*b1cdbd2cSJim Jagielski res &= locRes; 992*b1cdbd2cSJim Jagielski 993*b1cdbd2cSJim Jagielski String cbText = null; 994*b1cdbd2cSJim Jagielski try { 995*b1cdbd2cSJim Jagielski cbText = 996*b1cdbd2cSJim Jagielski util.SysUtils.getSysClipboardText(xMSF); 997*b1cdbd2cSJim Jagielski } catch (com.sun.star.uno.Exception e) { 998*b1cdbd2cSJim Jagielski System.out.println("Couldn't access system clipboard :"); 999*b1cdbd2cSJim Jagielski e.printStackTrace(); 1000*b1cdbd2cSJim Jagielski } 1001*b1cdbd2cSJim Jagielski System.out.println("Clipboard: '" + cbText + "'"); 1002*b1cdbd2cSJim Jagielski res &= text.equals(cbText); 1003*b1cdbd2cSJim Jagielski 1004*b1cdbd2cSJim Jagielski if (chCount > 2) { 1005*b1cdbd2cSJim Jagielski System.out.println("copyText(1,chCount-1):"); 1006*b1cdbd2cSJim Jagielski locRes = oObj.copyText(1, chCount - 1); 1007*b1cdbd2cSJim Jagielski System.out.println(""+locRes); 1008*b1cdbd2cSJim Jagielski res &= locRes; 1009*b1cdbd2cSJim Jagielski 1010*b1cdbd2cSJim Jagielski try { 1011*b1cdbd2cSJim Jagielski cbText = util.SysUtils.getSysClipboardText(xMSF); 1012*b1cdbd2cSJim Jagielski } catch (com.sun.star.uno.Exception e) { 1013*b1cdbd2cSJim Jagielski System.out.println("Couldn't access system clipboard :"); 1014*b1cdbd2cSJim Jagielski e.printStackTrace(); 1015*b1cdbd2cSJim Jagielski } 1016*b1cdbd2cSJim Jagielski 1017*b1cdbd2cSJim Jagielski System.out.println("Clipboard: '" + cbText + "'"); 1018*b1cdbd2cSJim Jagielski res &= text.substring(1, chCount - 1).equals(cbText); 1019*b1cdbd2cSJim Jagielski } 1020*b1cdbd2cSJim Jagielski 1021*b1cdbd2cSJim Jagielski } catch(com.sun.star.lang.IndexOutOfBoundsException e) { 1022*b1cdbd2cSJim Jagielski System.out.println("Unexpected exception"); 1023*b1cdbd2cSJim Jagielski e.printStackTrace(); 1024*b1cdbd2cSJim Jagielski res &= false; 1025*b1cdbd2cSJim Jagielski } 1026*b1cdbd2cSJim Jagielski 1027*b1cdbd2cSJim Jagielski return res; 1028*b1cdbd2cSJim Jagielski } 1029*b1cdbd2cSJim Jagielski } 1030