/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
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;
/**
* Testing com.sun.star.frame.XStorable
* interface methods:
*
getLocation()
hasLocation()
isReadonly()
storeAsURL()
storeToURL()
store()
* Test is NOT multithread compliant.
* @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 a url to store String url = utils.getOfficeTemp( 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("a 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 a url to store String url = utils.getOfficeTemp( 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("a url to store is not found"); } } /** * Test calls the method. Then result is checked.
* Has OK status if: *