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 10*ef39d40dSAndrew Rist * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ef39d40dSAndrew Rist * 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. 19*ef39d40dSAndrew Rist * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package ifc.text; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir 28cdf0e10cSrcweir import com.sun.star.text.XAutoTextContainer; 29cdf0e10cSrcweir import com.sun.star.text.XAutoTextGroup; 30cdf0e10cSrcweir 31cdf0e10cSrcweir /** 32cdf0e10cSrcweir * Testing <code>com.sun.star.text.XAutoTextContainer</code> 33cdf0e10cSrcweir * interface methods : 34cdf0e10cSrcweir * <ul> 35cdf0e10cSrcweir * <li><code> insertNewByName()</code></li> 36cdf0e10cSrcweir * <li><code> removeByName()</code></li> 37cdf0e10cSrcweir * </ul> <p> 38cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p> 39cdf0e10cSrcweir * @see com.sun.star.text.XAutoTextContainer 40cdf0e10cSrcweir */ 41cdf0e10cSrcweir public class _XAutoTextContainer extends MultiMethodTest { 42cdf0e10cSrcweir public XAutoTextContainer oObj = null; 43cdf0e10cSrcweir // every Thread must insert it's own AutoTextContainer: 44cdf0e10cSrcweir public String Name = ""; 45cdf0e10cSrcweir 46cdf0e10cSrcweir /** 47cdf0e10cSrcweir * First removes old element from container with the specified name 48cdf0e10cSrcweir * if it exists. Then tries to add a new group with the specified 49cdf0e10cSrcweir * name. <p> 50cdf0e10cSrcweir * 51cdf0e10cSrcweir * Has <b>OK</b> status if not <code>null</code> 52cdf0e10cSrcweir * <code>AutoTextGroup</code> instance is returned. 53cdf0e10cSrcweir */ _insertNewByName()54cdf0e10cSrcweir public void _insertNewByName() { 55cdf0e10cSrcweir System.out.println("Starting: insertNewByName"); 56cdf0e10cSrcweir boolean result = true; 57cdf0e10cSrcweir Name = "XAutoTextContainerx" + Thread.currentThread().getName(); 58cdf0e10cSrcweir Name = Name.replace('-','x'); 59cdf0e10cSrcweir Name = Name.replace(':','x'); 60cdf0e10cSrcweir Name = Name.replace('.','x'); 61cdf0e10cSrcweir XAutoTextGroup oGroup = null; 62cdf0e10cSrcweir //first clear the container 63cdf0e10cSrcweir log.println("remove old elements in container"); 64cdf0e10cSrcweir System.out.println("remove old elements in container"); 65cdf0e10cSrcweir try { 66cdf0e10cSrcweir oObj.removeByName(Name); 67cdf0e10cSrcweir log.println("old elements removed -> OK"); 68cdf0e10cSrcweir System.out.println("old elements removed -> OK"); 69cdf0e10cSrcweir } catch (com.sun.star.container.NoSuchElementException e) { 70cdf0e10cSrcweir log.println("no old elements available -> OK"); 71cdf0e10cSrcweir System.out.println("no old elements available -> OK"); 72cdf0e10cSrcweir } 73cdf0e10cSrcweir 74cdf0e10cSrcweir // insert an element 75cdf0e10cSrcweir log.println("insertNewByName"); 76cdf0e10cSrcweir try { 77cdf0e10cSrcweir System.out.println("Inserting element with name '" + Name + "'"); 78cdf0e10cSrcweir log.println("Inserting element with name '" + Name + "'"); 79cdf0e10cSrcweir oGroup = oObj.insertNewByName(Name); 80cdf0e10cSrcweir System.out.println("done"); 81cdf0e10cSrcweir } catch (com.sun.star.container.ElementExistException e) { 82cdf0e10cSrcweir log.println("insertNewByName(): " + e); 83cdf0e10cSrcweir result &= false; 84cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 85cdf0e10cSrcweir log.println("insertNewByName(): " + e); 86cdf0e10cSrcweir result &= false; 87cdf0e10cSrcweir } 88cdf0e10cSrcweir 89cdf0e10cSrcweir result &= ( oGroup != null ); 90cdf0e10cSrcweir tRes.tested("insertNewByName()", result); 91cdf0e10cSrcweir } // end insertNewByName() 92cdf0e10cSrcweir 93cdf0e10cSrcweir /** 94cdf0e10cSrcweir * First removes element by name which was added before, 95cdf0e10cSrcweir * then tries to remove the element with the same name again. <p> 96cdf0e10cSrcweir * 97cdf0e10cSrcweir * Has <b> OK </b> status if in the first case no exceptions 98cdf0e10cSrcweir * were thrown, and in the second case 99cdf0e10cSrcweir * <code>NoSuchElementException</code> was thrown. <p> 100cdf0e10cSrcweir * 101cdf0e10cSrcweir * The following method tests are to be completed successfully before : 102cdf0e10cSrcweir * <ul> 103cdf0e10cSrcweir * <li> <code> insertNewByName() </code> : new element inserted here.</li> 104cdf0e10cSrcweir * </ul> 105cdf0e10cSrcweir */ _removeByName()106cdf0e10cSrcweir public void _removeByName() { 107cdf0e10cSrcweir requiredMethod("insertNewByName()"); 108cdf0e10cSrcweir 109cdf0e10cSrcweir boolean result = true; 110cdf0e10cSrcweir // remove the element 111cdf0e10cSrcweir log.println("removeByName()"); 112cdf0e10cSrcweir try { 113cdf0e10cSrcweir log.println("Removing element with name '" + Name + "'"); 114cdf0e10cSrcweir oObj.removeByName(Name); 115cdf0e10cSrcweir result &= true; 116cdf0e10cSrcweir } catch (com.sun.star.container.NoSuchElementException e) { 117cdf0e10cSrcweir result = false; 118cdf0e10cSrcweir log.println("removeByName(): " + e + " -> FAILD"); 119cdf0e10cSrcweir } 120cdf0e10cSrcweir 121cdf0e10cSrcweir log.println("2nd removeByName()"); 122cdf0e10cSrcweir try { 123cdf0e10cSrcweir oObj.removeByName(Name); 124cdf0e10cSrcweir log.println("No exceptions were thrown -> FAILED"); 125cdf0e10cSrcweir result = false ; 126cdf0e10cSrcweir } catch (com.sun.star.container.NoSuchElementException e) { 127cdf0e10cSrcweir log.println("2nd removeByName(): -> OK"); 128cdf0e10cSrcweir result &= true; 129cdf0e10cSrcweir } 130cdf0e10cSrcweir 131cdf0e10cSrcweir tRes.tested("removeByName()", result); 132cdf0e10cSrcweir 133cdf0e10cSrcweir } // end removeByName() 134cdf0e10cSrcweir 135cdf0e10cSrcweir } /// finish class XAutoTextContainer 136cdf0e10cSrcweir 137cdf0e10cSrcweir 138