1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir package ifc.awt;
29*cdf0e10cSrcweir 
30*cdf0e10cSrcweir import lib.MultiMethodTest;
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir import com.sun.star.awt.XControl;
33*cdf0e10cSrcweir import com.sun.star.awt.XControlModel;
34*cdf0e10cSrcweir import com.sun.star.awt.XToolkit;
35*cdf0e10cSrcweir import com.sun.star.awt.XView;
36*cdf0e10cSrcweir import com.sun.star.awt.XWindowPeer;
37*cdf0e10cSrcweir import com.sun.star.uno.XInterface;
38*cdf0e10cSrcweir 
39*cdf0e10cSrcweir /**
40*cdf0e10cSrcweir * Testing <code>com.sun.star.awt.XControl</code>
41*cdf0e10cSrcweir * interface methods:
42*cdf0e10cSrcweir * <ul>
43*cdf0e10cSrcweir *  <li><code> setContext() </code></li>
44*cdf0e10cSrcweir *  <li><code> getContext() </code></li>
45*cdf0e10cSrcweir *  <li><code> createPeer() </code></li>
46*cdf0e10cSrcweir *  <li><code> getPeer() </code></li>
47*cdf0e10cSrcweir *  <li><code> setModel() </code></li>
48*cdf0e10cSrcweir *  <li><code> getModel() </code></li>
49*cdf0e10cSrcweir *  <li><code> setDesignMode() </code></li>
50*cdf0e10cSrcweir *  <li><code> isDesignMode() </code></li>
51*cdf0e10cSrcweir *  <li><code> isTransparent() </code></li>
52*cdf0e10cSrcweir *  <li><code> getView() </code></li>
53*cdf0e10cSrcweir * </ul><p>
54*cdf0e10cSrcweir * This test needs the following object relations :
55*cdf0e10cSrcweir * <ul>
56*cdf0e10cSrcweir *  <li> <code>'CONTEXT'</code> (of type <code>XInterface</code>):
57*cdf0e10cSrcweir *  used as a parameter to setContext() and for testing getContext().</li>
58*cdf0e10cSrcweir *  <li> <code>'WINPEER'</code> (of type <code>XWindowPeer</code>):
59*cdf0e10cSrcweir *  used as a parameter to createPeer() and for testing getPeer()</li>
60*cdf0e10cSrcweir *  <li> <code>'TOOLKIT'</code> (of type <code>XToolkit</code>):
61*cdf0e10cSrcweir *  used as a parameter to createPeer()</li>
62*cdf0e10cSrcweir *  <li> <code>'MODEL'</code> (of type <code>XControlModel</code>):
63*cdf0e10cSrcweir *  used as a parameter to setModel() and for testing getModel()</li>
64*cdf0e10cSrcweir * <ul> <p>
65*cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p>
66*cdf0e10cSrcweir * @see com.sun.star.awt.XControl
67*cdf0e10cSrcweir */
68*cdf0e10cSrcweir public class _XControl extends MultiMethodTest {
69*cdf0e10cSrcweir     public XControl oObj = null;
70*cdf0e10cSrcweir     public XControlModel aModel = null;
71*cdf0e10cSrcweir     public boolean desMode;
72*cdf0e10cSrcweir 
73*cdf0e10cSrcweir     /**
74*cdf0e10cSrcweir     * After test calls the method, the Context is set to a corresponding
75*cdf0e10cSrcweir     * object relation.<p>
76*cdf0e10cSrcweir     * Has <b> OK </b> status if the method successfully returns
77*cdf0e10cSrcweir     * and no exceptions were thrown. <p>
78*cdf0e10cSrcweir     */
79*cdf0e10cSrcweir     public void _setContext() {
80*cdf0e10cSrcweir         XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
81*cdf0e10cSrcweir         oObj.setContext(cont);
82*cdf0e10cSrcweir         tRes.tested("setContext()",true);
83*cdf0e10cSrcweir     }
84*cdf0e10cSrcweir 
85*cdf0e10cSrcweir     /**
86*cdf0e10cSrcweir     * After test calls the method, the Context is gotten and compared
87*cdf0e10cSrcweir     * with object relation 'CONTEXT'.<p>
88*cdf0e10cSrcweir     * Has <b> OK </b> status if get value is equals to value set before.<p>
89*cdf0e10cSrcweir     * The following method tests are to be completed successfully before:
90*cdf0e10cSrcweir     * <ul>
91*cdf0e10cSrcweir     *  <li> <code> setContext() </code> : set Context to a corresponding
92*cdf0e10cSrcweir     * object relation</li>
93*cdf0e10cSrcweir     * </ul>
94*cdf0e10cSrcweir     */
95*cdf0e10cSrcweir     public void _getContext() {
96*cdf0e10cSrcweir         requiredMethod("setContext()");
97*cdf0e10cSrcweir         XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
98*cdf0e10cSrcweir         Object get = oObj.getContext();
99*cdf0e10cSrcweir         boolean res = get.equals(cont);
100*cdf0e10cSrcweir         if (!res) {
101*cdf0e10cSrcweir             log.println("!!! Error: getting: "+get.toString());
102*cdf0e10cSrcweir             log.println("!!! expected: "+cont.toString());
103*cdf0e10cSrcweir         }
104*cdf0e10cSrcweir         tRes.tested("getContext()",res);
105*cdf0e10cSrcweir     }
106*cdf0e10cSrcweir 
107*cdf0e10cSrcweir 
108*cdf0e10cSrcweir     /**
109*cdf0e10cSrcweir     * The objects needed to create peer are obtained
110*cdf0e10cSrcweir     * from corresponding object relations, then the peer is created.
111*cdf0e10cSrcweir     * <p>
112*cdf0e10cSrcweir     * Has <b> OK </b> status if the method successfully returns
113*cdf0e10cSrcweir     * and no exceptions were thrown.
114*cdf0e10cSrcweir     */
115*cdf0e10cSrcweir     public void _createPeer() {
116*cdf0e10cSrcweir         XWindowPeer the_win = (XWindowPeer) tEnv.getObjRelation("WINPEER");
117*cdf0e10cSrcweir         XToolkit the_kit = (XToolkit) tEnv.getObjRelation("TOOLKIT");
118*cdf0e10cSrcweir         oObj.createPeer(the_kit,the_win);
119*cdf0e10cSrcweir         tRes.tested("createPeer()",true);
120*cdf0e10cSrcweir     }
121*cdf0e10cSrcweir 
122*cdf0e10cSrcweir     /**
123*cdf0e10cSrcweir     * Test calls the method. Then the the object ralation 'WINPEER' is
124*cdf0e10cSrcweir     * obtained, and compared with the peer, gotten from (XControl) oObj
125*cdf0e10cSrcweir     * variable.<p>
126*cdf0e10cSrcweir     * Has <b> OK </b> status if peer gotten isn't null
127*cdf0e10cSrcweir     * The following method tests are to be completed successfully before :
128*cdf0e10cSrcweir     */
129*cdf0e10cSrcweir     public void _getPeer() {
130*cdf0e10cSrcweir         requiredMethod("createPeer()");
131*cdf0e10cSrcweir         boolean res = false;
132*cdf0e10cSrcweir         XWindowPeer get = oObj.getPeer();
133*cdf0e10cSrcweir         if (get == null) {
134*cdf0e10cSrcweir             log.println("The method 'getPeer' returns NULL");
135*cdf0e10cSrcweir         } else {
136*cdf0e10cSrcweir            res = true;
137*cdf0e10cSrcweir         }
138*cdf0e10cSrcweir         tRes.tested("getPeer()",res);
139*cdf0e10cSrcweir     }
140*cdf0e10cSrcweir 
141*cdf0e10cSrcweir 
142*cdf0e10cSrcweir     /**
143*cdf0e10cSrcweir     * At first current model is obtained and saved to variable aModel.
144*cdf0e10cSrcweir     * Then object relation 'MODEL' is gotten and test calls the method. <p>
145*cdf0e10cSrcweir     * Has <b> OK </b> status if the method successfully returns
146*cdf0e10cSrcweir     * and no exceptions were thrown.
147*cdf0e10cSrcweir     */
148*cdf0e10cSrcweir     public void _setModel() {
149*cdf0e10cSrcweir         aModel = oObj.getModel();
150*cdf0e10cSrcweir         XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
151*cdf0e10cSrcweir         oObj.setModel(the_model);
152*cdf0e10cSrcweir         tRes.tested("setModel()",true);
153*cdf0e10cSrcweir     }
154*cdf0e10cSrcweir 
155*cdf0e10cSrcweir     /**
156*cdf0e10cSrcweir     * Test calls the method, then object relation 'MODEL' is gotten and
157*cdf0e10cSrcweir     * compared with object returned by the method. Then previously saved
158*cdf0e10cSrcweir     * value of model (aModel) restored to (XControl) oObj<p>
159*cdf0e10cSrcweir     * Has <b> OK </b> status if models set and get are equal. <p>
160*cdf0e10cSrcweir     * The following method tests are to be completed successfully before :
161*cdf0e10cSrcweir     * <ul>
162*cdf0e10cSrcweir     *  <li> <code> setModel() </code> : setting model from corresponding
163*cdf0e10cSrcweir     *  object relation </li>
164*cdf0e10cSrcweir     * </ul>
165*cdf0e10cSrcweir     */
166*cdf0e10cSrcweir     public void _getModel() {
167*cdf0e10cSrcweir         requiredMethod("setModel()");
168*cdf0e10cSrcweir         XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
169*cdf0e10cSrcweir         XControlModel get = oObj.getModel();
170*cdf0e10cSrcweir         boolean res = (get.equals(the_model));
171*cdf0e10cSrcweir         if (!res) {
172*cdf0e10cSrcweir             log.println("getting: "+get.toString());
173*cdf0e10cSrcweir             log.println("expected: "+the_model.toString());
174*cdf0e10cSrcweir         }
175*cdf0e10cSrcweir         if (aModel != null) {
176*cdf0e10cSrcweir         oObj.setModel(aModel);
177*cdf0e10cSrcweir     }
178*cdf0e10cSrcweir         tRes.tested("getModel()",res);
179*cdf0e10cSrcweir     }
180*cdf0e10cSrcweir 
181*cdf0e10cSrcweir     /**
182*cdf0e10cSrcweir     * Test calls the method. Then mode is checked using isDesignMode().<p>
183*cdf0e10cSrcweir     * Has <b> OK </b> status if mode is swithed.
184*cdf0e10cSrcweir     */
185*cdf0e10cSrcweir     public void _setDesignMode() {
186*cdf0e10cSrcweir     desMode = oObj.isDesignMode();
187*cdf0e10cSrcweir         oObj.setDesignMode(!desMode);
188*cdf0e10cSrcweir         tRes.tested("setDesignMode()",oObj.isDesignMode() == !desMode);
189*cdf0e10cSrcweir     }
190*cdf0e10cSrcweir 
191*cdf0e10cSrcweir     /**
192*cdf0e10cSrcweir     * The mode is changed and result is checked.<p>
193*cdf0e10cSrcweir     * Has <b> OK </b> status if the mode changed successfully.
194*cdf0e10cSrcweir     */
195*cdf0e10cSrcweir     public void _isDesignMode() {
196*cdf0e10cSrcweir     requiredMethod("setDesignMode()");
197*cdf0e10cSrcweir         oObj.setDesignMode(desMode);
198*cdf0e10cSrcweir         tRes.tested("isDesignMode()", oObj.isDesignMode() == desMode);
199*cdf0e10cSrcweir     }
200*cdf0e10cSrcweir 
201*cdf0e10cSrcweir     /**
202*cdf0e10cSrcweir     * Test calls the method.<p>
203*cdf0e10cSrcweir     * Has <b> OK </b> status if the method successfully returns
204*cdf0e10cSrcweir     * and no exceptions were thrown. <p>
205*cdf0e10cSrcweir     */
206*cdf0e10cSrcweir     public void _isTransparent() {
207*cdf0e10cSrcweir         boolean isT = oObj.isTransparent();
208*cdf0e10cSrcweir         tRes.tested("isTransparent()",true );
209*cdf0e10cSrcweir     }
210*cdf0e10cSrcweir 
211*cdf0e10cSrcweir     /**
212*cdf0e10cSrcweir     * Test calls the method.<p>
213*cdf0e10cSrcweir     * Has <b> OK </b> status if the method returns not null. <p>
214*cdf0e10cSrcweir     */
215*cdf0e10cSrcweir     public void _getView() {
216*cdf0e10cSrcweir         XView the_view = oObj.getView();
217*cdf0e10cSrcweir         tRes.tested("getView()", the_view != null);
218*cdf0e10cSrcweir     }
219*cdf0e10cSrcweir 
220*cdf0e10cSrcweir }
221*cdf0e10cSrcweir 
222*cdf0e10cSrcweir 
223