summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-12-15 03:55:16 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-12-15 03:56:11 (GMT)
commit76f0ff2e192d18f8e9aed6d7f56c864a1678133c (patch)
tree1086278312d09d5b2d7f072fab714e0fef4af441 /tests
parentd2174861e4dc83bf95c689d7a3e68161fade4aee (diff)
downloadQt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.zip
Qt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.tar.gz
Qt-76f0ff2e192d18f8e9aed6d7f56c864a1678133c.tar.bz2
Expand text benchmark.
Diffstat (limited to 'tests')
-rw-r--r--tests/benchmarks/declarative/text/text.pro1
-rw-r--r--tests/benchmarks/declarative/text/tst_text.cpp47
2 files changed, 41 insertions, 7 deletions
diff --git a/tests/benchmarks/declarative/text/text.pro b/tests/benchmarks/declarative/text/text.pro
index e4840b1..3320f53 100644
--- a/tests/benchmarks/declarative/text/text.pro
+++ b/tests/benchmarks/declarative/text/text.pro
@@ -1,5 +1,4 @@
load(qttest_p4)
-QT += script
TEMPLATE = app
TARGET = tst_text
macx:CONFIG -= app_bundle
diff --git a/tests/benchmarks/declarative/text/tst_text.cpp b/tests/benchmarks/declarative/text/tst_text.cpp
index 4fd84e6..5c57633 100644
--- a/tests/benchmarks/declarative/text/tst_text.cpp
+++ b/tests/benchmarks/declarative/text/tst_text.cpp
@@ -44,16 +44,25 @@
#include <QPainter>
#include <QSize>
#include <qmath.h>
+#include <private/qtextcontrol_p.h>
class tst_text : public QObject
{
Q_OBJECT
public:
- tst_text() {}
+ tst_text()
+ {
+ m_text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
+ }
private slots:
void layout();
- void paintToPixmap();
+ void paintLayoutToPixmap();
+ void document();
+ void paintDocToPixmap();
+
+private:
+ QString m_text;
};
QSize setupTextLayout(QTextLayout *layout)
@@ -94,18 +103,18 @@ QSize setupTextLayout(QTextLayout *layout)
void tst_text::layout()
{
//get rid of initialization effects
- QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
+ QTextLayout layout(m_text);
setupTextLayout(&layout);
QBENCHMARK {
- QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
+ QTextLayout layout(m_text);
setupTextLayout(&layout);
}
}
-void tst_text::paintToPixmap()
+void tst_text::paintLayoutToPixmap()
{
- QTextLayout layout("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
+ QTextLayout layout(m_text);
QSize size = setupTextLayout(&layout);
QBENCHMARK {
@@ -116,5 +125,31 @@ void tst_text::paintToPixmap()
}
}
+void tst_text::document()
+{
+ QTextControl *control = new QTextControl(m_text);
+
+ QBENCHMARK {
+ QTextControl *control = new QTextControl;
+ QTextDocument *doc = control->document();
+ doc->setHtml(m_text);
+ }
+}
+
+void tst_text::paintDocToPixmap()
+{
+ QTextControl *control = new QTextControl;
+ QTextDocument *doc = control->document();
+ doc->setHtml(m_text);
+ QSize size = doc->size().toSize();
+
+ QBENCHMARK {
+ QPixmap img(size);
+ img.fill(Qt::transparent);
+ QPainter p(&img);
+ control->drawContents(&p, QRectF(QPointF(0, 0), QSizeF(size)));
+ }
+}
+
QTEST_MAIN(tst_text)
#include "tst_text.moc"