vcl/CppunitTest_vcl_animation.mk | 1 vcl/qa/cppunit/animation.cxx | 69 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)
New commits: commit 431c692e4e58a4861e4ab7b4d30b1edf0aab0496 Author: Chris Sherlock <chris.sherloc...@gmail.com> AuthorDate: Fri Jul 19 23:47:32 2019 +1000 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Sat May 7 02:54:13 2022 +0200 vcl: add some basic Animation unit tests Change-Id: Ib8e33fe5f4360b298d2be02fcb5777c21e71fd0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76400 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/vcl/CppunitTest_vcl_animation.mk b/vcl/CppunitTest_vcl_animation.mk index 3ff256daa7b2..659fdbe819ce 100644 --- a/vcl/CppunitTest_vcl_animation.mk +++ b/vcl/CppunitTest_vcl_animation.mk @@ -16,6 +16,7 @@ $(eval $(call gb_CppunitTest_set_include,vcl_animation,\ $(eval $(call gb_CppunitTest_add_exception_objects,vcl_animation, \ vcl/qa/cppunit/implanimview \ + vcl/qa/cppunit/animation \ )) $(eval $(call gb_CppunitTest_use_libraries,vcl_animation, \ diff --git a/vcl/qa/cppunit/animation.cxx b/vcl/qa/cppunit/animation.cxx new file mode 100644 index 000000000000..e9e308ff7190 --- /dev/null +++ b/vcl/qa/cppunit/animation.cxx @@ -0,0 +1,69 @@ +/* -*- 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 <test/bootstrapfixture.hxx> +#include <cppunit/TestAssert.h> + +#include <vcl/animate/Animation.hxx> + +class VclAnimationTest : public test::BootstrapFixture +{ +public: + VclAnimationTest() + : BootstrapFixture(true, false) + { + } + + void testFrameCount(); + void testDisplaySize(); + + CPPUNIT_TEST_SUITE(VclAnimationTest); + CPPUNIT_TEST(testFrameCount); + CPPUNIT_TEST(testDisplaySize); + CPPUNIT_TEST_SUITE_END(); +}; + +void VclAnimationTest::testFrameCount() +{ + Animation aAnimation; + + CPPUNIT_ASSERT_EQUAL(size_t(0), aAnimation.Count()); + + aAnimation.Insert( + AnimationBitmap(BitmapEx(Size(3, 4), vcl::PixelFormat::N24_BPP), Point(0, 0), Size(3, 4))); + CPPUNIT_ASSERT_EQUAL(size_t(1), aAnimation.Count()); + + aAnimation.Insert(AnimationBitmap(BitmapEx(Size(3, 3), vcl::PixelFormat::N24_BPP), Point(0, 0), + Size(10, 10))); + CPPUNIT_ASSERT_EQUAL(size_t(2), aAnimation.Count()); + + aAnimation.Clear(); + CPPUNIT_ASSERT_EQUAL(size_t(0), aAnimation.Count()); +} + +void VclAnimationTest::testDisplaySize() +{ + Animation aAnimation; + CPPUNIT_ASSERT_EQUAL(Size(0, 0), aAnimation.GetDisplaySizePixel()); + + aAnimation.Insert( + AnimationBitmap(BitmapEx(Size(3, 4), vcl::PixelFormat::N24_BPP), Point(0, 0), Size(3, 4))); + CPPUNIT_ASSERT_EQUAL(Size(3, 4), aAnimation.GetDisplaySizePixel()); + + aAnimation.Insert(AnimationBitmap(BitmapEx(Size(10, 10), vcl::PixelFormat::N24_BPP), + Point(0, 0), Size(10, 10))); + CPPUNIT_ASSERT_EQUAL(Size(10, 10), aAnimation.GetDisplaySizePixel()); + + aAnimation.Clear(); + CPPUNIT_ASSERT_EQUAL(Size(0, 0), aAnimation.GetDisplaySizePixel()); +} + +CPPUNIT_TEST_SUITE_REGISTRATION(VclAnimationTest); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */