INTEGRATION: CWS fwk79 (1.1.2); FILE ADDED
2007/12/05 12:31:51 mav 1.1.2.1: #i84234# adjust the tests
This commit is contained in:
parent
2fbef831e1
commit
df428184ae
1 changed files with 134 additions and 0 deletions
134
package/qa/storages/RegressionTest_i84234.java
Normal file
134
package/qa/storages/RegressionTest_i84234.java
Normal file
|
@ -0,0 +1,134 @@
|
|||
package complex.storages;
|
||||
|
||||
import com.sun.star.uno.XInterface;
|
||||
import com.sun.star.lang.XMultiServiceFactory;
|
||||
import com.sun.star.lang.XSingleServiceFactory;
|
||||
|
||||
import com.sun.star.bridge.XUnoUrlResolver;
|
||||
import com.sun.star.uno.UnoRuntime;
|
||||
import com.sun.star.uno.XInterface;
|
||||
import com.sun.star.io.XStream;
|
||||
import com.sun.star.io.XInputStream;
|
||||
|
||||
import com.sun.star.embed.*;
|
||||
|
||||
import share.LogWriter;
|
||||
import complex.storages.TestHelper;
|
||||
import complex.storages.StorageTest;
|
||||
|
||||
public class RegressionTest_i84234 implements StorageTest {
|
||||
|
||||
XMultiServiceFactory m_xMSF;
|
||||
XSingleServiceFactory m_xStorageFactory;
|
||||
TestHelper m_aTestHelper;
|
||||
|
||||
public RegressionTest_i84234( XMultiServiceFactory xMSF, XSingleServiceFactory xStorageFactory, LogWriter aLogWriter )
|
||||
{
|
||||
m_xMSF = xMSF;
|
||||
m_xStorageFactory = xStorageFactory;
|
||||
m_aTestHelper = new TestHelper( aLogWriter, "RegressionTest_i84234: " );
|
||||
}
|
||||
|
||||
public boolean test()
|
||||
{
|
||||
try
|
||||
{
|
||||
XStream xTempFileStream = m_aTestHelper.CreateTempFileStream( m_xMSF );
|
||||
if ( xTempFileStream == null )
|
||||
return false;
|
||||
|
||||
// create storage based on the temporary stream
|
||||
Object pArgs[] = new Object[2];
|
||||
pArgs[0] = (Object) xTempFileStream;
|
||||
pArgs[1] = new Integer( ElementModes.WRITE );
|
||||
|
||||
Object oTempStorage = m_xStorageFactory.createInstanceWithArguments( pArgs );
|
||||
XStorage xTempStorage = (XStorage) UnoRuntime.queryInterface( XStorage.class, oTempStorage );
|
||||
if ( xTempStorage == null )
|
||||
{
|
||||
m_aTestHelper.Error( "Can't create temporary storage representation!" );
|
||||
return false;
|
||||
}
|
||||
|
||||
// open a new substorage
|
||||
XStorage xTempSubStorage = m_aTestHelper.openSubStorage( xTempStorage,
|
||||
"SubStorage1",
|
||||
ElementModes.WRITE );
|
||||
if ( xTempSubStorage == null )
|
||||
{
|
||||
m_aTestHelper.Error( "Can't create substorage!" );
|
||||
return false;
|
||||
}
|
||||
|
||||
byte pBytes1[] = { 1, 1, 1, 1, 1 };
|
||||
|
||||
// open a new substream, set "MediaType" and "Compressed" properties to it and write some bytes
|
||||
if ( !m_aTestHelper.WriteBytesToSubstream( xTempStorage, "SubStream1", "text/xml", false, pBytes1 ) )
|
||||
return false;
|
||||
|
||||
// open a new substream, set "MediaType" and "Compressed" properties to it and write some bytes
|
||||
if ( !m_aTestHelper.WriteBytesToSubstream( xTempSubStorage, "SubStream2", "text/xml", false, pBytes1 ) )
|
||||
return false;
|
||||
|
||||
|
||||
// ================================================
|
||||
// commit the storages and dispose them
|
||||
// ================================================
|
||||
|
||||
// commit substorage
|
||||
if ( !m_aTestHelper.commitStorage( xTempSubStorage ) )
|
||||
return false;
|
||||
|
||||
// dispose substorage
|
||||
if ( !m_aTestHelper.disposeStorage( xTempSubStorage ) )
|
||||
return false;
|
||||
|
||||
// commit storage
|
||||
if ( !m_aTestHelper.commitStorage( xTempStorage ) )
|
||||
return false;
|
||||
|
||||
// dispose storage
|
||||
if ( !m_aTestHelper.disposeStorage( xTempStorage ) )
|
||||
return false;
|
||||
|
||||
// ================================================
|
||||
// reopen the storages in readwrite mode and check Compressed flag
|
||||
// ================================================
|
||||
|
||||
oTempStorage = m_xStorageFactory.createInstanceWithArguments( pArgs );
|
||||
xTempStorage = (XStorage) UnoRuntime.queryInterface( XStorage.class, oTempStorage );
|
||||
if ( xTempStorage == null )
|
||||
{
|
||||
m_aTestHelper.Error( "Can't create temporary storage representation!" );
|
||||
return false;
|
||||
}
|
||||
|
||||
// open a new substorage
|
||||
xTempSubStorage = m_aTestHelper.openSubStorage( xTempStorage,
|
||||
"SubStorage1",
|
||||
ElementModes.WRITE );
|
||||
if ( xTempSubStorage == null )
|
||||
{
|
||||
m_aTestHelper.Error( "Can't create substorage!" );
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !m_aTestHelper.checkStream( xTempStorage, "SubStream1", "text/xml", false, pBytes1 ) )
|
||||
return false;
|
||||
|
||||
if ( !m_aTestHelper.checkStream( xTempSubStorage, "SubStream2", "text/xml", false, pBytes1 ) )
|
||||
return false;
|
||||
|
||||
// the root storage is based on the temporary stream so it can be left undisposed, since it does not lock
|
||||
// any resource, later the garbage collector will release the object and it must die by refcount
|
||||
|
||||
return true;
|
||||
}
|
||||
catch( Exception e )
|
||||
{
|
||||
m_aTestHelper.Error( "Exception: " + e );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in a new issue