summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorDaniel Boelzle <dbo@openoffice.org>2002-08-22 13:42:23 +0000
committerDaniel Boelzle <dbo@openoffice.org>2002-08-22 13:42:23 +0000
commit13b98d9d06f755ac3717b43f69adbb0caf423f9b (patch)
tree2553f630dd028c2b3bcbd149ad1654b8c19a79cb /stoc
parent7942743f2987ad80325d398449c1fd175c03a48c (diff)
#102239# invocation adapter factory test
Diffstat (limited to 'stoc')
-rw-r--r--stoc/test/makefile.mk6
-rw-r--r--stoc/test/testiadapter.cxx36
2 files changed, 34 insertions, 8 deletions
diff --git a/stoc/test/makefile.mk b/stoc/test/makefile.mk
index 64e8e0ce5ff5..b87ac20a778c 100644
--- a/stoc/test/makefile.mk
+++ b/stoc/test/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.17 $
+# $Revision: 1.18 $
#
-# last change: $Author: dbo $ $Date: 2002-01-25 12:47:35 $
+# last change: $Author: dbo $ $Date: 2002-08-22 14:42:22 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -246,7 +246,7 @@ MY_DLLPOSTFIX=.so
MY_DLLPREFIX=lib
.ENDIF
TESTCOREFL:=ModuleC;ModuleC.XInterfaceA;ModuleC.XInterfaceB;ModuleA.XInterface1;com.sun.star.reflection.XIdlReflection;com.sun.star.reflection.XIdlField;com.sun.star.reflection.XIdlArray;com.sun.star.reflection.XIdlMethod;com.sun.star.reflection.XIdlClass;com.sun.star.beans.XPropertySet;com.sun.star.lang.XComponent;com.sun.star.container.XHierarchicalNameAccess;com.sun.star.reflection.XIdlField2
-TESTIADAPTER:=com.sun.star.beans.XIntrospection;com.sun.star.beans.MethodConcept;com.sun.star.beans.XExactName;com.sun.star.lang.XTypeProvider;com.sun.star.uno.XAggregation;com.sun.star.script.XInvocationAdapterFactory;com.sun.star.script.XInvocation;com.sun.star.lang.XMultiServiceFactory;com.sun.star.registry.XSimpleRegistry;com.sun.star.lang.XInitialization;test.XLanguageBindingTest
+TESTIADAPTER:=com.sun.star.beans.XIntrospection;com.sun.star.beans.MethodConcept;com.sun.star.beans.XExactName;com.sun.star.lang.XTypeProvider;com.sun.star.uno.XAggregation;com.sun.star.script.XInvocationAdapterFactory;com.sun.star.script.XInvocationAdapterFactory2;com.sun.star.script.XInvocation;com.sun.star.lang.XMultiServiceFactory;com.sun.star.registry.XSimpleRegistry;com.sun.star.lang.XInitialization;test.XLanguageBindingTest
TESTINTROSP:=ModuleA;ModuleA.XIntroTest;com.sun.star.beans.XPropertySet;com.sun.star.container.XIndexAccess;com.sun.star.container.XNameAccess;com.sun.star.beans.PropertyAttribute;com.sun.star.beans.PropertyConcept
TESTCONV:=com.sun.star.script.XTypeConverter
TESTPROXYFAC:=com.sun.star.reflection.XProxyFactory
diff --git a/stoc/test/testiadapter.cxx b/stoc/test/testiadapter.cxx
index 36db817a7ebc..e72af469639f 100644
--- a/stoc/test/testiadapter.cxx
+++ b/stoc/test/testiadapter.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: testiadapter.cxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: hr $ $Date: 2002-08-19 14:14:04 $
+ * last change: $Author: dbo $ $Date: 2002-08-22 14:42:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -71,6 +71,7 @@
#include <com/sun/star/registry/XImplementationRegistration.hpp>
#include <com/sun/star/script/XInvocation.hpp>
#include <com/sun/star/script/XInvocationAdapterFactory.hpp>
+#include <com/sun/star/script/XInvocationAdapterFactory2.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
@@ -982,18 +983,39 @@ static sal_Bool test_adapter( const Reference< XMultiServiceFactory > & xMgr )
{
Reference< XInvocationAdapterFactory > xAdapFac(
xMgr->createInstance( OUString::createFromAscii("com.sun.star.script.InvocationAdapterFactory") ), UNO_QUERY );
+ Reference< XInvocationAdapterFactory2 > xAdapFac2( xAdapFac, UNO_QUERY_THROW );
Reference< XLanguageBindingTest > xOriginal( (XLanguageBindingTest *)new Test_Impl() );
Reference< XInvocation > xInvok( new XLB_Invocation( xMgr, xOriginal ) );
Reference< XLanguageBindingTest > xLBT( xAdapFac->createAdapter(
xInvok, ::getCppuType( (const Reference< XLanguageBindingTest > *)0 ) ), UNO_QUERY );
+ Reference< XLanguageBindingTest > xLBT2(
+ xAdapFac->createAdapter(
+ xInvok, ::getCppuType( (const Reference< XLanguageBindingTest > *)0 ) ), UNO_QUERY );
+ if (xLBT != xLBT2)
+ return sal_False;
+ Reference< XInterface > xLBT3(
+ xAdapFac->createAdapter(
+ xInvok, ::getCppuType( (const Reference< XInterface > *)0 ) ), UNO_QUERY );
+ if (xLBT != xLBT3)
+ return sal_False;
+ Type ar[ 2 ] = {
+ ::getCppuType( (const Reference< XLBTestBase > *)0 ),
+ ::getCppuType( (const Reference< XInterface > *)0 ) };
+ Reference< XInterface > xLBT4(
+ xAdapFac2->createAdapter( xInvok, Sequence< Type >( ar, 2 ) ), UNO_QUERY );
+ if (xLBT != xLBT4)
+ return sal_False;
+ Reference< XSimpleRegistry > xInvalidAdapter(
+ xAdapFac->createAdapter(
+ xInvok, ::getCppuType( (const Reference< XSimpleRegistry > *)0 ) ), UNO_QUERY );
+ if (xLBT == xInvalidAdapter)
+ return sal_False;
- Reference< XSimpleRegistry > xInvalidAdapter( xAdapFac->createAdapter(
- xInvok, ::getCppuType( (const Reference< XSimpleRegistry > *)0 ) ), UNO_QUERY );
try
{
xInvalidAdapter->isValid();
- OSL_ENSURE( 0, "### invalid adapter created, but call succeeded!" );
+ return sal_False;
}
catch (RuntimeException &)
{
@@ -1056,6 +1078,10 @@ int __cdecl main( int argc, char * argv[] )
Reference< XSimpleRegistry >() );
xImplReg->registerImplementation(
OUString::createFromAscii("com.sun.star.loader.SharedLibrary"),
+ OUString::createFromAscii(REG_PREFIX "tcv" DLL_POSTFIX),
+ Reference< XSimpleRegistry >() );
+ xImplReg->registerImplementation(
+ OUString::createFromAscii("com.sun.star.loader.SharedLibrary"),
OUString::createFromAscii(REG_PREFIX "inv" DLL_POSTFIX),
Reference< XSimpleRegistry >() );
xImplReg->registerImplementation(