diff options
Diffstat (limited to 'qadevOOo/tests/java/ifc/text/_XTextCursor.java')
-rw-r--r-- | qadevOOo/tests/java/ifc/text/_XTextCursor.java | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/qadevOOo/tests/java/ifc/text/_XTextCursor.java b/qadevOOo/tests/java/ifc/text/_XTextCursor.java new file mode 100644 index 000000000000..cc91e0d9f8f7 --- /dev/null +++ b/qadevOOo/tests/java/ifc/text/_XTextCursor.java @@ -0,0 +1,242 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +package ifc.text; + +import lib.MultiMethodTest; + +import com.sun.star.text.XTextCursor; + + +/** + * Testing <code>com.sun.star.text.XTextCursor</code> + * interface methods : + * <ul> + * <li><code> collapseToStart()</code></li> + * <li><code> collapseToEnd()</code></li> + * <li><code> isCollapsed()</code></li> + * <li><code> goLeft()</code></li> + * <li><code> goRight()</code></li> + * <li><code> gotoStart()</code></li> + * <li><code> gotoEnd()</code></li> + * <li><code> gotoRange()</code></li> + * </ul> <p> + * + * During this test the component text is changed, + * that's why it must be stored before methods' tests, + * and restored after. <p> + * + * Test is <b> NOT </b> multithread compilant. <p> + * @see com.sun.star.text.XTextCursor + */ +public class _XTextCursor extends MultiMethodTest { + + public XTextCursor oObj = null; // oObj filled by MultiMethodTest + String oldText = null ; + + /** + * Stores component's text. + */ + public void before() { + oObj.gotoStart(false); + oObj.gotoEnd(true); + oldText = oObj.getString() ; + } + + /** + * First some text is set (for component to has at least some + * text), cursor is expanded to the whole text (to be not collapsed), + * the <code>collapseToEnd</code> is called. Then current cursor + * text is examined. <p> + * + * Has <b>OK</b> status if the current cursor text is an + * empty string. + */ + public void _collapseToEnd(){ + boolean bCol = false; + + oObj.setString("XTextCursor"); + oObj.gotoStart(false); + oObj.gotoEnd(true); + oObj.collapseToEnd(); + bCol = oObj.getString().equals(""); + tRes.tested("collapseToEnd()", bCol ); + } + + /** + * First some text is set (for component to has at least some + * text), cursor is expanded to the whole text (to be not collapsed), + * the <code>collapseToStart</code> is called. Then current cursor + * text is examined. <p> + * + * Has <b>OK</b> status if the current cursor text is an + * empty string. + */ + public void _collapseToStart(){ + boolean bCol = false; + oObj.setString("XTextCursor"); + oObj.gotoStart(false); + oObj.gotoEnd(true); + + oObj.collapseToStart(); + bCol = oObj.getString().equals(""); + tRes.tested("collapseToStart()", bCol ); + } + + /** + * First the cursor is moved to the end of text (to have a space + * for left cursor moving, and moves the cursor left by a number + * of characters. <p> + * + * Has <b>OK</b> status if the method returns <code>true</code>, + * and the current cursor string has the same length as number + * of characters the cursor was moved by. + */ + public void _goLeft(){ + boolean bLeft = false; + short n = 5; + + oObj.gotoEnd(false); + bLeft = oObj.goLeft(n, true); + String gStr = oObj.getString() ; + log.println("'" + gStr + "'") ; + bLeft &= gStr.length() == n ; + + tRes.tested("goLeft()", bLeft ); + } + + /** + * First the cursor is moved to the start of text (to have a space + * for right cursor moving, and moves the cursor right by a number + * of characters. <p> + * + * Has <b>OK</b> status if the method returns <code>true</code>, + * and the current cursor string has the same length as number + * of characters the cursor was moved by. + */ + public void _goRight(){ + boolean bRight = false; + short n = 5; + + oObj.gotoStart(false); + bRight = oObj.goRight(n, true); + + String gStr = oObj.getString() ; + log.println("'" + gStr + "'") ; + bRight &= gStr.length() == n ; + + tRes.tested("goRight()", bRight ); + } + + /** + * Test calls the method. <p> + * Has <b> OK </b> status if the method <code>goRight()</code> + * returns <code>false</code> (cursor can't move to the right). + */ + public void _gotoEnd(){ + boolean bEnd = false; + short n = 1; + + oObj.gotoEnd(false); + bEnd = !oObj.goRight(n, false) ; + + tRes.tested("gotoEnd()", bEnd ); + } + + /** + * First the whole text is set to a string, and cursor + * is moved to the range situated at the start of the + * text. <p> + * + * Has <b>OK</b> status if some characters to the right + * of the current cursor position are the beginning of + * the text. + */ + public void _gotoRange(){ + boolean bRange = false; + + oObj.gotoStart(false); + oObj.gotoEnd(true); + oObj.setString("XTextCursor,XTextCursor"); + oObj.gotoRange(oObj.getStart(),false); + oObj.goRight((short) 5, true); + bRange = oObj.getString().equals("XText"); + + if (!bRange) log.println("getString() returned '" + + oObj.getString() + "'") ; + + tRes.tested("gotoRange()", bRange ); + } + + /** + * Test calls the method. <p> + * Has <b> OK </b> status if the method <code>goLeft()</code> + * returns <code>false</code> (cursor can't move to the left). + */ + public void _gotoStart(){ + boolean bStart = false; + short n = 1; + + oObj.gotoStart(false); + bStart = !oObj.goLeft(n, false) ; + + tRes.tested("gotoStart()", bStart ); + } + + /** + * First the cusor is moved to start without expanding + * (must be collapsed), and then it's expanded to the + * whole text (must not be collapsed). <p> + * + * Has <b>OK</b> status if in the first case method + * <code>isCollapsed</code> returns <code>true</code>, + * and in the second <code>false</code> + */ + public void _isCollapsed(){ + boolean bCol = false; + + oObj.gotoStart(false); + bCol = oObj.isCollapsed(); + + oObj.gotoEnd(true); + bCol &= !oObj.isCollapsed() ; + + tRes.tested("isCollapsed()", bCol ); + } + + /** + * Restores the text of the component to the + * state it was before this interafce test. + */ + public void after() { + oObj.gotoStart(false); + oObj.gotoEnd(true); + oObj.setString(oldText) ; + } + +} // finish class _XTextCursor + |