/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package ifc.frame;
import lib.MultiMethodTest;
import util.utils;
import com.sun.star.beans.PropertyValue;
import com.sun.star.frame.XStorable;
import com.sun.star.io.IOException;
import com.sun.star.lang.XMultiServiceFactory;
/**
* Testing com.sun.star.frame.XStorable
* interface methods:
*
getLocation()
hasLocation()
isReadonly()
storeAsURL()
storeToURL()
store()
* Test is NOT multithread compilant.
* @see com.sun.star.frame.XStorable */ public class _XStorable extends MultiMethodTest { public XStorable oObj = null; // oObj filled by MultiMethodTest String storeUrl; boolean stored; /** * Test calls the method.
* Has OK status in three cases: *
* The following method tests are to be completed successfully before : *
storeAsURL()
: stores the object's persistent data
* to a URL and lets the object become the representation of this new
* URL* Has OK status if stored url is not null and method does not * return null or if stored url is null and the method returns null.
* The following method tests are to be completed successfully before : *
storeAsURL()
: stores the object's persistent data
* to a URL and lets the object become the representation of this new
* URL* Has OK status if value, returned by the method is not equal to * 'stored' variable. ( If it's readonly it should not have been stored. ) *
* The following method tests are to be completed successfully before : *
store()
: stores data to the URL from which it
* was loaded * Has OK status if the method successfully returns * and no exceptions were thrown. */ public void _storeAsURL() { // getting an url to store String url = (String) utils.getOfficeTemp( (XMultiServiceFactory)tParam.getMSF()); if (url != null) { url += "xstorable.store.as.test"; log.println("store as '" + url + "'"); try { oObj.storeAsURL(url, new PropertyValue[0]); storeUrl = url; tRes.tested("storeAsURL()", true); } catch (IOException e) { log.println("Couldn't store as "+url+" : "+e.getMessage()); e.printStackTrace(log); storeUrl = null; tRes.tested("storeAsURL()", false); } } else { log.println("an url to store is not found"); } } /** * Object is stored into temporary directory.
* Has OK status if the method successfully returns * and no exceptions were thrown. */ public void _storeToURL() { // getting an url to store String url = (String) utils.getOfficeTemp( (XMultiServiceFactory)tParam.getMSF()); if (url != null) { url += "xstorable.store.as.test"; log.println("store to '" + url + "'"); try { oObj.storeToURL(url, new PropertyValue[0]); tRes.tested("storeToURL()", true); } catch (IOException e) { log.println("Couldn't store to "+url+" : "+e.getMessage()); e.printStackTrace(log); tRes.tested("storeToURL()", false); } } else { log.println("an url to store is not found"); } } /** * Test calls the method. Then result is checked.
* Has OK status if: *