1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 package ifc.util;
29 
30 import lib.MultiMethodTest;
31 import lib.Status;
32 import lib.StatusException;
33 
34 import com.sun.star.beans.XPropertySet;
35 import com.sun.star.util.XIndent;
36 
37 /**
38 * Testing <code>com.sun.star.util.XCancellable</code>
39 * interface methods :
40 * <ul>
41 *  <li><code> decrementIndent()</code></li>
42 *  <li><code> incrementIndent()</code></li>
43 * </ul> <p>
44 * @see com.sun.star.util.XIndent
45 */
46 public class _XIndent extends MultiMethodTest {
47 
48     // oObj filled by MultiMethodTest
49     public XIndent oObj = null ;
50 
51     protected XPropertySet PropSet = null;
52 
53     /**
54      * Ensures that the ObjRelation PropSet is given.
55      */
56     public void before() {
57         PropSet = (XPropertySet) tEnv.getObjRelation("PropSet");
58         if (PropSet == null) {
59             throw new StatusException(Status.failed("No PropertySet given"));
60         }
61     }
62 
63     /**
64      * Calls the method. <p>
65      * Has <b>OK</b> status if the property 'ParaIndent' is incremented afterwards<p>
66      */
67     public void _incrementIndent() {
68         int oldValue = getIndent();
69         oObj.incrementIndent();
70         int newValue = getIndent();
71         tRes.tested("incrementIndent()", oldValue < newValue) ;
72     }
73 
74     /**
75      * Calls the method. <p>
76      * Has <b>OK</b> status if the property 'ParaIndent' is decremented afterwards<p>
77      * requires 'incrementIndent()' to be executed first.
78      */
79     public void _decrementIndent() {
80         requiredMethod("incrementIndent()");
81         int oldValue = getIndent();
82         oObj.decrementIndent();
83         int newValue = getIndent();
84         tRes.tested("decrementIndent()", oldValue > newValue) ;
85     }
86 
87     public short getIndent() {
88         short ret = 0;
89         try {
90             ret = ((Short) PropSet.getPropertyValue("ParaIndent")).shortValue();
91         } catch (com.sun.star.beans.UnknownPropertyException upe) {
92         } catch (com.sun.star.lang.WrappedTargetException wte) {
93         }
94         return ret;
95     }
96 
97 }  // finish class _XCancellable
98 
99