xref: /AOO41X/main/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
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.drawing;
29 
30 import lib.MultiMethodTest;
31 
32 import com.sun.star.drawing.XShapeDescriptor;
33 import com.sun.star.lang.XServiceInfo;
34 import com.sun.star.uno.UnoRuntime;
35 
36 /**
37 * Testing <code>com.sun.star.drawing.XShapeDescriptor</code>
38 * interface methods :
39 * <ul>
40 *  <li><code> getShapeType()</code></li>
41 * </ul> <p>
42 * Test is <b> NOT </b> multithread compilant. <p>
43 * @see com.sun.star.drawing.XShapeDescriptor
44 */
45 public class _XShapeDescriptor extends MultiMethodTest {
46 
47     public XShapeDescriptor    oObj = null;
48     boolean result = true;
49 
50     /**
51     * Gets the type of shape. This type must be a service name which
52     * is supported by object (except of ChartObject and Frame shapes).
53     * The object is queried for <code>XServiceInfo</code> and
54     * the type is checked to be among supported service names.<p>
55     *
56     * Has <b> OK </b> status if the type is found among supported
57     * services. Or if the object represents a text frame.<p>
58     */
59     public void _getShapeType() {
60         result = false;
61 
62         String stype = oObj.getShapeType();
63         log.println("Current Shape Type is " + stype);
64 
65         XServiceInfo SI = (XServiceInfo)
66                         UnoRuntime.queryInterface(XServiceInfo.class, oObj);
67 
68         String[] serviceNames = SI.getSupportedServiceNames();
69 
70         log.println("Supported services :");
71         for (int i = 0; i < serviceNames.length; i++) {
72             log.println("  " + serviceNames[i]);
73             if (serviceNames[i].equals(stype))
74                 result = true;
75         }
76 
77         //remark: we should provide the expected name as ObjRelation
78 
79         //Chart has its own behaviour it always return 'ChartObject'
80         if (stype.equals("com.sun.star.chart.ChartObject")) result=true;
81         if (stype.equals("com.sun.star.drawing.ControlShape")) result=true;
82         if (stype.equals("com.sun.star.drawing.ClosedBezierShape")) result=true;
83         if (stype.equals("com.sun.star.drawing.CaptionShape")) result=true;
84 
85         //Writer has its own behaviour it returns a 'FrameShape'
86         if (stype.equals("FrameShape")) result=true;
87 
88         if (!result) {
89             log.println("Service " + stype + " not supported in the object.");
90         }
91 
92         tRes.tested("getShapeType()", result);
93     }
94 
95 }
96 
97 
98