calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.cpp
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.cpp Mon Jul 12 02:32:28 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.cpp Mon Jul 26 13:54:38 2010 +0530
@@ -18,8 +18,16 @@
#include <QtTest/QtTest>
#include <QPen>
+#include <QPainter>
+#include <QImage>
+#include <QGraphicsScene>
+#include <hbstyleloader.h>
+
#include "calendayeventspane.h"
+const qreal WIDGET_WIDTH = 300;
+const qreal WIDGET_HEIGHT = 1000;
+
class TestCalenEventsPane : public QObject
{
Q_OBJECT
@@ -35,6 +43,8 @@
void cleanup();
void testConstructors();
+ void testSetGetTopLineDrawing();
+ void testContentDrawing();
private:
CalenDayEventsPane *mEventsPane;
@@ -62,6 +72,11 @@
*/
void TestCalenEventsPane::initTestCase()
{
+ HbStyleLoader::registerFilePath(":/calendayhourelement.css");
+ HbStyleLoader::registerFilePath(":/calendayhourelement.widgetml");
+ HbStyleLoader::registerFilePath(":/calendayitem.css");
+ HbStyleLoader::registerFilePath(":/calendayitem.widgetml");
+ HbStyleLoader::registerFilePath(":/calendayeventspane.css");
}
/*!
@@ -108,5 +123,70 @@
delete testEventsPane;
}
+/*!
+ Test setting and getting info about top line drawing
+ 1. Test first set of value
+ 2. Test change value
+ */
+void TestCalenEventsPane::testSetGetTopLineDrawing()
+{
+ //1)
+ mEventsPane->setDrawTopLine(true);
+ QCOMPARE(mEventsPane->isTopLineDrawed(),true);
+ //2)
+ mEventsPane->setDrawTopLine(false);
+ QCOMPARE(mEventsPane->isTopLineDrawed(),false);
+}
+
+/*!
+ Test drawing content of widget
+ 1. Test without top line draw
+ 2. Test with top line draw
+ */
+void TestCalenEventsPane::testContentDrawing()
+{
+ mEventsPane->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
+ QGraphicsScene scene;
+ scene.addItem(mEventsPane);
+
+ //resize widget to be bigger than (0,0)
+ QSize size = mEventsPane->size().toSize();
+ QRect viewRectangle(0,10,size.width(),size.height()-20);
+ //create image that will simulate widget where painting should be done
+ QPixmap img(size);
+ //create painter which will be used to paint
+ QPainter painter;
+
+ //1)
+ mEventsPane->setDrawTopLine(false);
+ painter.begin(&img);
+ painter.setViewport(viewRectangle);
+ painter.setRenderHint(QPainter::Antialiasing);
+ //fill image with white color to have better filings with look of "paper"
+ painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
+ scene.render(&painter);
+ painter.end();
+#ifdef SAVE_IMAGES
+ //save drawed image
+ img.save("c:/unittest/TestCalenEventsPane_testContentDrawing_false.png");
+#endif
+
+ //2)
+ mEventsPane->setDrawTopLine(true);
+ painter.begin(&img);
+ painter.setViewport(viewRectangle);
+ painter.setRenderHint(QPainter::Antialiasing);
+ //fill image with white color to have better filings with look of "paper"
+ painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
+ scene.render(&painter);
+ painter.end();
+#ifdef SAVE_IMAGES
+ //save drawed image
+ img.save("c:/unittest/TestCalenEventsPane_testContentDrawing_true.png");
+#endif
+
+ scene.removeItem(mEventsPane);
+}
+
QTEST_MAIN(TestCalenEventsPane);
#include "unittest_calendayeventspane.moc"