diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 3cc2506d0..ab101de38 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -34,6 +34,7 @@ PLASMA_UNIT_TESTS( packagestructuretest packageurlinterceptortest pluginloadertest + framesvgtest # plasmoidpackagetest ) diff --git a/autotests/data/background.svgz b/autotests/data/background.svgz new file mode 100644 index 000000000..b226eba4c Binary files /dev/null and b/autotests/data/background.svgz differ diff --git a/autotests/framesvgtest.cpp b/autotests/framesvgtest.cpp new file mode 100644 index 000000000..e6beb3653 --- /dev/null +++ b/autotests/framesvgtest.cpp @@ -0,0 +1,53 @@ +/******************************************************************************** +* Copyright 2014 Marco Martin * +* * +* This library is free software; you can redistribute it and/or * +* modify it under the terms of the GNU Library General Public * +* License as published by the Free Software Foundation; either * +* version 2 of the License, or (at your option) any later version. * +* * +* This library 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 * +* Library General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public License * +* along with this library; see the file COPYING.LIB. If not, write to * +* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * +* Boston, MA 02110-1301, USA. * +*********************************************************************************/ + +#include "framesvgtest.h" +#include + + + +void FrameSvgTest::initTestCase() +{ + m_frameSvg = new Plasma::FrameSvg; + m_frameSvg->setImagePath(QFINDTESTDATA("data/background.svgz")); + QVERIFY(m_frameSvg->isValid()); +} + +void FrameSvgTest::cleanupTestCase() +{ + delete m_frameSvg; +} + +void FrameSvgTest::margins() +{ + QCOMPARE(m_frameSvg->marginSize(Plasma::Types::LeftMargin), (qreal)26); + QCOMPARE(m_frameSvg->marginSize(Plasma::Types::TopMargin), (qreal)26); + QCOMPARE(m_frameSvg->marginSize(Plasma::Types::RightMargin), (qreal)26); + QCOMPARE(m_frameSvg->marginSize(Plasma::Types::BottomMargin), (qreal)26); +} + +void FrameSvgTest::contentsRect() +{ + m_frameSvg->resizeFrame(QSize(100,100)); + QEXPECT_FAIL("", "contentsRect() is broken in master right now.", Continue); + QCOMPARE(m_frameSvg->contentsRect(), QRectF(26, 26, 48, 48)); +} + +QTEST_MAIN(FrameSvgTest) + diff --git a/autotests/framesvgtest.h b/autotests/framesvgtest.h new file mode 100644 index 000000000..d832f705f --- /dev/null +++ b/autotests/framesvgtest.h @@ -0,0 +1,46 @@ +/****************************************************************************** +* Copyright 2014 Marco Martin * +* * +* This library is free software; you can redistribute it and/or * +* modify it under the terms of the GNU Library General Public * +* License as published by the Free Software Foundation; either * +* version 2 of the License, or (at your option) any later version. * +* * +* This library 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 * +* Library General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public License * +* along with this library; see the file COPYING.LIB. If not, write to * +* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * +* Boston, MA 02110-1301, USA. * +*******************************************************************************/ +#ifndef FRAMESVGTEST_H +#define FRAMESVGTEST_H + +#include + + +#include "plasma/framesvg.h" + + + +class FrameSvgTest : public QObject +{ + Q_OBJECT + +public Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + +private Q_SLOTS: + void margins(); + void contentsRect(); + +private: + Plasma::FrameSvg *m_frameSvg; +}; + +#endif +