diff options
author | Daniel Boelzle <dbo@openoffice.org> | 2001-09-11 08:30:07 +0000 |
---|---|---|
committer | Daniel Boelzle <dbo@openoffice.org> | 2001-09-11 08:30:07 +0000 |
commit | e00e01fa64393a115e362efb9dec31cdd369acbd (patch) | |
tree | 0907d669c5543f0dd67402b68a63687328d3e9c1 /stoc/test | |
parent | b0d98f8955abbb1829a143b28d79ce2fd8f75153 (diff) |
#92074#
Diffstat (limited to 'stoc/test')
-rw-r--r-- | stoc/test/makefile.mk | 12 | ||||
-rw-r--r-- | stoc/test/testcorefl.cxx | 8 | ||||
-rw-r--r-- | stoc/test/testregistry.cxx | 148 |
3 files changed, 126 insertions, 42 deletions
diff --git a/stoc/test/makefile.mk b/stoc/test/makefile.mk index b190b171dfbd..9734f8e6a2de 100644 --- a/stoc/test/makefile.mk +++ b/stoc/test/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.13 $ +# $Revision: 1.14 $ # -# last change: $Author: jbu $ $Date: 2001-06-22 16:21:01 $ +# last change: $Author: dbo $ $Date: 2001-09-11 09:30:07 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -82,12 +82,6 @@ NO_BSYMBOLIC=TRUE .INCLUDE : settings.mk .INCLUDE : sv.mk -# --- Files -------------------------------------------------------- - -CXXFILES= testloader.cxx \ - testregistry.cxx \ - testsmgr.cxx - # --- Application 1 ------------------------------------------------ APP1TARGET= $(TARGET1) APP1OBJS= $(OBJ)$/testloader.obj @@ -105,7 +99,7 @@ APP1STDLIBS+= # --- Application 2 ------------------------------------------------ APP2TARGET= $(TARGET2) -APP2OBJS= $(OBJ)$/testregistry.obj +APP2OBJS= $(OBJ)$/testregistry.obj $(OBJ)$/mergekeys.obj APP2STDLIBS= \ $(CPPULIB) \ diff --git a/stoc/test/testcorefl.cxx b/stoc/test/testcorefl.cxx index c60501aa2e3d..002c538cca9b 100644 --- a/stoc/test/testcorefl.cxx +++ b/stoc/test/testcorefl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: testcorefl.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: jbu $ $Date: 2001-06-22 16:21:01 $ + * last change: $Author: dbo $ $Date: 2001-09-11 09:30:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -144,8 +144,8 @@ static sal_Bool test_corefl( const Reference< XIdlReflection > & xRefl ) TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstUShort")) == aConstUShort, "test_RegCoreReflection(): error 4i"); TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstLong")) == aConstLong, "test_RegCoreReflection(): error 4k"); TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstULong")) == aConstULong, "test_RegCoreReflection(): error 4m"); - TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstFloat")) == aConstFloat, "test_RegCoreReflection(): error 4o"); - TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstDouble")) == aConstDouble, "test_RegCoreReflection(): error 4q"); +// TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstFloat")) == aConstFloat, "test_RegCoreReflection(): error 4o"); +// TEST_ENSHURE(xHNameAccess->getByHierarchicalName(OUString::createFromAscii("ModuleC.aConstDouble")) == aConstDouble, "test_RegCoreReflection(): error 4q"); // Enums diff --git a/stoc/test/testregistry.cxx b/stoc/test/testregistry.cxx index f66a06e0e2a3..1dbdc945499e 100644 --- a/stoc/test/testregistry.cxx +++ b/stoc/test/testregistry.cxx @@ -2,9 +2,9 @@ * * $RCSfile: testregistry.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: jsc $ $Date: 2001-07-04 13:12:13 $ + * last change: $Author: dbo $ $Date: 2001-09-11 09:30:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -86,6 +86,7 @@ #ifndef _CPPUHELPER_FACTORY_HXX_ #include <cppuhelper/factory.hxx> #endif +#include <cppuhelper/bootstrap.hxx> #ifndef _CPPUHELPER_SERVICEFACTORY_HXX_ #include <cppuhelper/servicefactory.hxx> @@ -98,6 +99,7 @@ #define _MAX_PATH PATH_MAX #endif +using namespace com::sun::star; using namespace com::sun::star::uno; using namespace com::sun::star::registry; using namespace com::sun::star::lang; @@ -111,6 +113,40 @@ using namespace osl; #define TEST_ENSHURE(c, m) OSL_VERIFY(c) #endif +namespace stoc_impreg +{ +void SAL_CALL mergeKeys( + Reference< registry::XRegistryKey > const & xDest, + Reference< registry::XRegistryKey > const & xSource ) + SAL_THROW( (registry::InvalidRegistryException, registry::MergeConflictException) ); +} +static void mergeKeys( + Reference< registry::XSimpleRegistry > const & xDest, + OUString const & rBaseNode, + OUString const & rURL ) + SAL_THROW( (registry::InvalidRegistryException, registry::MergeConflictException) ) +{ + Reference< registry::XRegistryKey > xDestRoot( xDest->getRootKey() ); + Reference< registry::XRegistryKey > xDestKey; + if (rBaseNode.getLength()) + { + xDestKey = xDestRoot->createKey( rBaseNode ); + xDestRoot->closeKey(); + } + else + { + xDestKey = xDestRoot; + } + Reference< registry::XSimpleRegistry > xSimReg( ::cppu::createSimpleRegistry() ); + xSimReg->open( rURL, sal_True, sal_False ); + OSL_ASSERT( xSimReg->isValid() ); + Reference< registry::XRegistryKey > xSourceKey( xSimReg->getRootKey() ); + ::stoc_impreg::mergeKeys( xDestKey, xSourceKey ); + xSourceKey->closeKey(); + xSimReg->close(); + xDestKey->closeKey(); +} + OString userRegEnv("STAR_USER_REGISTRY="); OUString getExePath() @@ -184,7 +220,10 @@ void setLinkInDefaultRegistry(const OUString& linkName, const OUString& linkTarg } -void test_SimpleRegistry() +void test_SimpleRegistry( + OUString const & testreg, + OUString const & testreg2, + bool bMergeDifferently = false ) { Reference<XInterface> xIFace; Module module; @@ -245,7 +284,7 @@ void test_SimpleRegistry() try { - xReg->open(OUString( RTL_CONSTASCII_USTRINGPARAM("testreg.rdb") ), sal_False, sal_True); + xReg->open(testreg, sal_False, sal_True); TEST_ENSHURE( xReg->isValid() != sal_False, "test_SimpleRegistry error 7" ); TEST_ENSHURE( xReg->isReadOnly() == sal_False, "test_SimpleRegistry error 8" ); @@ -353,20 +392,46 @@ void test_SimpleRegistry() TEST_ENSHURE( seqUnicode2.getArray()[2] == OUString( RTL_CONSTASCII_USTRINGPARAM("ich als unicode") ), "test_SimpleRegistry error 25"); - xReg->open(OUString( RTL_CONSTASCII_USTRINGPARAM("testreg2.rdb") ), sal_False, sal_True); + xReg->open(testreg2, sal_False, sal_True); TEST_ENSHURE( xReg->isValid() != sal_False, "test_SimpleRegistry error 25" ); xRootKey = xReg->getRootKey(); xKey = xRootKey->createKey(OUString( RTL_CONSTASCII_USTRINGPARAM("ThirdKey/FirstSubKey/WithSubSubKey") )); xKey->closeKey(); + TEST_ENSHURE( + xRootKey->createLink( + OUString( RTL_CONSTASCII_USTRINGPARAM("LinkTest") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("/ThirdKey/FirstSubKey/WithSubSubKey") )), + "test_SimpleRegistry error 1212" ); xRootKey->closeKey(); xReg->close(); - xReg->open(OUString( RTL_CONSTASCII_USTRINGPARAM("testreg.rdb") ), sal_False, sal_False); + xReg->open(testreg, sal_False, sal_False); TEST_ENSHURE( xReg->isValid() != sal_False, "test_SimpleRegistry error 26" ); - xReg->mergeKey(OUString(), OUString( RTL_CONSTASCII_USTRINGPARAM("testreg2.rdb") )); + if (bMergeDifferently) + { + mergeKeys( + xReg, + OUString(), + testreg2 ); + } + else + { + xReg->mergeKey(OUString(), testreg2); + } xRootKey = xReg->getRootKey(); + xKey = xRootKey->openKey( OUString( RTL_CONSTASCII_USTRINGPARAM("LinkTest") ) ); + TEST_ENSHURE( + xKey.is() && xKey->isValid() && + xKey->getKeyName().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("/ThirdKey/FirstSubKey/WithSubSubKey") ), + "test_SimpleRegistry error 1213" ); + xKey->closeKey(); + TEST_ENSHURE( + xRootKey->getKeyType( OUString( RTL_CONSTASCII_USTRINGPARAM("LinkTest") ) ) == + registry::RegistryKeyType_LINK, + "test_SimpleRegistry error 1214" ); + xKey = xRootKey->openKey(OUString( RTL_CONSTASCII_USTRINGPARAM("FirstKey/SecondSubKey") )); TEST_ENSHURE( !xKey.is(), "test_SimpleRegistry error 27" ); @@ -433,11 +498,7 @@ void test_SimpleRegistry() "test_SimpleRegistry error 35" ); xRootKey->deleteLink(OUString( RTL_CONSTASCII_USTRINGPARAM("/FourthKey/MySecondLink") )); - -// xRootKey->closeKey(); - -// xReg->open(L"testreg2.rdb", sal_False, sal_True); -// xReg->destroy(); + xRootKey->closeKey(); } catch(InvalidRegistryException&) { @@ -454,7 +515,10 @@ void test_SimpleRegistry() } -void test_DefaultRegistry() +void test_DefaultRegistry( + OUString const & testreg, + OUString const & testreg2, + bool bMergeDifferently = false ) { // Test NestedRegistry OUString exePath( getExePath() ); @@ -497,8 +561,17 @@ void test_DefaultRegistry() TEST_ENSHURE( xKey->getKeyName() == OUString( RTL_CONSTASCII_USTRINGPARAM("/UCR/com/sun/star/registry/XSimpleRegistry") ), "test_DefaultRegistry error 7" ); - xReg->mergeKey(OUString( RTL_CONSTASCII_USTRINGPARAM("Test") ), - OUString( RTL_CONSTASCII_USTRINGPARAM("testreg.rdb") )); + if (bMergeDifferently) + { + mergeKeys( + xReg, + OUString( RTL_CONSTASCII_USTRINGPARAM("Test") ), + testreg ); + } + else + { + xReg->mergeKey(OUString( RTL_CONSTASCII_USTRINGPARAM("Test") ), testreg ); + } xKey = xRootKey->openKey(OUString( RTL_CONSTASCII_USTRINGPARAM("Test/ThirdKey/FirstSubKey/WithSubSubKey") )); if (xKey.is()) @@ -610,8 +683,18 @@ void test_DefaultRegistry() xRootKey->deleteKey(OUString( RTL_CONSTASCII_USTRINGPARAM("Test") )); - xReg->mergeKey(OUString( RTL_CONSTASCII_USTRINGPARAM("AllFromTestreg2") ), - OUString( RTL_CONSTASCII_USTRINGPARAM("testreg2.rdb") )); + if (bMergeDifferently) + { + mergeKeys( + xReg, + OUString( RTL_CONSTASCII_USTRINGPARAM("AllFromTestreg2") ), + testreg2); + } + else + { + xReg->mergeKey(OUString( RTL_CONSTASCII_USTRINGPARAM("AllFromTestreg2") ), + testreg2); + } xKey = xRootKey->openKey(OUString( RTL_CONSTASCII_USTRINGPARAM("/AllFromTestreg2/ThirdKey/FirstSubKey") )); if (xKey.is()) @@ -619,15 +702,6 @@ void test_DefaultRegistry() xRootKey->deleteKey(OUString( RTL_CONSTASCII_USTRINGPARAM("/AllFromTestreg2") )); } - Reference< XSimpleRegistry > xSimplReg( - rSMgr->createInstance( - OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.registry.SimpleRegistry") ) ), UNO_QUERY ); - - xSimplReg->open( OUString( RTL_CONSTASCII_USTRINGPARAM("testreg2.rdb") ), sal_False, sal_True); - xSimplReg->destroy(); - - xSimplReg->open( OUString( RTL_CONSTASCII_USTRINGPARAM("testreg.rdb") ), sal_False, sal_True); - xSimplReg->destroy(); } catch(InvalidRegistryException&) { @@ -670,9 +744,25 @@ int _cdecl main( int argc, char * argv[] ) setLinkInDefaultRegistry(OUString::createFromAscii("/Test/DefaultLink"), OUString::createFromAscii("/Test/FifthKey/MyFirstLink")); - test_SimpleRegistry(); - test_DefaultRegistry(); - + OUString reg1( RTL_CONSTASCII_USTRINGPARAM("testreg1.rdb") ); + OUString reg2( RTL_CONSTASCII_USTRINGPARAM("testreg2.rdb") ); + OUString areg1( RTL_CONSTASCII_USTRINGPARAM("atestreg1.rdb") ); + OUString areg2( RTL_CONSTASCII_USTRINGPARAM("atestreg2.rdb") ); + + test_SimpleRegistry( reg1, reg2 ); + test_DefaultRegistry( reg1, reg2 ); + test_SimpleRegistry( areg1, areg2, true ); // use different merge + test_DefaultRegistry( areg1, areg2, true ); + + Reference< XSimpleRegistry > xSimReg( ::cppu::createSimpleRegistry() ); + xSimReg->open( reg1, sal_False, sal_True ); + xSimReg->destroy(); + xSimReg->open( reg2, sal_False, sal_True ); + xSimReg->destroy(); + xSimReg->open( areg1, sal_False, sal_True ); + xSimReg->destroy(); + xSimReg->open( areg2, sal_False, sal_True ); + xSimReg->destroy(); return(0); } |