diff options
Diffstat (limited to 'tests/auto/gui/text')
-rw-r--r-- | tests/auto/gui/text/qfont/qfont.pro | 1 | ||||
-rw-r--r-- | tests/auto/gui/text/qfont/tst_qfont.cpp | 43 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp | 16 |
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); |