diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2008-01-14 16:27:04 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2008-01-14 16:27:04 +0000 |
commit | 674ea820abd91196e11335e6a2f2e068a9a75008 (patch) | |
tree | 9349ead5d964a2962edaf8558106631ffce4b631 /sfx2/qa | |
parent | 3d5ff85c99afbe02d46f3fe5201237f10b9ea7e8 (diff) |
INTEGRATION: CWS fwk79 (1.1.2); FILE ADDED
2007/12/04 11:16:02 mav 1.1.2.1: #i60116# introduce the complex test for StandaloneDocumentInfo
Diffstat (limited to 'sfx2/qa')
3 files changed, 285 insertions, 0 deletions
diff --git a/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoTest.java b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoTest.java new file mode 100644 index 0000000000..bf0e4176f7 --- /dev/null +++ b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoTest.java @@ -0,0 +1,39 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: StandaloneDocumentInfoTest.java,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: ihi $ $Date: 2008-01-14 17:26:43 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +package complex.standalonedocumentinfo; + +public interface StandaloneDocumentInfoTest { + boolean test(); +} diff --git a/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java new file mode 100644 index 0000000000..2c5eb74295 --- /dev/null +++ b/sfx2/qa/complex/standalonedocumentinfo/StandaloneDocumentInfoUnitTest.java @@ -0,0 +1,77 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: StandaloneDocumentInfoUnitTest.java,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: ihi $ $Date: 2008-01-14 17:26:54 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +package complex.standalonedocumentinfo; + +import complexlib.ComplexTestCase; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.uno.UnoRuntime; + +/* Document here +*/ + +public class StandaloneDocumentInfoUnitTest extends ComplexTestCase { + private XMultiServiceFactory m_xMSF = null; + + public String[] getTestMethodNames() { + return new String[] { + "ExecuteTest01"}; + } + + public String[] getTestObjectNames() { + return new String[] {"StandaloneDocumentInfoUnitTest"}; + } + + public void before() { + try { + m_xMSF = (XMultiServiceFactory)param.getMSF(); + } catch(Exception e) { + failed( "Failed to create service factory!" ); + } + if( m_xMSF ==null ) { + failed( "Failed to create service factory!" ); + } + } + + public void after() { + m_xMSF = null; + } + + public void ExecuteTest01() { + StandaloneDocumentInfoTest aTest = new Test01 (m_xMSF, log); + assure( "Test01 failed!", aTest.test() ); + } +} + + diff --git a/sfx2/qa/complex/standalonedocumentinfo/Test01.java b/sfx2/qa/complex/standalonedocumentinfo/Test01.java new file mode 100644 index 0000000000..11cd19adea --- /dev/null +++ b/sfx2/qa/complex/standalonedocumentinfo/Test01.java @@ -0,0 +1,169 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Test01.java,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: ihi $ $Date: 2008-01-14 17:27:04 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +package complex.standalonedocumentinfo; + +import com.sun.star.beans.Property; +import com.sun.star.beans.XProperty; +import com.sun.star.beans.XPropertySetInfo; +import com.sun.star.io.IOException; +import com.sun.star.io.XInputStream; +import com.sun.star.io.XOutputStream; +import complexlib.ComplexTestCase; + +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.document.XStandaloneDocumentInfo; +import com.sun.star.io.XTempFile; +import com.sun.star.frame.XLoadable; +import com.sun.star.frame.XStorable; +import com.sun.star.beans.PropertyValue; +import com.sun.star.beans.XPropertySet; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.AnyConverter; +import com.sun.star.task.ErrorCodeIOException; +import java.util.Properties; + +import java.util.Random; +import share.LogWriter; + +public class Test01 implements StandaloneDocumentInfoTest { + XMultiServiceFactory m_xMSF = null; + TestHelper m_aTestHelper = null; + + public Test01 ( XMultiServiceFactory xMSF, LogWriter aLogWriter ) { + m_xMSF = xMSF; + m_aTestHelper = new TestHelper( aLogWriter, "Test01: " ); + } + + public boolean test() { + try { + final String sDocTitle [] = new String [] { + "ODF_Doc", "OOo6_Doc", "old_binary_Doc" }; + final String sFilterName [] = new String [] { + "writer8", "StarOffice XML (Writer)", "StarWriter 5.0" }; + + for (int i = 0; i < 3; ++i ) { + m_aTestHelper.Message ( "==============================" ); + m_aTestHelper.Message ( sFilterName[i] ); + m_aTestHelper.Message ( "==============================" ); + //create a new temporary file + Object oTempFile = m_xMSF.createInstance ( "com.sun.star.io.TempFile" ); + XTempFile xTempFile = (XTempFile) UnoRuntime.queryInterface ( + XTempFile.class, oTempFile ); + + //create a text document and initiallize it + Object oTextDocument = m_xMSF.createInstance ( "com.sun.star.text.TextDocument" ); + XLoadable xLoadable = (XLoadable) UnoRuntime.queryInterface ( + XLoadable.class, oTextDocument ); + xLoadable.initNew(); + m_aTestHelper.Message ( "New document initialized." ); + + //store the instance to the temporary file URL + XStorable xStorable = (XStorable) UnoRuntime.queryInterface ( + XStorable.class, oTextDocument ); + String sURL = AnyConverter.toString ( xTempFile.getUri () ); + PropertyValue aProps[] = new PropertyValue[2]; + aProps[0] = new PropertyValue(); + aProps[0].Name = "DocumentTitle"; + aProps[0].Value = sDocTitle[i]; + aProps[1] = new PropertyValue(); + aProps[1].Name = "FilterName"; + aProps[1].Value = sFilterName[i]; + m_aTestHelper.Message ( "Set title: " + + sDocTitle[i] ); + xStorable.storeToURL ( sURL, aProps ); + m_aTestHelper.Message ( "Document stored." ); + + //create StandaloneDocumentInfo object and load it from the file + Object oStandaloneDocInfo = m_xMSF.createInstance ( + "com.sun.star.document.StandaloneDocumentInfo" ); + XStandaloneDocumentInfo xStandaloneDocInfo = + (XStandaloneDocumentInfo) UnoRuntime.queryInterface ( + XStandaloneDocumentInfo.class, oStandaloneDocInfo ); + xStandaloneDocInfo.loadFromURL ( sURL ); + m_aTestHelper.Message ( "StandaloneDocumentInfo loaded." ); + + //get the title from the object and check it + XPropertySet xPropSet = + (XPropertySet)UnoRuntime.queryInterface ( + XPropertySet.class, oStandaloneDocInfo ); + String sTitle = xPropSet.getPropertyValue ( "Title" ).toString (); + m_aTestHelper.Message ( "Get title: " + sTitle ); + if ( sTitle.compareTo ( sDocTitle[i] ) != 0 ) { + m_aTestHelper.Error ( "Title not match. Expected \"" + + sDocTitle[i] + + "\"" ); + return false; + } else { + m_aTestHelper.Message ( "Title matched." ); + } + + //set a new title to the object + sTitle += "_new"; + xPropSet.setPropertyValue ( "Title", sTitle ); + m_aTestHelper.Message ( "Set new title: " + sTitle ); + + //store the object to the same file + xStandaloneDocInfo.storeIntoURL ( sURL ); + m_aTestHelper.Message ( "Document info stored." ); + + //create a new StandaloneDocumentInfo object and load it from the file + Object oStandaloneDocInfo_ = m_xMSF.createInstance ( + "com.sun.star.document.StandaloneDocumentInfo" ); + XStandaloneDocumentInfo xStandaloneDocInfo_ = + (XStandaloneDocumentInfo)UnoRuntime.queryInterface ( + XStandaloneDocumentInfo.class, oStandaloneDocInfo_ ); + xStandaloneDocInfo_.loadFromURL ( sURL ); + m_aTestHelper.Message ( "New StandaloneDocumentInfo loaded." ); + + //get the title and check it + XPropertySet xPropSet_ = (XPropertySet)UnoRuntime.queryInterface ( + XPropertySet.class, oStandaloneDocInfo_ ); + String sTitle_ = xPropSet_.getPropertyValue ( "Title" ).toString (); + m_aTestHelper.Message ( "Get new title: " + sTitle_ ); + if ( sTitle_.compareTo ( sTitle ) != 0 ) { + m_aTestHelper.Error ( "New title not matched. Expected: \"" + sTitle + + "\"." ); + return false; + } else { + m_aTestHelper.Message ( "New title matched." ); + } + } + } catch ( Exception e ) { + m_aTestHelper.Error( "Exception: " + e ); + return false; + } + return true; + } +} |