basic: Merge macro snippet tests
Change-Id: Ia2d8944227c6be8b5ae7b42f7d566ac150d522b9
This commit is contained in:
parent
12c59662f7
commit
aa20acb87d
@ -1,64 +0,0 @@
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,basic_coverage))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_external,basic_coverage,boost_headers))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_coverage, \
|
||||
basic/qa/cppunit/basic_coverage \
|
||||
))
|
||||
|
||||
#$(eval $(call gb_CppunitTest_use_library_objects,basic_coverage,sb))
|
||||
|
||||
# add a list of all needed libraries here
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_coverage, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
salhelper \
|
||||
sb \
|
||||
sot \
|
||||
svl \
|
||||
svt \
|
||||
test \
|
||||
tl \
|
||||
unotest \
|
||||
utl \
|
||||
vcl \
|
||||
xmlscript \
|
||||
i18nlangtag \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_coverage, \
|
||||
oleaut32 \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_CppunitTest_set_include,basic_coverage,\
|
||||
-I$(SRCDIR)/basic/source/inc \
|
||||
-I$(SRCDIR)/basic/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,basic_coverage,\
|
||||
offapi \
|
||||
udkapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_coverage))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,basic_coverage))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_components,basic_coverage,\
|
||||
configmgr/source/configmgr \
|
||||
i18npool/util/i18npool \
|
||||
))
|
||||
$(eval $(call gb_CppunitTest_use_configuration,basic_coverage))
|
@ -1,60 +0,0 @@
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,basic_enable))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_external,basic_enable,boost_headers))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_enable, \
|
||||
basic/qa/cppunit/test_append \
|
||||
))
|
||||
|
||||
# add a list of all needed libraries here
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_enable, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
salhelper \
|
||||
sb \
|
||||
sot \
|
||||
svl \
|
||||
svt \
|
||||
tl \
|
||||
utl \
|
||||
vcl \
|
||||
xmlscript \
|
||||
test \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_enable, \
|
||||
oleaut32 \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_CppunitTest_set_include,basic_enable,\
|
||||
-I$(SRCDIR)/basic/source/inc \
|
||||
-I$(SRCDIR)/basic/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,basic_enable,\
|
||||
offapi \
|
||||
udkapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_enable))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,basic_enable))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_components,basic_enable,\
|
||||
configmgr/source/configmgr \
|
||||
i18npool/util/i18npool \
|
||||
))
|
||||
$(eval $(call gb_CppunitTest_use_configuration,basic_enable))
|
65
basic/CppunitTest_basic_macros.mk
Normal file
65
basic/CppunitTest_basic_macros.mk
Normal file
@ -0,0 +1,65 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,basic_macros))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_external,basic_macros,boost_headers))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_macros, \
|
||||
basic/qa/cppunit/basictest \
|
||||
basic/qa/cppunit/basic_coverage \
|
||||
basic/qa/cppunit/test_append \
|
||||
basic/qa/cppunit/test_nested_struct \
|
||||
basic/qa/cppunit/test_vba \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_macros, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
i18nlangtag \
|
||||
sal \
|
||||
salhelper \
|
||||
sb \
|
||||
sot \
|
||||
svl \
|
||||
svt \
|
||||
test \
|
||||
tl \
|
||||
unotest \
|
||||
utl \
|
||||
vcl \
|
||||
xmlscript \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_macros, \
|
||||
oleaut32 \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,basic_macros,\
|
||||
offapi \
|
||||
udkapi \
|
||||
oovbaapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_macros))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,basic_macros))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_components,basic_macros,\
|
||||
configmgr/source/configmgr \
|
||||
i18npool/util/i18npool \
|
||||
$(if $(DISABLE_ATL),,$(if $(filter $(OS),WNT), \
|
||||
extensions/source/ole/oleautobridge)) \
|
||||
))
|
||||
$(eval $(call gb_CppunitTest_use_configuration,basic_macros))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
@ -1,63 +0,0 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,basic_nested_struct))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_external,basic_nested_struct,boost_headers))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_nested_struct, \
|
||||
basic/qa/cppunit/test_nested_struct \
|
||||
))
|
||||
|
||||
# add a list of all needed libraries here
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_nested_struct, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
salhelper \
|
||||
sb \
|
||||
sot \
|
||||
svl \
|
||||
svt \
|
||||
tl \
|
||||
utl \
|
||||
vcl \
|
||||
xmlscript \
|
||||
test \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_nested_struct, \
|
||||
oleaut32 \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_CppunitTest_set_include,basic_nested_struct,\
|
||||
-I$(SRCDIR)/basic/source/inc \
|
||||
-I$(SRCDIR)/basic/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,basic_nested_struct,\
|
||||
offapi \
|
||||
udkapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_nested_struct))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,basic_nested_struct))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_components,basic_nested_struct,\
|
||||
configmgr/source/configmgr \
|
||||
i18npool/util/i18npool \
|
||||
))
|
||||
$(eval $(call gb_CppunitTest_use_configuration,basic_nested_struct))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
@ -1,3 +1,4 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
@ -11,12 +12,11 @@ $(eval $(call gb_CppunitTest_CppunitTest,basic_scanner))
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_scanner))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_scanner, \
|
||||
basic/qa/cppunit/test_scanner \
|
||||
basic/qa/cppunit/test_scanner \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_library_objects,basic_scanner,sb))
|
||||
|
||||
# add a list of all needed libraries here
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_scanner, \
|
||||
comphelper \
|
||||
cppu \
|
||||
@ -45,3 +45,5 @@ $(eval $(call gb_CppunitTest_set_include,basic_scanner,\
|
||||
-I$(SRCDIR)/basic/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
@ -1,68 +0,0 @@
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,basic_vba))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_external,basic_vba,boost_headers))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,basic_vba, \
|
||||
basic/qa/cppunit/test_vba \
|
||||
))
|
||||
|
||||
#$(eval $(call gb_CppunitTest_use_library_objects,basic_vba,sb))
|
||||
|
||||
# add a list of all needed libraries here
|
||||
$(eval $(call gb_CppunitTest_use_libraries,basic_vba, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
i18nlangtag \
|
||||
sal \
|
||||
salhelper \
|
||||
sb \
|
||||
sot \
|
||||
svl \
|
||||
svt \
|
||||
test \
|
||||
tl \
|
||||
unotest \
|
||||
utl \
|
||||
vcl \
|
||||
xmlscript \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
ifeq ($(OS),WNT)
|
||||
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_vba, \
|
||||
oleaut32 \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_CppunitTest_set_include,basic_vba,\
|
||||
-I$(SRCDIR)/basic/source/inc \
|
||||
-I$(SRCDIR)/basic/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,basic_vba,\
|
||||
offapi \
|
||||
udkapi \
|
||||
oovbaapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,basic_vba))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,basic_vba))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_components,basic_vba,\
|
||||
configmgr/source/configmgr \
|
||||
i18npool/util/i18npool \
|
||||
$(if $(DISABLE_ATL),,$(if $(filter $(OS),WNT), \
|
||||
extensions/source/ole/oleautobridge)) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_configuration,basic_vba))
|
@ -16,11 +16,8 @@ $(eval $(call gb_Module_add_l10n_targets,basic,\
|
||||
))
|
||||
|
||||
$(eval $(call gb_Module_add_check_targets,basic,\
|
||||
CppunitTest_basic_scanner \
|
||||
CppunitTest_basic_enable \
|
||||
CppunitTest_basic_nested_struct \
|
||||
CppunitTest_basic_coverage \
|
||||
CppunitTest_basic_vba \
|
||||
CppunitTest_basic_scanner \
|
||||
CppunitTest_basic_macros \
|
||||
))
|
||||
|
||||
endif
|
||||
|
@ -166,8 +166,5 @@ void Coverage::Coverage_Iterator()
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(Coverage);
|
||||
|
||||
}
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
|
||||
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
126
basic/qa/cppunit/basictest.cxx
Normal file
126
basic/qa/cppunit/basictest.cxx
Normal file
@ -0,0 +1,126 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#include "basictest.hxx"
|
||||
#include <cppunit/TestFixture.h>
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
#include <cppunit/plugin/TestPlugIn.h>
|
||||
#include <basic/sbstar.hxx>
|
||||
#include <basic/basrdll.hxx>
|
||||
#include <basic/sbmod.hxx>
|
||||
#include <basic/sbmeth.hxx>
|
||||
#include <basic/sbuno.hxx>
|
||||
#include <osl/file.hxx>
|
||||
|
||||
void MacroSnippet::InitSnippet()
|
||||
{
|
||||
CPPUNIT_ASSERT_MESSAGE( "No resource manager", maDll.GetBasResMgr() != nullptr );
|
||||
mpBasic = new StarBASIC();
|
||||
StarBASIC::SetGlobalErrorHdl( LINK( this, MacroSnippet, BasicErrorHdl ) );
|
||||
}
|
||||
|
||||
void MacroSnippet::MakeModule( const OUString& sSource )
|
||||
{
|
||||
mpMod = mpBasic->MakeModule( "TestModule", sSource );
|
||||
}
|
||||
|
||||
MacroSnippet::MacroSnippet( const OUString& sSource )
|
||||
: mbError(false)
|
||||
{
|
||||
InitSnippet();
|
||||
MakeModule( sSource );
|
||||
}
|
||||
|
||||
MacroSnippet::MacroSnippet()
|
||||
: mbError(false)
|
||||
{
|
||||
InitSnippet();
|
||||
}
|
||||
|
||||
void MacroSnippet::LoadSourceFromFile( const OUString& sMacroFileURL )
|
||||
{
|
||||
OUString sSource;
|
||||
fprintf(stderr,"loadSource opening macro file %s\n", OUStringToOString( sMacroFileURL, RTL_TEXTENCODING_UTF8 ).getStr() );
|
||||
|
||||
osl::File aFile(sMacroFileURL);
|
||||
if(osl::FileBase::E_None == aFile.open(osl_File_OpenFlag_Read))
|
||||
{
|
||||
sal_uInt64 size;
|
||||
sal_uInt64 size_read;
|
||||
if(osl::FileBase::E_None == aFile.getSize(size))
|
||||
{
|
||||
void* buffer = calloc(1, size+1);
|
||||
CPPUNIT_ASSERT(buffer);
|
||||
if(osl::FileBase::E_None == aFile.read( buffer, size, size_read))
|
||||
{
|
||||
if(size == size_read)
|
||||
{
|
||||
OUString sCode(static_cast<sal_Char*>(buffer), size, RTL_TEXTENCODING_UTF8);
|
||||
sSource = sCode;
|
||||
}
|
||||
}
|
||||
|
||||
free(buffer);
|
||||
}
|
||||
}
|
||||
CPPUNIT_ASSERT_MESSAGE( "Source is empty", ( sSource.getLength() > 0 ) );
|
||||
MakeModule( sSource );
|
||||
}
|
||||
|
||||
SbxVariableRef MacroSnippet::Run( const css::uno::Sequence< css::uno::Any >& rArgs )
|
||||
{
|
||||
SbxVariableRef pReturn = nullptr;
|
||||
if ( !Compile() )
|
||||
return pReturn;
|
||||
SbMethod* pMeth = mpMod ? static_cast<SbMethod*>(mpMod->Find( "doUnitTest", SbxCLASS_METHOD )) : nullptr;
|
||||
if ( pMeth )
|
||||
{
|
||||
if ( rArgs.getLength() )
|
||||
{
|
||||
SbxArrayRef aArgs = new SbxArray;
|
||||
for ( int i=0; i < rArgs.getLength(); ++i )
|
||||
{
|
||||
SbxVariable* pVar = new SbxVariable();
|
||||
unoToSbxValue( pVar, rArgs[ i ] );
|
||||
aArgs->Put( pVar, i + 1 );
|
||||
}
|
||||
pMeth->SetParameters( aArgs );
|
||||
}
|
||||
pReturn = new SbxMethod( *static_cast<SbxMethod*>(pMeth));
|
||||
}
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
SbxVariableRef MacroSnippet::Run()
|
||||
{
|
||||
css::uno::Sequence< css::uno::Any > aArgs;
|
||||
return Run( aArgs );
|
||||
}
|
||||
|
||||
bool MacroSnippet::Compile()
|
||||
{
|
||||
CPPUNIT_ASSERT_MESSAGE("module is NULL", mpMod != nullptr );
|
||||
mpMod->Compile();
|
||||
return !mbError;
|
||||
}
|
||||
|
||||
bool MacroSnippet::HasError() { return mbError; }
|
||||
|
||||
IMPL_LINK_TYPED( MacroSnippet, BasicErrorHdl, StarBASIC *, /*pBasic*/, bool)
|
||||
{
|
||||
fprintf(stderr,"(%d:%d)\n",
|
||||
StarBASIC::GetLine(), StarBASIC::GetCol1());
|
||||
fprintf(stderr,"Basic error: %s\n", OUStringToOString( StarBASIC::GetErrorText(), RTL_TEXTENCODING_UTF8 ).getStr() );
|
||||
mbError = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
@ -19,119 +19,35 @@
|
||||
#include <basic/sbmod.hxx>
|
||||
#include <basic/sbmeth.hxx>
|
||||
#include <basic/sbuno.hxx>
|
||||
#include <osl/file.hxx>
|
||||
|
||||
class MacroSnippet
|
||||
{
|
||||
private:
|
||||
private:
|
||||
bool mbError;
|
||||
BasicDLL maDll; // we need a dll instance for resource manager etc.
|
||||
SbModuleRef mpMod;
|
||||
StarBASICRef mpBasic;
|
||||
|
||||
void InitSnippet()
|
||||
{
|
||||
CPPUNIT_ASSERT_MESSAGE( "No resource manager", maDll.GetBasResMgr() != nullptr );
|
||||
mpBasic = new StarBASIC();
|
||||
StarBASIC::SetGlobalErrorHdl( LINK( this, MacroSnippet, BasicErrorHdl ) );
|
||||
}
|
||||
void MakeModule( const OUString& sSource )
|
||||
{
|
||||
mpMod = mpBasic->MakeModule( "TestModule", sSource );
|
||||
}
|
||||
public:
|
||||
void InitSnippet();
|
||||
void MakeModule( const OUString& sSource );
|
||||
|
||||
explicit MacroSnippet(const OUString& sSource)
|
||||
: mbError(false)
|
||||
{
|
||||
InitSnippet();
|
||||
MakeModule( sSource );
|
||||
}
|
||||
MacroSnippet() : mbError(false)
|
||||
{
|
||||
InitSnippet();
|
||||
}
|
||||
void LoadSourceFromFile( const OUString& sMacroFileURL )
|
||||
{
|
||||
OUString sSource;
|
||||
fprintf(stderr,"loadSource opening macro file %s\n", OUStringToOString( sMacroFileURL, RTL_TEXTENCODING_UTF8 ).getStr() );
|
||||
public:
|
||||
explicit MacroSnippet( const OUString& sSource );
|
||||
MacroSnippet();
|
||||
|
||||
osl::File aFile(sMacroFileURL);
|
||||
if(osl::FileBase::E_None == aFile.open(osl_File_OpenFlag_Read))
|
||||
{
|
||||
sal_uInt64 size;
|
||||
sal_uInt64 size_read;
|
||||
if(osl::FileBase::E_None == aFile.getSize(size))
|
||||
{
|
||||
void* buffer = calloc(1, size+1);
|
||||
CPPUNIT_ASSERT(buffer);
|
||||
if(osl::FileBase::E_None == aFile.read( buffer, size, size_read))
|
||||
{
|
||||
if(size == size_read)
|
||||
{
|
||||
OUString sCode(static_cast<sal_Char*>(buffer), size, RTL_TEXTENCODING_UTF8);
|
||||
sSource = sCode;
|
||||
}
|
||||
}
|
||||
void LoadSourceFromFile( const OUString& sMacroFileURL );
|
||||
|
||||
free(buffer);
|
||||
}
|
||||
}
|
||||
CPPUNIT_ASSERT_MESSAGE( "Source is empty", ( sSource.getLength() > 0 ) );
|
||||
MakeModule( sSource );
|
||||
}
|
||||
SbxVariableRef Run( const css::uno::Sequence< css::uno::Any >& rArgs );
|
||||
|
||||
SbxVariableRef Run( const css::uno::Sequence< css::uno::Any >& rArgs )
|
||||
{
|
||||
SbxVariableRef pReturn = nullptr;
|
||||
if ( !Compile() )
|
||||
return pReturn;
|
||||
SbMethod* pMeth = mpMod ? static_cast<SbMethod*>(mpMod->Find( "doUnitTest", SbxCLASS_METHOD )) : nullptr;
|
||||
if ( pMeth )
|
||||
{
|
||||
if ( rArgs.getLength() )
|
||||
{
|
||||
SbxArrayRef aArgs = new SbxArray;
|
||||
for ( int i=0; i < rArgs.getLength(); ++i )
|
||||
{
|
||||
SbxVariable* pVar = new SbxVariable();
|
||||
unoToSbxValue( pVar, rArgs[ i ] );
|
||||
aArgs->Put( pVar, i + 1 );
|
||||
}
|
||||
pMeth->SetParameters( aArgs );
|
||||
}
|
||||
pReturn = new SbxMethod( *static_cast<SbxMethod*>(pMeth));
|
||||
}
|
||||
return pReturn;
|
||||
}
|
||||
SbxVariableRef Run();
|
||||
|
||||
SbxVariableRef Run()
|
||||
{
|
||||
css::uno::Sequence< css::uno::Any > aArgs;
|
||||
return Run( aArgs );
|
||||
}
|
||||
|
||||
bool Compile()
|
||||
{
|
||||
CPPUNIT_ASSERT_MESSAGE("module is NULL", mpMod != nullptr );
|
||||
mpMod->Compile();
|
||||
return !mbError;
|
||||
}
|
||||
bool Compile();
|
||||
|
||||
DECL_LINK_TYPED( BasicErrorHdl, StarBASIC *, bool );
|
||||
|
||||
bool HasError() { return mbError; }
|
||||
|
||||
bool HasError();
|
||||
};
|
||||
|
||||
IMPL_LINK_TYPED( MacroSnippet, BasicErrorHdl, StarBASIC *, /*pBasic*/, bool)
|
||||
{
|
||||
fprintf(stderr,"(%d:%d)\n",
|
||||
StarBASIC::GetLine(), StarBASIC::GetCol1());
|
||||
fprintf(stderr,"Basic error: %s\n", OUStringToOString( StarBASIC::GetErrorText(), RTL_TEXTENCODING_UTF8 ).getStr() );
|
||||
mbError = true;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@ -65,7 +65,6 @@ void EnableTest::testDimEnable()
|
||||
|
||||
// Put the test suite in the registry
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(EnableTest);
|
||||
} // namespace
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@ -302,7 +302,6 @@ void Nested_Struct::testUnoAccess()
|
||||
|
||||
// Put the test suite in the registry
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(Nested_Struct);
|
||||
} // namespace
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@ -7,15 +7,13 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
#include "basictest.hxx"
|
||||
#include <vcl/svapp.hxx>
|
||||
#include <vcl/settings.hxx>
|
||||
#include <comphelper/processfactory.hxx>
|
||||
#include <unotools/syslocaleoptions.hxx>
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
|
||||
class VBATest : public test::BootstrapFixture
|
||||
{
|
||||
public:
|
||||
@ -58,9 +56,10 @@ void VBATest::testMiscVBAFunctions()
|
||||
};
|
||||
OUString sMacroPathURL = getURLFromSrc("/basic/qa/vba_tests/");
|
||||
// Some test data expects the uk locale
|
||||
AllSettings aSettings = Application::GetSettings();
|
||||
aSettings.SetLanguageTag( LanguageTag( LANGUAGE_ENGLISH_UK ) );
|
||||
Application::SetSettings( aSettings );
|
||||
LanguageTag aLocale(LANGUAGE_ENGLISH_UK);
|
||||
SvtSysLocaleOptions aLocalOptions;
|
||||
aLocalOptions.SetLocaleConfigString( aLocale.getBcp47() );
|
||||
|
||||
for ( sal_uInt32 i=0; i<SAL_N_ELEMENTS( macroSource ); ++i )
|
||||
{
|
||||
OUString sMacroURL( sMacroPathURL );
|
||||
@ -141,11 +140,8 @@ void VBATest::testMiscOLEStuff()
|
||||
#endif
|
||||
}
|
||||
|
||||
// Put the test suite in the registry
|
||||
|
||||
// Put the test suite in the registry
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(VBATest);
|
||||
} // namespace
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
Loading…
x
Reference in New Issue
Block a user