summaryrefslogtreecommitdiff
path: root/cppu/qa/test_unotype.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppu/qa/test_unotype.cxx')
-rw-r--r--cppu/qa/test_unotype.cxx812
1 files changed, 812 insertions, 0 deletions
diff --git a/cppu/qa/test_unotype.cxx b/cppu/qa/test_unotype.cxx
new file mode 100644
index 000000000000..eda5be571e7b
--- /dev/null
+++ b/cppu/qa/test_unotype.cxx
@@ -0,0 +1,812 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_cppu.hxx"
+
+#include "sal/config.h"
+
+#include <typeinfo>
+
+#include "com/sun/star/beans/Optional.hpp"
+#include "com/sun/star/beans/PropertyChangeEvent.hpp"
+#include "com/sun/star/lang/EventObject.hpp"
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/Type.hxx"
+#include "com/sun/star/uno/TypeClass.hpp"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "cppu/unotype.hxx"
+#include "testshl/simpleheader.hxx"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+
+namespace com { namespace sun { namespace star { namespace uno {
+ class Any;
+} } } }
+
+namespace {
+
+namespace css = com::sun::star;
+
+struct DerivedStruct1: css::lang::EventObject {};
+
+struct DerivedStruct2: css::beans::PropertyChangeEvent {};
+
+struct DerivedException1: css::uno::Exception {};
+
+struct DerivedException2: css::uno::RuntimeException {};
+
+struct DerivedInterface1: css::uno::XInterface {};
+
+struct DerivedInterface2: css::uno::XComponentContext {};
+
+class Test: public ::CppUnit::TestFixture {
+public:
+ void testUnoType();
+
+ void testGetTypeFavourUnsigned();
+
+ void testGetTypeFavourChar();
+
+ CPPUNIT_TEST_SUITE(Test);
+ CPPUNIT_TEST(testUnoType);
+ CPPUNIT_TEST(testGetTypeFavourUnsigned);
+ CPPUNIT_TEST(testGetTypeFavourChar);
+ CPPUNIT_TEST_SUITE_END();
+};
+
+void Test::testUnoType() {
+ css::uno::Type t;
+ t = ::cppu::UnoType< ::cppu::UnoVoidType >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_VOID, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("void")), t.getTypeName());
+ t = ::cppu::UnoType< bool >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_BOOLEAN, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("boolean")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(::cppu::UnoType< ::sal_Bool >::get() == t);
+ t = ::cppu::UnoType< ::sal_Int8 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_BYTE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("byte")), t.getTypeName());
+ t = ::cppu::UnoType< ::sal_Int16 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SHORT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("short")), t.getTypeName());
+ t = ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_UNSIGNED_SHORT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("unsigned short")),
+ t.getTypeName());
+ t = ::cppu::UnoType< ::sal_Int32 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_LONG, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("long")), t.getTypeName());
+ t = ::cppu::UnoType< ::sal_uInt32 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_UNSIGNED_LONG, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("unsigned long")),
+ t.getTypeName());
+ t = ::cppu::UnoType< ::sal_Int64 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_HYPER, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("hyper")), t.getTypeName());
+ t = ::cppu::UnoType< ::sal_uInt64 >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_UNSIGNED_HYPER, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("unsigned hyper")),
+ t.getTypeName());
+ t = ::cppu::UnoType< float >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_FLOAT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("float")), t.getTypeName());
+ t = ::cppu::UnoType< double >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_DOUBLE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("double")),
+ t.getTypeName());
+ t = ::cppu::UnoType< ::cppu::UnoCharType >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_CHAR, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("char")), t.getTypeName());
+ t = ::cppu::UnoType< ::rtl::OUString >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRING, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("string")),
+ t.getTypeName());
+ t = ::cppu::UnoType< css::uno::Type >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_TYPE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("type")), t.getTypeName());
+ t = ::cppu::UnoType< css::uno::Any >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_ANY, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any")), t.getTypeName());
+ t = ::cppu::UnoType< ::cppu::UnoSequenceType< ::sal_Int8 > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[]byte")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType< css::uno::Sequence< ::sal_Int8 > >::get() == t);
+ t = ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[]unsigned short")),
+ t.getTypeName());
+ t = ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoCharType > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[]char")),
+ t.getTypeName());
+ t = ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::sal_Int8 > > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[][]byte")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType<
+ css::uno::Sequence< css::uno::Sequence< ::sal_Int8 > > >::get() == t);
+ t = ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[][]unsigned short")),
+ t.getTypeName());
+ t = ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoCharType > > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[][]char")),
+ t.getTypeName());
+ t = ::cppu::UnoType< css::uno::TypeClass >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_ENUM, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.TypeClass")),
+ t.getTypeName());
+ t = ::cppu::UnoType< css::lang::EventObject >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.EventObject")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedStruct1 >::get() == t);
+ t = ::cppu::UnoType< css::beans::PropertyChangeEvent >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.beans.PropertyChangeEvent")),
+ t.getTypeName());
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedStruct2 >::get() == t);
+#endif
+ t = ::cppu::UnoType< css::beans::Optional< ::sal_Int8 > >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.beans.Optional<byte>")),
+ t.getTypeName());
+ t = ::cppu::UnoType< css::uno::Exception >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_EXCEPTION, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.Exception")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedException1 >::get() == t);
+ t = ::cppu::UnoType< css::uno::RuntimeException >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_EXCEPTION, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.RuntimeException")),
+ t.getTypeName());
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedException2 >::get() == t);
+#endif
+ t = ::cppu::UnoType< css::uno::XInterface >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_INTERFACE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType< css::uno::Reference< css::uno::XInterface > >::get() ==
+ t);
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedInterface1 >::get() == t);
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType< css::uno::Reference< DerivedInterface1 > >::get() ==
+ t);
+ t = ::cppu::UnoType< css::uno::XComponentContext >::get();
+ CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_INTERFACE, t.getTypeClass());
+ CPPUNIT_ASSERT_EQUAL(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XComponentContext")),
+ t.getTypeName());
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType<
+ css::uno::Reference< css::uno::XComponentContext > >::get() == t);
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(::cppu::UnoType< DerivedInterface2 >::get() == t);
+ CPPUNIT_ASSERT(
+ ::cppu::UnoType< css::uno::Reference< DerivedInterface2 > >::get() ==
+ t);
+#endif
+}
+
+void Test::testGetTypeFavourUnsigned() {
+ CPPUNIT_ASSERT(typeid(::sal_Unicode) == typeid(::sal_uInt16));
+ CPPUNIT_ASSERT(
+ ::getCppuType(static_cast< ::sal_Unicode * >(0)) ==
+ ::getCppuType(static_cast< ::sal_uInt16 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< ::cppu::UnoVoidType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoVoidType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< bool * >(0)) ==
+ ::cppu::UnoType< bool >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< bool * >(0)) ==
+ ::getCppuType(static_cast< bool * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Bool * >(0)) ==
+ ::cppu::UnoType< bool >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Bool * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Bool * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int8 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int8 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int8 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Int8 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int16 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int16 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int16 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Int16 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< ::cppu::UnoUnsignedShortType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt16 * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt16 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_uInt16 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int32 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int32 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int32 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Int32 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt32 * >(0)) ==
+ ::cppu::UnoType< ::sal_uInt32 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt32 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_uInt32 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int64 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int64 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Int64 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Int64 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt64 * >(0)) ==
+ ::cppu::UnoType< ::sal_uInt64 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_uInt64 * >(0)) ==
+ ::getCppuType(static_cast< ::sal_uInt64 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< float * >(0)) ==
+ ::cppu::UnoType< float >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< float * >(0)) ==
+ ::getCppuType(static_cast< float * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< double * >(0)) ==
+ ::cppu::UnoType< double >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< double * >(0)) ==
+ ::getCppuType(static_cast< double * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< ::cppu::UnoCharType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoCharType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Unicode * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::sal_Unicode * >(0)) ==
+ ::getCppuType(static_cast< ::sal_Unicode * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::rtl::OUString * >(0)) ==
+ ::cppu::UnoType< ::rtl::OUString >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< ::rtl::OUString * >(0)) ==
+ ::getCppuType(static_cast< ::rtl::OUString * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< css::uno::Type * >(0)) ==
+ ::cppu::UnoType< css::uno::Type >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< css::uno::Type * >(0)) ==
+ ::getCppuType(static_cast< css::uno::Type * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< css::uno::Any * >(0)) ==
+ ::cppu::UnoType< css::uno::Any >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< css::uno::Any * >(0)) ==
+ ::getCppuType(static_cast< css::uno::Any * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< ::sal_uInt16 > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< ::sal_uInt16 > * >(0)) ==
+ ::getCppuType(static_cast< css::uno::Sequence< ::sal_uInt16 > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_uInt16 > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_uInt16 > > * >(0)) ==
+ ::getCppuType(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_uInt16 > > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< ::sal_Unicode > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< ::sal_Unicode > * >(0)) ==
+ ::getCppuType(static_cast< css::uno::Sequence< ::sal_Unicode > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_Unicode > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_Unicode > > * >(0)) ==
+ ::getCppuType(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_Unicode > > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::TypeClass * >(0)) ==
+ ::cppu::UnoType< css::uno::TypeClass >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::TypeClass * >(0)) ==
+ ::getCppuType(static_cast< css::uno::TypeClass * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::lang::EventObject * >(0)) ==
+ ::cppu::UnoType< css::lang::EventObject >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::lang::EventObject * >(0)) ==
+ ::getCppuType(static_cast< css::lang::EventObject * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedStruct1 * >(0)) ==
+ ::cppu::UnoType< css::lang::EventObject >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedStruct1 * >(0)) ==
+ ::getCppuType(static_cast< DerivedStruct1 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::beans::PropertyChangeEvent * >(0)) ==
+ ::cppu::UnoType< css::beans::PropertyChangeEvent >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::beans::PropertyChangeEvent * >(0)) ==
+ ::getCppuType(static_cast< css::beans::PropertyChangeEvent * >(0)));
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedStruct2 * >(0)) ==
+ ::cppu::UnoType< css::beans::PropertyChangeEvent >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedStruct2 * >(0)) ==
+ ::getCppuType(static_cast< DerivedStruct2 * >(0)));
+#endif
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::beans::Optional< ::sal_Int8 > * >(0)) ==
+ ::cppu::UnoType< css::beans::Optional< ::sal_Int8 > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::beans::Optional< ::sal_Int8 > * >(0)) ==
+ ::getCppuType(static_cast< css::beans::Optional< ::sal_Int8 > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Exception * >(0)) ==
+ ::cppu::UnoType< css::uno::Exception >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Exception * >(0)) ==
+ ::getCppuType(static_cast< css::uno::Exception * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedException1 * >(0)) ==
+ ::cppu::UnoType< css::uno::Exception >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedException1 * >(0)) ==
+ ::getCppuType(static_cast< DerivedException1 * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::RuntimeException * >(0)) ==
+ ::cppu::UnoType< css::uno::RuntimeException >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::RuntimeException * >(0)) ==
+ ::getCppuType(static_cast< css::uno::RuntimeException * >(0)));
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedException2 * >(0)) ==
+ ::cppu::UnoType< css::uno::RuntimeException >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedException2 * >(0)) ==
+ ::getCppuType(static_cast< DerivedException2 * >(0)));
+#endif
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::XInterface * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Reference< css::uno::XInterface > * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Reference< css::uno::XInterface > * >(0)) ==
+ ::getCppuType(
+ static_cast< css::uno::Reference< css::uno::XInterface > * >(0)));
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedInterface1 * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Reference< DerivedInterface1 > * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::XComponentContext * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast<
+ css::uno::Reference< css::uno::XComponentContext > * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast<
+ css::uno::Reference< css::uno::XComponentContext > * >(0)) ==
+ ::getCppuType(
+ static_cast<
+ css::uno::Reference< css::uno::XComponentContext > * >(0)));
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(static_cast< DerivedInterface2 * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourUnsigned(
+ static_cast< css::uno::Reference< DerivedInterface2 > * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+#endif
+}
+
+void Test::testGetTypeFavourChar() {
+ CPPUNIT_ASSERT(typeid(::sal_Unicode) == typeid(::sal_uInt16));
+ CPPUNIT_ASSERT(
+ ::getCppuType< ::sal_Unicode >() == ::getCppuType< ::sal_uInt16 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::cppu::UnoVoidType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoVoidType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< bool * >(0)) ==
+ ::cppu::UnoType< bool >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< bool * >(0)) ==
+ ::getCppuType< bool >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Bool * >(0)) ==
+ ::cppu::UnoType< bool >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Bool * >(0)) ==
+ ::getCppuType< ::sal_Bool >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int8 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int8 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int8 * >(0)) ==
+ ::getCppuType< ::sal_Int8 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int16 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int16 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int16 * >(0)) ==
+ ::getCppuType< ::sal_Int16 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< ::cppu::UnoUnsignedShortType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoUnsignedShortType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_uInt16 * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoCharType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int32 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int32 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int32 * >(0)) ==
+ ::getCppuType< ::sal_Int32 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_uInt32 * >(0)) ==
+ ::cppu::UnoType< ::sal_uInt32 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_uInt32 * >(0)) ==
+ ::getCppuType< ::sal_uInt32 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int64 * >(0)) ==
+ ::cppu::UnoType< ::sal_Int64 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Int64 * >(0)) ==
+ ::getCppuType< ::sal_Int64 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_uInt64 * >(0)) ==
+ ::cppu::UnoType< ::sal_uInt64 >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_uInt64 * >(0)) ==
+ ::getCppuType< ::sal_uInt64 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< float * >(0)) ==
+ ::cppu::UnoType< float >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< float * >(0)) ==
+ ::getCppuType< float >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< double * >(0)) ==
+ ::cppu::UnoType< double >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< double * >(0)) ==
+ ::getCppuType< double >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::cppu::UnoCharType * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoCharType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Unicode * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoCharType >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::sal_Unicode * >(0)) ==
+ ::getCppuType< ::sal_Unicode >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::rtl::OUString * >(0)) ==
+ ::cppu::UnoType< ::rtl::OUString >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< ::rtl::OUString * >(0)) ==
+ ::getCppuType< ::rtl::OUString >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Type * >(0)) ==
+ ::cppu::UnoType< css::uno::Type >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Type * >(0)) ==
+ ::getCppuType< css::uno::Type >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Any * >(0)) ==
+ ::cppu::UnoType< css::uno::Any >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Any * >(0)) ==
+ ::getCppuType< css::uno::Any >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoUnsignedShortType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Sequence< ::sal_uInt16 > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoCharType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoUnsignedShortType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_uInt16 > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoCharType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Sequence< ::sal_Unicode > * >(0)) ==
+ ::cppu::UnoType<
+ ::cppu::UnoSequenceType< ::cppu::UnoCharType > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Sequence< css::uno::Sequence<
+ ::sal_Unicode > > * >(0)) ==
+ ::cppu::UnoType< ::cppu::UnoSequenceType< ::cppu::UnoSequenceType<
+ ::cppu::UnoCharType > > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::TypeClass * >(0)) ==
+ ::cppu::UnoType< css::uno::TypeClass >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::TypeClass * >(0)) ==
+ ::getCppuType< css::uno::TypeClass >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::lang::EventObject * >(0)) ==
+ ::cppu::UnoType< css::lang::EventObject >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::lang::EventObject * >(0)) ==
+ ::getCppuType< css::lang::EventObject >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedStruct1 * >(0)) ==
+ ::cppu::UnoType< css::lang::EventObject >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedStruct1 * >(0)) ==
+ ::getCppuType< DerivedStruct1 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::beans::PropertyChangeEvent * >(0)) ==
+ ::cppu::UnoType< css::beans::PropertyChangeEvent >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::beans::PropertyChangeEvent * >(0)) ==
+ ::getCppuType< css::beans::PropertyChangeEvent >());
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedStruct2 * >(0)) ==
+ ::cppu::UnoType< css::beans::PropertyChangeEvent >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedStruct2 * >(0)) ==
+ ::getCppuType< DerivedStruct2 >());
+#endif
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::beans::Optional< ::sal_Int8 > * >(0)) ==
+ ::cppu::UnoType< css::beans::Optional< ::sal_Int8 > >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::beans::Optional< ::sal_Int8 > * >(0)) ==
+ ::getCppuType< css::beans::Optional< ::sal_Int8 > >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Exception * >(0)) ==
+ ::cppu::UnoType< css::uno::Exception >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< css::uno::Exception * >(0)) ==
+ ::getCppuType< css::uno::Exception >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedException1 * >(0)) ==
+ ::cppu::UnoType< css::uno::Exception >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedException1 * >(0)) ==
+ ::getCppuType< DerivedException1 >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::RuntimeException * >(0)) ==
+ ::cppu::UnoType< css::uno::RuntimeException >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::RuntimeException * >(0)) ==
+ ::getCppuType< css::uno::RuntimeException >());
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedException2 * >(0)) ==
+ ::cppu::UnoType< css::uno::RuntimeException >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedException2 * >(0)) ==
+ ::getCppuType< DerivedException2 >());
+#endif
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::XInterface * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Reference< css::uno::XInterface > * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Reference< css::uno::XInterface > * >(0)) ==
+ ::getCppuType< css::uno::Reference< css::uno::XInterface > >());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedInterface1 * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Reference< DerivedInterface1 > * >(0)) ==
+ ::cppu::UnoType< css::uno::XInterface >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::XComponentContext * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast<
+ css::uno::Reference< css::uno::XComponentContext > * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast<
+ css::uno::Reference< css::uno::XComponentContext > * >(0)) ==
+ ::getCppuType< css::uno::Reference< css::uno::XComponentContext > >());
+#if !(defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) // erroneous ambiguity stated
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(static_cast< DerivedInterface2 * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+ CPPUNIT_ASSERT(
+ ::cppu::getTypeFavourChar(
+ static_cast< css::uno::Reference< DerivedInterface2 > * >(0)) ==
+ ::cppu::UnoType< css::uno::XComponentContext >::get());
+#endif
+}
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(Test, "alltests");
+
+}
+
+NOADDITIONAL;