vcl/CppunitTest_vcl_complextext.mk | 44 +++++++++++++++++++++ vcl/Module_vcl.mk | 1 vcl/qa/cppunit/complextext.cxx | 75 +++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+)
New commits: commit 21e573d6151151120dda6933c892c19a63c3a32b Author: Michael Meeks <michael.me...@suse.com> Date: Sat Jun 15 20:51:38 2013 +0100 initial attempt at text measuring unit test: linux only. Change-Id: I11a1845350e3404f348be1321571b19d816426a3 diff --git a/vcl/CppunitTest_vcl_complextext.mk b/vcl/CppunitTest_vcl_complextext.mk new file mode 100644 index 0000000..8176398 --- /dev/null +++ b/vcl/CppunitTest_vcl_complextext.mk @@ -0,0 +1,44 @@ +# -*- 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,vcl_complextext)) + +$(eval $(call gb_CppunitTest_add_exception_objects,vcl_complextext, \ + vcl/qa/cppunit/complextext \ +)) + +$(eval $(call gb_CppunitTest_use_libraries,vcl_complextext, \ + comphelper \ + cppu \ + cppuhelper \ + sal \ + svt \ + test \ + tl \ + unotest \ + vcl \ + $(gb_UWINAPI) \ +)) + +$(eval $(call gb_CppunitTest_use_api,vcl_complextext,\ + udkapi \ + offapi \ +)) + +$(eval $(call gb_CppunitTest_use_ure,vcl_complextext)) + +$(eval $(call gb_CppunitTest_use_components,vcl_complextext,\ + configmgr/source/configmgr \ + i18npool/util/i18npool \ + ucb/source/core/ucb1 \ +)) + +$(eval $(call gb_CppunitTest_use_configuration,vcl_complextext)) + +# vim: set noet sw=4 ts=4: diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk index fd2be4c5..d0f8f88 100644 --- a/vcl/Module_vcl.mk +++ b/vcl/Module_vcl.mk @@ -82,6 +82,7 @@ $(eval $(call gb_Module_add_targets,vcl,\ endif $(eval $(call gb_Module_add_check_targets,vcl,\ + CppunitTest_vcl_complextext \ CppunitTest_vcl_filters_test \ )) diff --git a/vcl/qa/cppunit/complextext.cxx b/vcl/qa/cppunit/complextext.cxx new file mode 100644 index 0000000..2519092 --- /dev/null +++ b/vcl/qa/cppunit/complextext.cxx @@ -0,0 +1,75 @@ +/* -*- 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 <unotest/filters-test.hxx> +#include <test/bootstrapfixture.hxx> + +#include <vcl/wrkwin.hxx> + +#include <osl/file.hxx> +#include <osl/process.h> + +class VclComplexTextTest : public test::BootstrapFixture +{ +public: + VclComplexTextTest() : BootstrapFixture(true, false) {} + + /// Play with font measuring etc. + void testArabic(); + + CPPUNIT_TEST_SUITE(VclComplexTextTest); + CPPUNIT_TEST(testArabic); + CPPUNIT_TEST_SUITE_END(); +}; + +void VclComplexTextTest::testArabic() +{ +#if !defined (LINUX) + return; +#else // only tested on Linux so far + OUString aOneTwoThree( "ÙاØÙد٠إثÙÙÙÙ Ø«ÙاثةÙ" ); + Window* pWin = new WorkWindow( (Window *)NULL ); + CPPUNIT_ASSERT( pWin != NULL ); + + OutputDevice *pOutDev = static_cast< OutputDevice * >( pWin ); + + Font aFont = OutputDevice::GetDefaultFont( + DEFAULTFONT_CTL_SPREADSHEET, + LANGUAGE_ARABIC_SAUDI_ARABIA, + DEFAULTFONT_FLAGS_ONLYONE, 0 ); + pOutDev->SetFont( aFont ); + + // normal orientation + Rectangle aInput; + Rectangle aRect = pOutDev->GetTextRect( aInput, aOneTwoThree ); + + // now rotate 270 degress + Font aRotated( aFont ); + aRotated.SetOrientation( 2700 ); + pOutDev->SetFont( aRotated ); + Rectangle aRectRot = pOutDev->GetTextRect( aInput, aOneTwoThree ); + + // Check that we did do the rotation ... +#if 0 + fprintf( stderr, "%ld %ld %ld %ld\n", + aRect.GetWidth(), aRect.GetHeight(), + aRectRot.GetWidth(), aRectRot.GetHeight() ); + CPPUNIT_ASSERT( aRectRot.GetWidth() == aRect.GetHeight() ); + CPPUNIT_ASSERT( aRectRot.GetHeight() == aRect.GetWidth() ); +#else + (void)aRect; (void)aRectRot; +#endif +#endif +} + +CPPUNIT_TEST_SUITE_REGISTRATION(VclComplexTextTest); + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits