summaryrefslogtreecommitdiff
path: root/extensions/test
diff options
context:
space:
mode:
authorThomas Arnhold <thomas@arnhold.org>2011-07-09 18:40:58 +0200
committerThomas Arnhold <thomas@arnhold.org>2011-07-09 18:40:58 +0200
commit0ec08e4a93313db32bc2c93dc446a877ce49ed9a (patch)
tree5151de0de2cb28ebadfb2c5b63c503f3de126972 /extensions/test
parent2a2637c81b87699e7a07f6f974699d7842436ff5 (diff)
Remove unused test/sax
Diffstat (limited to 'extensions/test')
-rw-r--r--extensions/test/sax/exports.dxp2
-rw-r--r--extensions/test/sax/factory.hxx33
-rw-r--r--extensions/test/sax/makefile.mk64
-rw-r--r--extensions/test/sax/testsax.cxx902
-rw-r--r--extensions/test/sax/testwriter.cxx758
5 files changed, 0 insertions, 1759 deletions
diff --git a/extensions/test/sax/exports.dxp b/extensions/test/sax/exports.dxp
deleted file mode 100644
index e4bc69d23003..000000000000
--- a/extensions/test/sax/exports.dxp
+++ /dev/null
@@ -1,2 +0,0 @@
-exService_writeRegEntry
-exService_getFactory
diff --git a/extensions/test/sax/factory.hxx b/extensions/test/sax/factory.hxx
deleted file mode 100644
index 267e7b6649ee..000000000000
--- a/extensions/test/sax/factory.hxx
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-XInterfaceRef OSaxWriterTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception));
-UString OSaxWriterTest_getServiceName( ) THROWS( () );
-UString OSaxWriterTest_getImplementationName( ) THROWS( () );
-Sequence<UString> OSaxWriterTest_getSupportedServiceNames( ) THROWS( () );
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/test/sax/makefile.mk b/extensions/test/sax/makefile.mk
deleted file mode 100644
index 62e2706dd1e7..000000000000
--- a/extensions/test/sax/makefile.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=extensions
-TARGET=testsax
-USE_DEFFILE=TRUE
-ENABLE_EXCEPTIONS=TRUE
-# --- Settings -----------------------------------------------------
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-
-
-OBJFILES = $(SLO)$/testsax.obj $(SLO)$/testwriter.obj
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1OBJFILES= $(OBJFILES)
-
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-
-SHL1STDLIBS= \
- $(SALLIB) \
- $(TOOLSLIB)
-
-SHL1LIBS= $(LIB1TARGET)
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= makefile.mk $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEF1EXPORTFILE= exports.dxp
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/extensions/test/sax/testsax.cxx b/extensions/test/sax/testsax.cxx
deleted file mode 100644
index 67ea67a31038..000000000000
--- a/extensions/test/sax/testsax.cxx
+++ /dev/null
@@ -1,902 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * 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_extensions.hxx"
-
-#include <stdio.h>
-#include <string.h>
-#include <smart/com/sun/star/test/XSimpleTest.hxx>
-
-#include <rtl/wstring.hxx>
-#include <osl/time.h>
-#include <usr/weak.hxx>
-#include <tools/string.hxx>
-#include <osl/conditn.hxx>
-
-#include <smart/com/sun/star/io/XOutputStream.hxx>
-#include <smart/com/sun/star/xml/sax/SAXParseException.hxx>
-#include <smart/com/sun/star/xml/sax/XParser.hxx>
-#include <smart/com/sun/star/xml/sax/XExtendedDocumentHandler.hxx>
-
-#include <smart/com/sun/star/lang/XMultiServiceFactory.hxx> // for the multiservice-factories
-#include <usr/factoryhlp.hxx>
-
-#include <usr/reflserv.hxx> // for EXTERN_SERVICE_CALLTYPE
-
-#include "factory.hxx"
-
-using namespace usr;
-
-#define BUILD_ERROR(expr, Message)\
- {\
- m_seqErrors.realloc( m_seqErrors.getLen() + 1 ); \
- m_seqExceptions.realloc( m_seqExceptions.getLen() + 1 ); \
- String str; \
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqErrors.getArray()[ m_seqErrors.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- }\
- ((void)0)
-
-
-#define WARNING_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- m_seqWarnings.realloc( m_seqErrors.getLen() +1 ); \
- String str;\
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqWarnings.getArray()[ m_seqWarnings.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- return; \
- }\
- ((void)0)
-
-#define ERROR_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- BUILD_ERROR(expr, Message );\
- return; \
- }\
- ((void)0)
-
-#define ERROR_EXCEPTION_ASSERT(expr, Message, Exception) \
- if( !(expr)) { \
- BUILD_ERROR(expr,Message);\
- m_seqExceptions.getArray()[ m_seqExceptions.getLen()-1] = UsrAny( Exception );\
- return; \
- } \
- ((void)0)
-
-/****
-* test szenarios :
-****/
-
-
-class OSaxParserTest :
- public XSimpleTest,
- public OWeakObject
-{
-public:
- OSaxParserTest( const XMultiServiceFactoryRef & rFactory ) : m_rFactory( rFactory )
- {
-
- }
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void testInvariant(const UString& TestName, const XInterfaceRef& TestObject)
- THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual INT32 test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual BOOL testPassed(void) THROWS( ( UsrSystemException) );
- virtual Sequence< UString > getErrors(void) THROWS( (UsrSystemException) );
- virtual Sequence< UsrAny > getErrorExceptions(void) THROWS( (UsrSystemException) );
- virtual Sequence< UString > getWarnings(void) THROWS( (UsrSystemException) );
-
-private:
- void testSimple( const XParserRef &r );
- void testNamespaces( const XParserRef &r );
- void testFile( const XParserRef &r );
- void testEncoding( const XParserRef &rParser );
- void testPerformance( const XParserRef &rParser );
-
-private:
- Sequence<UsrAny> m_seqExceptions;
- Sequence<UString> m_seqErrors;
- Sequence<UString> m_seqWarnings;
- XMultiServiceFactoryRef m_rFactory;
-};
-
-
-
-/**
-* for external binding
-**/
-XInterfaceRef OSaxParserTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception))
-{
- OSaxParserTest *p = new OSaxParserTest( rSMgr );
- XInterfaceRef xService = *p;
- return xService;
-}
-
-
-UString OSaxParserTest_getServiceName( ) THROWS( () )
-{
- return L"test.com.sun.star.xml.sax.Parser";
-}
-
-UString OSaxParserTest_getImplementationName( ) THROWS( () )
-{
- return L"test.extensions.xml.sax.Parser";
-}
-
-Sequence<UString> OSaxParserTest_getSupportedServiceNames( ) THROWS( () )
-{
- Sequence<UString> aRet(1);
-
- aRet.getArray()[0] = OSaxParserTest_getImplementationName( );
-
- return aRet;
-}
-
-
-BOOL OSaxParserTest::queryInterface( Uik uik , XInterfaceRef &rOut )
-{
- if( XSimpleTest::getSmartUik() == uik ) {
- rOut = (XSimpleTest *) this;
- }
- else {
- return OWeakObject::queryInterface( uik , rOut );
- }
- return TRUE;
-}
-
-
-void OSaxParserTest::testInvariant( const UString& TestName, const XInterfaceRef& TestObject )
- THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Parser" == TestName ) {
- XParserRef parser( TestObject , USR_QUERY );
-
- ERROR_ASSERT( parser.is() , "XDataInputStream cannot be queried" );
- }
-}
-
-
-INT32 OSaxParserTest::test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Parser" == TestName ) {
- try {
- if( 0 == hTestHandle ) {
- testInvariant( TestName , TestObject );
- }
- else {
-
- XParserRef parser( TestObject , USR_QUERY );
-
- if( 1 == hTestHandle ) {
- testSimple( parser );
- }
- else if( 2 == hTestHandle ) {
- testNamespaces( parser );
- }
- else if( 3 == hTestHandle ) {
- testEncoding( parser );
- }
- else if( 4 == hTestHandle ) {
- testFile( parser );
- }
- else if( 5 == hTestHandle ) {
- testPerformance( parser );
- }
- }
- }
- catch( Exception& e ) {
- BUILD_ERROR( 0 , UStringToString( e.getName() , CHARSET_SYSTEM ).GetCharStr() );
- }
- catch(...) {
- BUILD_ERROR( 0 , "unknown exception (Exception is not base class)" );
- }
-
- hTestHandle ++;
-
- if( hTestHandle >= 6) {
- // all tests finished.
- hTestHandle = -1;
- }
- }
- else {
- BUILD_ERROR( 0 , "service not supported by test." );
- }
- return hTestHandle;
-}
-
-
-
-BOOL OSaxParserTest::testPassed(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors.getLen() == 0;
-}
-
-
-Sequence< UString > OSaxParserTest::getErrors(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors;
-}
-
-
-Sequence< UsrAny > OSaxParserTest::getErrorExceptions(void) THROWS( (UsrSystemException) )
-{
- return m_seqExceptions;
-}
-
-
-Sequence< UString > OSaxParserTest::getWarnings(void) THROWS( (UsrSystemException) )
-{
- return m_seqWarnings;
-}
-
-XInputStreamRef createStreamFromSequence( const Sequence<BYTE> seqBytes , XMultiServiceFactoryRef &xSMgr )
-{
- XInterfaceRef xOutStreamService = xSMgr->createInstance( L"com.sun.star.io.Pipe" );
- OSL_ASSERT( xOutStreamService.is() );
- XOutputStreamRef rOutStream( xOutStreamService , USR_QUERY );
- OSL_ASSERT( rOutStream.is() );
-
- XInputStreamRef rInStream( xOutStreamService , USR_QUERY );
- OSL_ASSERT( rInStream.is() );
-
- rOutStream->writeBytes( seqBytes );
- rOutStream->flush();
- rOutStream->closeOutput();
-
- return rInStream;
-}
-
-XInputStreamRef createStreamFromFile( const char *pcFile , XMultiServiceFactoryRef &xSMgr )
-{
- FILE *f = fopen( pcFile , "rb" );
- XInputStreamRef r;
-
- if( f ) {
- fseek( f , 0 , SEEK_END );
- int nLength = ftell( f );
- fseek( f , 0 , SEEK_SET );
-
- Sequence<BYTE> seqIn(nLength);
- fread( seqIn.getArray() , nLength , 1 , f );
-
- r = createStreamFromSequence( seqIn , xSMgr );
- fclose( f );
- }
- return r;
-}
-
-
-
-
-
-
-
-
-
-#define PCHAR_TO_USTRING(x) StringToUString(String(x),CHARSET_PC_1252)
-#define USTRING_TO_PCHAR(x) UStringToString(x,CHARSET_PC_437).GetStr()
-
-
-
-class TestDocumentHandler :
- public XExtendedDocumentHandler,
- public XEntityResolver,
- public XErrorHandler,
- public OWeakObject
-{
-public:
- TestDocumentHandler( XMultiServiceFactoryRef &r , BOOL bPrint )
- {
- m_xSMgr = r;
- m_bPrint = bPrint;
- }
-
-
-public:
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-
-public: // Error handler
- virtual void error(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Error !\n" );
- THROW( SAXException( L"error from error handler" , XInterfaceRef() , aSAXParseException ) );
- }
- virtual void fatalError(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Fatal Error !\n" );
- }
- virtual void warning(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Warning !\n" );
- }
-
-
-public: // ExtendedDocumentHandler
-
- virtual void startDocument(void) THROWS( (SAXException, UsrSystemException) )
- {
- m_iLevel = 0;
- m_iElementCount = 0;
- m_iAttributeCount = 0;
- m_iWhitespaceCount =0;
- m_iCharCount=0;
- if( m_bPrint ) {
- printf( "document started\n" );
- }
- }
- virtual void endDocument(void) THROWS( (SAXException, UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "document finished\n" );
- printf( "(ElementCount %d),(AttributeCount %d),(WhitespaceCount %d),(CharCount %d)\n",
- m_iElementCount, m_iAttributeCount, m_iWhitespaceCount , m_iCharCount );
- }
- }
- virtual void startElement(const UString& aName, const XAttributeListRef& xAttribs)
- THROWS( (SAXException,UsrSystemException) )
- {
-
- if( m_rLocator.is() ) {
- if( m_bPrint )
- printf( "%s(%d):" , USTRING_TO_PCHAR( m_rLocator->getSystemId() ) ,
- m_rLocator->getLineNumber() );
- }
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "<%s> " , USTRING_TO_PCHAR( aName ) );
-
- for( i = 0 ; i < xAttribs->getLength() ; i ++ ) {
- printf( "(%s,%s,'%s')" , USTRING_TO_PCHAR( xAttribs->getNameByIndex( i ) ) ,
- USTRING_TO_PCHAR( xAttribs->getTypeByIndex( i ) ) ,
- USTRING_TO_PCHAR( xAttribs->getValueByIndex( i ) ) );
- }
- printf( "\n" );
- }
- m_iLevel ++;
- m_iElementCount ++;
- m_iAttributeCount += xAttribs->getLength();
- }
- virtual void endElement(const UString& aName) THROWS( (SAXException,UsrSystemException) )
- {
- OSL_ASSERT( m_iLevel );
- m_iLevel --;
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "</%s>\n" , USTRING_TO_PCHAR( aName ) );
- }
- }
-
- virtual void characters(const UString& aChars) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "%s\n" , USTRING_TO_PCHAR( aChars ) );
- }
- m_iCharCount += aChars.len();
- }
- virtual void ignorableWhitespace(const UString& aWhitespaces) THROWS( (SAXException,UsrSystemException) )
- {
- m_iWhitespaceCount += aWhitespaces.len();
- }
-
- virtual void processingInstruction(const UString& aTarget, const UString& aData) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint )
- printf( "PI : %s,%s\n" , USTRING_TO_PCHAR( aTarget ) , USTRING_TO_PCHAR( aData ) );
- }
-
- virtual void setDocumentLocator(const XLocatorRef& xLocator) THROWS( (SAXException,UsrSystemException) )
- {
- m_rLocator = xLocator;
- }
-
- virtual InputSource resolveEntity(const UString& sPublicId, const UString& sSystemId)
- THROWS( (SAXException,UsrSystemException) )
- {
- InputSource source;
- source.sSystemId = sSystemId;
- source.sPublicId = sPublicId;
- source.aInputStream = createStreamFromFile( USTRING_TO_PCHAR( sSystemId ) , m_xSMgr );
-
- return source;
- }
-
- virtual void startCDATA(void) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "CDataStart :\n" );
- }
- }
- virtual void endCDATA(void) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "CEndStart :\n" );
- }
- }
- virtual void comment(const UString& sComment) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "<!--%s-->\n" , USTRING_TO_PCHAR( sComment ) );
- }
- }
- virtual void unknown(const UString& sString) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "UNKNOWN : {%s}\n" , USTRING_TO_PCHAR( sString ) );
- }
- }
-
- virtual void allowLineBreak( void) THROWS( (SAXException, UsrSystemException ) )
- {
-
- }
-
-
-public:
- int m_iLevel;
- int m_iElementCount;
- int m_iAttributeCount;
- int m_iWhitespaceCount;
- int m_iCharCount;
- BOOL m_bPrint;
-
- XMultiServiceFactoryRef m_xSMgr;
- XLocatorRef m_rLocator;
-};
-
-BOOL TestDocumentHandler::queryInterface( Uik aUik , XInterfaceRef & rOut )
-{
- if( aUik == XDocumentHandler::getSmartUik() ) {
- rOut = (XDocumentHandler * )this;
- }
- else if ( aUik == XExtendedDocumentHandler::getSmartUik() ) {
- rOut = (XExtendedDocumentHandler *) this;
- }
- else if ( aUik == XEntityResolver::getSmartUik() ) {
- rOut = (XEntityResolver *) this;
- }
- else if ( aUik == XErrorHandler::getSmartUik() ) {
- rOut = (XErrorHandler * ) this;
- }
- else {
- return OWeakObject::queryInterface( aUik , rOut );
- }
- return TRUE;
-}
-
-
-
-
-void OSaxParserTest::testSimple( const XParserRef &rParser )
-{
-
- char TestString[] =
- "<!DOCTYPE personnel [\n"
- "<!ENTITY testInternal \"internal Test!\">\n"
- "<!ENTITY test SYSTEM \"external_entity.xml\">\n"
- "]>\n"
-
- "<personnel>\n"
- "<person> fjklsfdklsdfkl\n"
- "fjklsfdklsdfkl\n"
- "<?testpi pidata?>\n"
- "&testInternal;\n"
- "<HUHU x='5' y='kjfd'> blahuhu\n"
- "<HI> blahi\n"
- " <![CDATA[<greeting>Hello, '+1+12world!</greeting>]]>\n"
- " <!-- huhu <jdk> -->\n"
- "<?testpi pidata?>\n"
- "</HI>\n"
- "aus XMLTest\n"
- "</HUHU>\n"
- "</person>\n"
- "</personnel>\n\n\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
-
- try {
- rParser->parseStream( source );
- ERROR_ASSERT( pDocHandler->m_iElementCount == 4 , "wrong element count" );
- ERROR_ASSERT( pDocHandler->m_iAttributeCount == 2 , "wrong attribut count" );
- ERROR_ASSERT( pDocHandler->m_iCharCount == 130 , "wrong char count" );
- ERROR_ASSERT( pDocHandler->m_iWhitespaceCount == 0, "wrong whitespace count" );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
-
- }
-
-
-}
-
-void OSaxParserTest::testNamespaces( const XParserRef &rParser )
-{
-
- char TestString[] =
- "<?xml version='1.0'?>\n"
- "<!-- all elements here are explicitly in the HTML namespace -->\n"
- "<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>\n"
- "<html:head><html:title>Frobnostication</html:title></html:head>\n"
- "<html:body><html:p>Moved to \n"
- "<html:a href='http://frob.com'>here.</html:a></html:p></html:body>\n"
- "</html:html>\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
-
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
-
- try {
- rParser->parseStream( source );
- ERROR_ASSERT( pDocHandler->m_iElementCount == 6 , "wrong element count" );
- ERROR_ASSERT( pDocHandler->m_iAttributeCount == 2 , "wrong attribut count" );
- ERROR_ASSERT( pDocHandler->m_iCharCount == 33, "wrong char count" );
- ERROR_ASSERT( pDocHandler->m_iWhitespaceCount == 0 , "wrong whitespace count" );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
- }
-}
-
-void OSaxParserTest::testEncoding( const XParserRef &rParser )
-{
- char TestString[] =
- "<?xml version='1.0' encoding=\"iso-8859-1\"?>\n"
- "<!-- all elements here are explicitly in the HTML namespace -->\n"
- "<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>\n"
- "<html:head><html:title>Frobnostication</html:title></html:head>\n"
- "<html:body><html:p>Moved to ß\n"
- "<html:a href='http://frob.com'>here.</html:a></html:p></html:body>\n"
- "</html:html>\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
-
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- try {
- rParser->parseStream( source );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
-
- }
-
-}
-
-void OSaxParserTest::testFile( const XParserRef & rParser )
-{
-
- XInputStreamRef rInStream = createStreamFromFile( "testsax.xml" , m_rFactory );
- UString sInput = UString( PCHAR_TO_USTRING( "testsax.xml" ) );
-
-
- if( rParser.is() && rInStream.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , TRUE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
- XErrorHandlerRef rErrorHandler( ( XErrorHandler * )pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- rParser->setErrorHandler( rErrorHandler );
-
- try {
- rParser->parseStream( source );
- }
- catch( SAXParseException& e ) {
- UsrAny any;
- any.set( &e , SAXParseException_getReflection() );
- while(TRUE) {
- SAXParseException *pEx;
- if( any.getReflection() == SAXParseException_getReflection() ) {
- pEx = ( SAXParseException * ) any.get();
- printf( "%s\n" , UStringToString( pEx->Message , CHARSET_SYSTEM ).GetStr() );
- any = pEx->WrappedException;
- }
- else {
- break;
- }
- }
- }
- catch( SAXException& e ) {
- printf( "%s\n" , UStringToString( e.Message , CHARSET_SYSTEM ).GetStr() );
-
- }
- catch( Exception& e ) {
- printf( "normal exception ! %s\n", e.getName() );
- }
- catch(...) {
- printf( "any exception !!!!\n" );
- }
- }
-}
-
-void OSaxParserTest::testPerformance( const XParserRef & rParser )
-{
-
- XInputStreamRef rInStream = createStreamFromFile( "testPerformance.xml" , m_rFactory );
- UString sInput = UString( PCHAR_TO_USTRING( "testperformance.xml" ) );
-
- if( rParser.is() && rInStream.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
- XErrorHandlerRef rErrorHandler( ( XErrorHandler * )pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- rParser->setErrorHandler( rErrorHandler );
-
- try {
- TimeValue aStartTime, aEndTime;
- osl_getSystemTime( &aStartTime );
- rParser->parseStream( source );
- osl_getSystemTime( &aEndTime );
-
- double fStart = (double)aStartTime.Seconds + ((double)aStartTime.Nanosec / 1000000000.0);
- double fEnd = (double)aEndTime.Seconds + ((double)aEndTime.Nanosec / 1000000000.0);
-
- printf( "Performance reading : %g s\n" , fEnd - fStart );
-
- }
- catch( SAXParseException& e ) {
- UsrAny any;
- any.set( &e , SAXParseException_getReflection() );
- while(TRUE) {
- SAXParseException *pEx;
- if( any.getReflection() == SAXParseException_getReflection() ) {
- pEx = ( SAXParseException * ) any.get();
- printf( "%s\n" , UStringToString( pEx->Message , CHARSET_SYSTEM ).GetStr() );
- any = pEx->WrappedException;
- }
- else {
- break;
- }
- }
- }
- catch( SAXException& e ) {
- printf( "%s\n" , UStringToString( e.Message , CHARSET_SYSTEM ).GetStr() );
-
- }
- catch( Exception& e ) {
- printf( "normal exception ! %s\n", e.getName() );
- }
- catch(...) {
- printf( "any exception !!!!\n" );
- }
- }
-
-}
-
-
-extern "C"
-{
-BOOL EXTERN_SERVICE_CALLTYPE exService_writeRegEntry(
- const UNO_INTERFACE(XRegistryKey)* xUnoKey)
-
-{
- XRegistryKeyRef xKey;
- uno2smart(xKey, *xUnoKey);
-
- UString str = UString( L"/" ) + OSaxParserTest_getImplementationName() + UString( L"/UNO/SERVICES" );
- XRegistryKeyRef xNewKey = xKey->createKey( str );
- xNewKey->createKey( OSaxParserTest_getServiceName() );
-
- str = UString( L"/" ) + OSaxWriterTest_getImplementationName() + UString( L"/UNO/SERVICES" );
- xNewKey = xKey->createKey( str );
- xNewKey->createKey( OSaxWriterTest_getServiceName() );
-
- return TRUE;
-}
-
-
-UNO_INTERFACE(XInterface) EXTERN_SERVICE_CALLTYPE exService_getFactory
-(
- const wchar_t* implementationName,
- const UNO_INTERFACE(XMultiServiceFactory)* xUnoFact,
- const UNO_INTERFACE(XRegistryKey)*
-)
-{
- UNO_INTERFACE(XInterface) xUnoRet = {0, 0};
-
- XInterfaceRef xRet;
- XMultiServiceFactoryRef xSMgr;
- UString aImplementationName(implementationName);
-
- uno2smart(xSMgr, *xUnoFact);
-
- if (aImplementationName == OSaxWriterTest_getImplementationName() )
- {
- xRet = createSingleFactory( xSMgr, implementationName,
- OSaxWriterTest_CreateInstance,
- OSaxWriterTest_getSupportedServiceNames() );
- }
- else if (aImplementationName == OSaxParserTest_getImplementationName() )
- {
- xRet = createSingleFactory( xSMgr, implementationName,
- OSaxParserTest_CreateInstance,
- OSaxParserTest_getSupportedServiceNames() );
- }
- if (xRet.is())
- {
- smart2uno(xRet, xUnoRet);
- }
-
- return xUnoRet;
-}
-
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/test/sax/testwriter.cxx b/extensions/test/sax/testwriter.cxx
deleted file mode 100644
index 1f778092e2eb..000000000000
--- a/extensions/test/sax/testwriter.cxx
+++ /dev/null
@@ -1,758 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * 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_extensions.hxx"
-
-#include <vector>
-#include <smart/com/sun/star/test/XSimpleTest.hxx>
-#include <smart/com/sun/star/lang/XMultiServiceFactory.hxx> // for the multiservice-factories
-
-#include <stdio.h>
-
-#include <smart/com/sun/star/io/XActiveDataSource.hxx>
-#include <smart/com/sun/star/io/XOutputStream.hxx>
-#include <smart/com/sun/star/xml/sax/SAXParseException.hxx>
-#include <smart/com/sun/star/xml/sax/XParser.hxx>
-#include <smart/com/sun/star/xml/sax/XExtendedDocumentHandler.hxx>
-
-#include <rtl/wstring.hxx>
-#include <osl/time.h>
-#include <usr/weak.hxx>
-#include <tools/string.hxx>
-
-#include <usr/factoryhlp.hxx>
-
-#include <usr/reflserv.hxx> // for EXTERN_SERVICE_CALLTYPE
-
-using namespace std;
-using namespace usr;
-
-#define BUILD_ERROR(expr, Message)\
- {\
- m_seqErrors.realloc( m_seqErrors.getLen() + 1 ); \
- m_seqExceptions.realloc( m_seqExceptions.getLen() + 1 ); \
- String str; \
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqErrors.getArray()[ m_seqErrors.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- }\
- ((void)0)
-
-
-#define WARNING_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- m_seqWarnings.realloc( m_seqErrors.getLen() +1 ); \
- String str;\
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqWarnings.getArray()[ m_seqWarnings.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- return; \
- }\
- ((void)0)
-
-#define ERROR_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- BUILD_ERROR(expr, Message );\
- return; \
- }\
- ((void)0)
-
-#define ERROR_EXCEPTION_ASSERT(expr, Message, Exception) \
- if( !(expr)) { \
- BUILD_ERROR(expr,Message);\
- m_seqExceptions.getArray()[ m_seqExceptions.getLen()-1] = UsrAny( Exception );\
- return; \
- } \
- ((void)0)
-
-/****
-* test szenarios :
-****/
-
-
-class OFileWriter :
- public XOutputStream,
- public OWeakObject
-{
-public:
- OFileWriter( char *pcFile ) { strcpy( m_pcFile , pcFile ); m_f = 0; }
-
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut )
- {
- if( XOutputStream::getSmartUik() == aUik ) {
- rOut = (XOutputStream *) this;
- }
- else return OWeakObject::queryInterface( aUik , rOut );
-
- return TRUE;
- }
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void writeBytes(const Sequence< BYTE >& aData)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
- virtual void flush(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
- virtual void closeOutput(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
-
-
-private:
- char m_pcFile[256];
- FILE *m_f;
-};
-
-
-void OFileWriter::writeBytes(const Sequence< BYTE >& aData)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- if( ! m_f ) {
- m_f = fopen( m_pcFile , "w" );
- }
-
- fwrite( aData.getConstArray() , 1 , aData.getLen() , m_f );
-
-}
-
-
-void OFileWriter::flush(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- fflush( m_f );
-}
-
-void OFileWriter::closeOutput(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- fclose( m_f );
- m_f = 0;
-}
-
-
-class OSaxWriterTest :
- public XSimpleTest,
- public OWeakObject
-{
-public:
- OSaxWriterTest( const XMultiServiceFactoryRef & rFactory ) : m_rFactory( rFactory )
- {
-
- }
- ~OSaxWriterTest() {}
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void testInvariant(const UString& TestName, const XInterfaceRef& TestObject)
- THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual INT32 test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual BOOL testPassed(void) THROWS( ( UsrSystemException) );
- virtual Sequence< UString > getErrors(void) THROWS( (UsrSystemException) );
- virtual Sequence< UsrAny > getErrorExceptions(void) THROWS( (UsrSystemException) );
- virtual Sequence< UString > getWarnings(void) THROWS( (UsrSystemException) );
-
-private:
- void testSimple( const XExtendedDocumentHandlerRef &r );
- void testExceptions( const XExtendedDocumentHandlerRef &r );
- void testDTD( const XExtendedDocumentHandlerRef &r );
- void testPerformance( const XExtendedDocumentHandlerRef &r );
- void writeParagraph( const XExtendedDocumentHandlerRef &r , const UString & s);
-
-private:
- Sequence<UsrAny> m_seqExceptions;
- Sequence<UString> m_seqErrors;
- Sequence<UString> m_seqWarnings;
- XMultiServiceFactoryRef m_rFactory;
-
-};
-
-
-
-/*----------------------------------------
-*
-* Attributlist implementation
-*
-*----------------------------------------*/
-struct AttributeListImpl_impl;
-class AttributeListImpl :
- public XAttributeList,
- public OWeakObject
-{
-public:
- AttributeListImpl();
- AttributeListImpl( const AttributeListImpl & );
- ~AttributeListImpl();
-
-public:
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual INT16 getLength(void) THROWS( (UsrSystemException) );
- virtual UString getNameByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getTypeByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getTypeByName(const UString& aName) THROWS( (UsrSystemException) );
- virtual UString getValueByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getValueByName(const UString& aName) THROWS( (UsrSystemException) );
-
-public:
- void addAttribute( const UString &sName , const UString &sType , const UString &sValue );
- void clear();
-
-private:
- struct AttributeListImpl_impl *m_pImpl;
-};
-
-
-struct TagAttribute
-{
- TagAttribute(){}
- TagAttribute( const UString &sName, const UString &sType , const UString &sValue )
- {
- this->sName = sName;
- this->sType = sType;
- this->sValue = sValue;
- }
-
- UString sName;
- UString sType;
- UString sValue;
-};
-
-struct AttributeListImpl_impl
-{
- AttributeListImpl_impl()
- {
- // performance improvement during adding
- vecAttribute.reserve(20);
- }
- vector<struct TagAttribute> vecAttribute;
-};
-
-
-
-INT16 AttributeListImpl::getLength(void) THROWS( (UsrSystemException) )
-{
- return m_pImpl->vecAttribute.size();
-}
-
-
-AttributeListImpl::AttributeListImpl( const AttributeListImpl &r )
-{
- m_pImpl = new AttributeListImpl_impl;
- *m_pImpl = *(r.m_pImpl);
-}
-
-UString AttributeListImpl::getNameByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sName;
- }
- return UString();
-}
-
-
-UString AttributeListImpl::getTypeByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sType;
- }
- return UString();
-}
-
-UString AttributeListImpl::getValueByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sValue;
- }
- return UString();
-
-}
-
-UString AttributeListImpl::getTypeByName( const UString& sName ) THROWS( (UsrSystemException) )
-{
- vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
- for (; ii != m_pImpl->vecAttribute.end(); ++ii)
- {
- if( (*ii).sName == sName )
- {
- return (*ii).sType;
- }
- }
- return UString();
-}
-
-UString AttributeListImpl::getValueByName(const UString& sName) THROWS( (UsrSystemException) )
-{
- vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
- for (; ii != m_pImpl->vecAttribute.end(); ++ii)
- {
- if( (*ii).sName == sName )
- {
- return (*ii).sValue;
- }
- }
- return UString();
-}
-
-
-BOOL AttributeListImpl::queryInterface( Uik aUik, XInterfaceRef & rOut )
-{
- if( aUik == XAttributeList::getSmartUik() ) {
- rOut = (XAttributeList * )this;
- }
- else {
- return OWeakObject::queryInterface( aUik , rOut );
- }
- return TRUE;
-}
-
-
-AttributeListImpl::AttributeListImpl()
-{
- m_pImpl = new AttributeListImpl_impl;
-}
-
-
-
-AttributeListImpl::~AttributeListImpl()
-{
- delete m_pImpl;
-}
-
-
-void AttributeListImpl::addAttribute( const UString &sName ,
- const UString &sType ,
- const UString &sValue )
-{
- m_pImpl->vecAttribute.push_back( TagAttribute( sName , sType , sValue ) );
-}
-
-void AttributeListImpl::clear()
-{
- vector<struct TagAttribute> dummy;
- m_pImpl->vecAttribute.swap( dummy );
-
- OSL_ASSERT( ! getLength() );
-}
-
-/**
-* for external binding
-**/
-XInterfaceRef OSaxWriterTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception))
-{
- OSaxWriterTest *p = new OSaxWriterTest( rSMgr );
- XInterfaceRef xService = *p;
- return xService;
-}
-
-UString OSaxWriterTest_getServiceName( ) THROWS( () )
-{
- return L"test.com.sun.star.xml.sax.Writer";
-}
-
-UString OSaxWriterTest_getImplementationName( ) THROWS( () )
-{
- return L"test.extensions.xml.sax.Writer";
-}
-
-Sequence<UString> OSaxWriterTest_getSupportedServiceNames( ) THROWS( () )
-{
- Sequence<UString> aRet(1);
-
- aRet.getArray()[0] = OSaxWriterTest_getImplementationName( );
-
- return aRet;
-}
-
-
-BOOL OSaxWriterTest::queryInterface( Uik uik , XInterfaceRef &rOut )
-{
- if( XSimpleTest::getSmartUik() == uik ) {
- rOut = (XSimpleTest *) this;
- }
- else {
- return OWeakObject::queryInterface( uik , rOut );
- }
- return TRUE;
-}
-
-
-void OSaxWriterTest::testInvariant( const UString& TestName, const XInterfaceRef& TestObject )
- THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Writer" == TestName ) {
- XDocumentHandlerRef doc( TestObject , USR_QUERY );
- XExtendedDocumentHandlerRef ext( TestObject , USR_QUERY );
- XActiveDataSourceRef source( TestObject , USR_QUERY );
-
- ERROR_ASSERT( doc.is() , "XDocumentHandler cannot be queried" );
- ERROR_ASSERT( ext.is() , "XExtendedDocumentHandler cannot be queried" );
- ERROR_ASSERT( source.is() , "XActiveDataSource cannot be queried" );
- }
- else {
- BUILD_ERROR( 0 , "wrong test" );
- }
-}
-
-
-INT32 OSaxWriterTest::test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Writer" == TestName ) {
- try {
- if( 0 == hTestHandle ) {
- testInvariant( TestName , TestObject );
- }
- else {
-
- XExtendedDocumentHandlerRef writer( TestObject , USR_QUERY );
-
- if( 1 == hTestHandle ) {
- testSimple( writer );
- }
- else if( 2 == hTestHandle ) {
- testExceptions( writer );
- }
- else if( 3 == hTestHandle ) {
- testDTD( writer );
- }
- else if( 4 == hTestHandle ) {
- testPerformance( writer );
- }
- }
- }
- catch( Exception& e ) {
- BUILD_ERROR( 0 , UStringToString( e.getName() , CHARSET_SYSTEM ).GetCharStr() );
- }
- catch(...) {
- BUILD_ERROR( 0 , "unknown exception (Exception is not base class)" );
- }
-
- hTestHandle ++;
-
- if( hTestHandle >= 5) {
- // all tests finished.
- hTestHandle = -1;
- }
- }
- else {
- BUILD_ERROR( 0 , "service not supported by test." );
- }
- return hTestHandle;
-}
-
-
-
-BOOL OSaxWriterTest::testPassed(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors.getLen() == 0;
-}
-
-
-Sequence< UString > OSaxWriterTest::getErrors(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors;
-}
-
-
-Sequence< UsrAny > OSaxWriterTest::getErrorExceptions(void) THROWS( (UsrSystemException) )
-{
- return m_seqExceptions;
-}
-
-
-Sequence< UString > OSaxWriterTest::getWarnings(void) THROWS( (UsrSystemException) )
-{
- return m_seqWarnings;
-}
-
-void OSaxWriterTest::writeParagraph( const XExtendedDocumentHandlerRef &r , const UString & s)
-{
- int nMax = s.len();
- int nStart = 0;
-
- Sequence<UINT16> seq( s.len() );
- memcpy( seq.getArray() , s.getStr() , s.len() * sizeof( UINT16 ) );
-
- for( int n = 1 ; n < nMax ; n++ ){
- if( 32 == seq.getArray()[n] ) {
- r->allowLineBreak();
- r->characters( s.copy( nStart , n - nStart ) );
- nStart = n;
- }
- }
- r->allowLineBreak();
- r->characters( s.copy( nStart , n - nStart ) );
-
-
-}
-
-
-
-void OSaxWriterTest::testSimple( const XExtendedDocumentHandlerRef &r )
-{
- UString testParagraph = L"Dies ist ein bloeder Test um zu uberpruefen, ob der SAXWriter "
- L"wohl Zeilenumbrueche halbwegs richtig macht oder ob er die Zeile "
- L"bis zum bitteren Ende schreibt.";
-
- OFileWriter *pw = new OFileWriter("output.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- r->startDocument();
-
- pList->addAttribute( L"Arg1" , L"CDATA" , L"bla\n u" );
- pList->addAttribute( L"Arg2" , L"CDATA" , L"blub" );
-
- r->startElement( L"tag1" , rList );
- r->ignorableWhitespace( L"" );
-
- r->characters( L"huhu" );
- r->ignorableWhitespace( L"" );
-
- r->startElement( L"hi" , rList );
- r->ignorableWhitespace( L"" );
-
- // the enpassant must be converted & -> &amp;
- r->characters( L"&#252;" );
-
- // Test added for mib. Tests if errors during conversions occurs
- r->ignorableWhitespace( UString() );
- sal_Char array[256];
- for( sal_Int32 n = 32 ; n < 254 ; n ++ ) {
- array[n-32] = n;
- }
- array[254-32] = 0;
- r->characters(
- StringToUString( array , RTL_TEXTENCODING_SYMBOL )
- );
- r->ignorableWhitespace( UString() );
-
- // '>' must not be converted
- r->startCDATA();
- r->characters( L">fsfsdf<" );
- r->endCDATA();
- r->ignorableWhitespace( UString() );
-
- writeParagraph( r , testParagraph );
-
-
- r->ignorableWhitespace( UString() );
- r->comment( L"Dies ist ein Kommentar !" );
- r->ignorableWhitespace( UString() );
-
- r->startElement( L"emptytagtest" , rList );
- r->endElement( L"emptytagtest" );
-
- r->endElement( L"hi" );
- r->ignorableWhitespace( L"" );
-
- r->endElement( L"tag1" );
- r->endDocument();
-
-}
-
-void OSaxWriterTest::testExceptions( const XExtendedDocumentHandlerRef & r )
-{
-
- OFileWriter *pw = new OFileWriter("output2.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- { // startDocument must be called before start element
- BOOL bException = TRUE;
- try {
- r->startElement( L"huhu" , rList );
- bException = FALSE;
- }
- catch( SAXException& e ) {
-
- }
- ERROR_ASSERT( bException , "expected exception not thrown !" );
- }
-
- r->startDocument();
-
- r->startElement( L"huhu" , rList );
- r->startCDATA();
-
- {
- BOOL bException = TRUE;
- try {
- r->startElement( L"huhu" , rList );
- bException = FALSE;
- }
- catch( SAXException& e ) {
-
- }
- ERROR_ASSERT( bException , "expected exception not thrown !" );
- }
-
- r->endCDATA();
- r->endElement( L"hi" );
-
- r->endDocument();
-}
-
-
-void OSaxWriterTest::testDTD(const XExtendedDocumentHandlerRef &r )
-{
- OFileWriter *pw = new OFileWriter("outputDTD.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
-
- r->startDocument();
- r->unknown( L"<!DOCTYPE iCalendar >\n" );
- r->startElement( L"huhu" , rList );
-
- r->endElement( L"huhu" );
- r->endDocument();
-}
-
-void OSaxWriterTest::testPerformance(const XExtendedDocumentHandlerRef &r )
-{
- OFileWriter *pw = new OFileWriter("testPerformance.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- UString testParagraph = L"Dies ist ein bloeder Test um zu uberpruefen, ob der SAXWriter "
- L"wohl > Zeilenumbrueche halbwegs richtig macht oder ob er die Zeile "
- L"bis zum bitteren Ende schreibt.";
-
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- TimeValue aStartTime, aEndTime;
- osl_getSystemTime( &aStartTime );
-
-
- r->startDocument();
- // just write a bunch of xml tags !
- // for performance testing
- sal_Int32 i2;
- for( i2 = 0 ; i2 < 15 ; i2 ++ )
- {
- r->startElement( UString( L"tag" ) + UString::valueOf( i2 ), rList );
- for( sal_Int32 i = 0 ; i < 450 ; i ++ )
- {
- r->ignorableWhitespace( L"");
- r->startElement( L"huhu" , rList );
- r->characters( testParagraph );
- r->ignorableWhitespace( L"");
- r->endElement( L"huhu" );
- }
- }
- for( i2 = 14 ; i2 >= 0 ; i2-- )
- {
- r->ignorableWhitespace( L"");
- r->endElement( UString( L"tag" ) + UString::valueOf( i2 ) );
- }
-
- r->endDocument();
-
- osl_getSystemTime( &aEndTime );
-
- double fStart = (double)aStartTime.Seconds + ((double)aStartTime.Nanosec / 1000000000.0);
- double fEnd = (double)aEndTime.Seconds + ((double)aEndTime.Nanosec / 1000000000.0);
-
- printf( "Performance writing : %g s\n" , fEnd - fStart );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */