summaryrefslogtreecommitdiff
path: root/basic/qa
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2016-01-30 22:12:35 +0100
committerMatúš Kukan <matus.kukan@gmail.com>2016-02-05 21:20:50 +0100
commitaa20acb87d48b4dcda337ab08c5d8a76a400bacb (patch)
tree4837e57b9b539a13ef84872d791aec04bd0b5c04 /basic/qa
parent12c59662f79a72ecf2c8faf6a9bf54b8acd4885a (diff)
basic: Merge macro snippet tests
Change-Id: Ia2d8944227c6be8b5ae7b42f7d566ac150d522b9
Diffstat (limited to 'basic/qa')
-rw-r--r--basic/qa/cppunit/basic_coverage.cxx3
-rw-r--r--basic/qa/cppunit/basictest.cxx126
-rw-r--r--basic/qa/cppunit/basictest.hxx106
-rw-r--r--basic/qa/cppunit/test_append.cxx3
-rw-r--r--basic/qa/cppunit/test_nested_struct.cxx3
-rw-r--r--basic/qa/cppunit/test_vba.cxx18
6 files changed, 146 insertions, 113 deletions
diff --git a/basic/qa/cppunit/basic_coverage.cxx b/basic/qa/cppunit/basic_coverage.cxx
index 8e321c747f3a..a77b85a05470 100644
--- a/basic/qa/cppunit/basic_coverage.cxx
+++ b/basic/qa/cppunit/basic_coverage.cxx
@@ -166,8 +166,5 @@ void Coverage::Coverage_Iterator()
CPPUNIT_TEST_SUITE_REGISTRATION(Coverage);
}
-CPPUNIT_PLUGIN_IMPLEMENT();
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basic/qa/cppunit/basictest.cxx b/basic/qa/cppunit/basictest.cxx
new file mode 100644
index 000000000000..ba4ace91765a
--- /dev/null
+++ b/basic/qa/cppunit/basictest.cxx
@@ -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: */
diff --git a/basic/qa/cppunit/basictest.hxx b/basic/qa/cppunit/basictest.hxx
index 2a875599d03f..b287e56f18a1 100644
--- a/basic/qa/cppunit/basictest.hxx
+++ b/basic/qa/cppunit/basictest.hxx
@@ -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: */
diff --git a/basic/qa/cppunit/test_append.cxx b/basic/qa/cppunit/test_append.cxx
index 0ced150271b7..98b96c468d4c 100644
--- a/basic/qa/cppunit/test_append.cxx
+++ b/basic/qa/cppunit/test_append.cxx
@@ -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: */
diff --git a/basic/qa/cppunit/test_nested_struct.cxx b/basic/qa/cppunit/test_nested_struct.cxx
index 85a196840e8b..aaa3ca87a16c 100644
--- a/basic/qa/cppunit/test_nested_struct.cxx
+++ b/basic/qa/cppunit/test_nested_struct.cxx
@@ -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: */
diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx
index e45808d4f309..2b7ba5815863 100644
--- a/basic/qa/cppunit/test_vba.cxx
+++ b/basic/qa/cppunit/test_vba.cxx
@@ -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 );
@@ -142,10 +141,7 @@ void VBATest::testMiscOLEStuff()
}
// 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: */