1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 package ifc.ucb;
25 
26 import lib.MultiMethodTest;
27 
28 import com.sun.star.lang.XMultiServiceFactory;
29 import com.sun.star.ucb.XDataContainer;
30 
31 /**
32 * Testing <code>com.sun.star.ucb.XDataContainer</code>
33 * interface methods :
34 * <ul>
35 *  <li><code> getContentType()</code></li>
36 *  <li><code> setContentType()</code></li>
37 *  <li><code> getData()</code></li>
38 *  <li><code> setData()</code></li>
39 *  <li><code> getDataURL()</code></li>
40 *  <li><code> setDataURL()</code></li>
41 * </ul> <p>
42 * Test is <b> NOT </b> multithread compilant. <p>
43 * @see com.sun.star.ucb.XDataContainer
44 */
45 public class _XDataContainer extends MultiMethodTest {
46 
47     public static XDataContainer oObj = null;        // oObj filled by MultiMethodTest
48     private byte[] data = new byte[] {34, 35, 36} ;
49     private String dataURL = null;
50 
51     /**
52     * Sets the content type to some value. <p>
53     * Has <b>OK</b> status if no runtime exseptions occurred.
54     */
_setContentType()55     public void _setContentType() {
56         oObj.setContentType("image/jpeg") ;
57         tRes.tested("setContentType()", true) ;
58     }
59 
60     /**
61     * Check if values 'set' and 'get' are equal. <p>
62     * Has <b>OK</b> status if they are equal. <p>
63     * The following method tests are to be completed successfully before :
64     * <ul>
65     *  <li> <code> setContentType() </code>  </li>
66     * </ul>
67     */
_getContentType()68     public void _getContentType() {
69         requiredMethod("setContentType()") ;
70 
71         String type = oObj.getContentType() ;
72         tRes.tested("getContentType()", "image/jpeg".equals(type)) ;
73     }
74 
75     /**
76     * Sets the data to some byte array. <p>
77     * Has <b>OK</b> status if no runtime exseptions occurred.
78     */
_setData()79     public void _setData() {
80         oObj.setData(data) ;
81         tRes.tested("setData()", true) ;
82     }
83 
84     /**
85     * Check if arrays 'set' and 'get' are equal. <p>
86     * Has <b>OK</b> status if they are equal. <p>
87     * The following method tests are to be completed successfully before :
88     * <ul>
89     *  <li> <code> setData() </code>  </li>
90     * </ul>
91     */
_getData()92     public void _getData() {
93         requiredMethod("setData()") ;
94 
95         byte[] gData = oObj.getData() ;
96         boolean res = true ;
97         if (res = (gData != null && gData.length == data.length)) {
98             for (int i = 0; i < data.length; i++) {
99                 res &= data[i] == gData[i] ;
100             }
101         }
102 
103         tRes.tested("getData()", res) ;
104     }
105 
106     /**
107     * Sets the data URL to some URL. <p>
108     * Has <b>OK</b> status if no runtime exseptions occurred.
109     */
_setDataURL()110     public void _setDataURL() {
111         dataURL = util.utils.getOfficeTemp((XMultiServiceFactory)tParam.getMSF()) ;
112         oObj.setDataURL(dataURL) ;
113         tRes.tested("setDataURL()", true) ;
114     }
115 
116     /**
117     * Check if URLs 'set' and 'get' are equal. <p>
118     * Has <b>OK</b> status if they are equal. <p>
119     * The following method tests are to be completed successfully before :
120     * <ul>
121     *  <li> <code> setDataURL() </code>  </li>
122     * </ul>
123     */
_getDataURL()124     public void _getDataURL() {
125         requiredMethod("setDataURL()") ;
126 
127         String gURL = oObj.getDataURL() ;
128         tRes.tested("getDataURL()", dataURL.equals(gURL)) ;
129     }
130 }
131 
132 
133