summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/text
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/text')
-rw-r--r--tests/auto/gui/text/qfont/qfont.pro1
-rw-r--r--tests/auto/gui/text/qfont/tst_qfont.cpp43
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp16
3 files changed, 52 insertions, 8 deletions
diff --git a/tests/auto/gui/text/qfont/qfont.pro b/tests/auto/gui/text/qfont/qfont.pro
index 86178f3fa6..562294dd66 100644
--- a/tests/auto/gui/text/qfont/qfont.pro
+++ b/tests/auto/gui/text/qfont/qfont.pro
@@ -2,6 +2,7 @@ CONFIG += testcase
CONFIG += parallel_test
TARGET = tst_qfont
QT += testlib
+QT += core-private gui-private
!contains(QT_CONFIG, no-widgets): QT += widgets
SOURCES += tst_qfont.cpp
diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp
index 287fd728ff..3fe23bf1ff 100644
--- a/tests/auto/gui/text/qfont/tst_qfont.cpp
+++ b/tests/auto/gui/text/qfont/tst_qfont.cpp
@@ -44,6 +44,7 @@
#include <qfont.h>
+#include <private/qfont_p.h>
#include <qfontdatabase.h>
#include <qfontinfo.h>
#include <qstringlist.h>
@@ -81,6 +82,8 @@ private slots:
void styleName();
void defaultFamily_data();
void defaultFamily();
+
+ void sharing();
};
// Testing get/set functions
@@ -685,5 +688,45 @@ void tst_QFont::defaultFamily()
QVERIFY2(isAcceptable, msgNotAcceptableFont(familyForHint, acceptableFamilies));
}
+void tst_QFont::sharing()
+{
+ QFont f;
+ f.setStyleHint(QFont::Serif);
+ f.exactMatch(); // loads engine
+ QCOMPARE(QFontPrivate::get(f)->ref.load(), 1);
+ QVERIFY(QFontPrivate::get(f)->engineData);
+ QCOMPARE(QFontPrivate::get(f)->engineData->ref.load(), 1);
+
+ QFont f2(f);
+ QVERIFY(QFontPrivate::get(f2) == QFontPrivate::get(f));
+ QCOMPARE(QFontPrivate::get(f2)->ref.load(), 2);
+ QVERIFY(QFontPrivate::get(f2)->engineData);
+ QVERIFY(QFontPrivate::get(f2)->engineData == QFontPrivate::get(f)->engineData);
+ QCOMPARE(QFontPrivate::get(f2)->engineData->ref.load(), 1);
+
+ f2.setKerning(!f.kerning());
+ QVERIFY(QFontPrivate::get(f2) != QFontPrivate::get(f));
+ QCOMPARE(QFontPrivate::get(f2)->ref.load(), 1);
+ QVERIFY(QFontPrivate::get(f2)->engineData);
+ QVERIFY(QFontPrivate::get(f2)->engineData == QFontPrivate::get(f)->engineData);
+ QCOMPARE(QFontPrivate::get(f2)->engineData->ref.load(), 2);
+
+ f2 = f;
+ QVERIFY(QFontPrivate::get(f2) == QFontPrivate::get(f));
+ QCOMPARE(QFontPrivate::get(f2)->ref.load(), 2);
+ QVERIFY(QFontPrivate::get(f2)->engineData);
+ QVERIFY(QFontPrivate::get(f2)->engineData == QFontPrivate::get(f)->engineData);
+ QCOMPARE(QFontPrivate::get(f2)->engineData->ref.load(), 1);
+
+ if (f.pointSize() > 0)
+ f2.setPointSize(f.pointSize() * 2 / 3);
+ else
+ f2.setPixelSize(f.pixelSize() * 2 / 3);
+ QVERIFY(QFontPrivate::get(f2) != QFontPrivate::get(f));
+ QCOMPARE(QFontPrivate::get(f2)->ref.load(), 1);
+ QVERIFY(!QFontPrivate::get(f2)->engineData);
+ QVERIFY(QFontPrivate::get(f2)->engineData != QFontPrivate::get(f)->engineData);
+}
+
QTEST_MAIN(tst_QFont)
#include "tst_qfont.moc"
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 04d994db07..cf3265d446 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -1927,8 +1927,8 @@ public:
CursorPosSignalSpy(QTextDocument *doc)
{
calls = 0;
- connect(doc, SIGNAL(cursorPositionChanged(const QTextCursor &)),
- this, SLOT(cursorPositionChanged(const QTextCursor &)));
+ connect(doc, SIGNAL(cursorPositionChanged(QTextCursor)),
+ this, SLOT(cursorPositionChanged(QTextCursor)));
}
int calls;
@@ -2054,17 +2054,17 @@ void tst_QTextDocument::markContentsDirty()
QTestDocumentLayout *lout = new QTestDocumentLayout(doc);
doc->setDocumentLayout(lout);
TestSyntaxHighlighter *highlighter = new TestSyntaxHighlighter(doc);
- connect(doc, SIGNAL(contentsChange(int, int, int)),
- highlighter, SLOT(markBlockDirty(int, int, int)));
+ connect(doc, SIGNAL(contentsChange(int,int,int)),
+ highlighter, SLOT(markBlockDirty(int,int,int)));
highlighter->ok = false;
cursor.insertText("Some dummy text blah blah");
QVERIFY(highlighter->ok);
- disconnect(doc, SIGNAL(contentsChange(int, int, int)),
- highlighter, SLOT(markBlockDirty(int, int, int)));
- connect(doc, SIGNAL(contentsChange(int, int, int)),
- highlighter, SLOT(modifyBlockAgain(int, int, int)));
+ disconnect(doc, SIGNAL(contentsChange(int,int,int)),
+ highlighter, SLOT(markBlockDirty(int,int,int)));
+ connect(doc, SIGNAL(contentsChange(int,int,int)),
+ highlighter, SLOT(modifyBlockAgain(int,int,int)));
highlighter->ok = false;
cursor.insertText("FooBar");
QVERIFY(highlighter->ok);