diff options
author | João Abecasis <joao.abecasis@nokia.com> | 2012-01-16 17:52:29 +0100 |
---|---|---|
committer | João Abecasis <joao.abecasis@nokia.com> | 2012-01-16 17:53:41 +0100 |
commit | 5b250d497fd798c476765b22a2906e1c0ff1e432 (patch) | |
tree | fd4215ca375cc2402e536bf670c2977cf64ae2ef /tests/auto/gui/text | |
parent | 2c52e9a5c1d6ef6cbf4577430e14027375465c96 (diff) | |
parent | 7a0099183a1c107126bda3b59a47651aac612426 (diff) |
Merge remote-tracking branch 'gerrit/master' into containers
Change-Id: I2d358b912f1055ee6021d13de2f66fd459aaa355
Diffstat (limited to 'tests/auto/gui/text')
26 files changed, 233 insertions, 67 deletions
diff --git a/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp b/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp index b296a56b38..d6fff734c0 100644 --- a/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp +++ b/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp index 29dcfcd542..4f1deec996 100644 --- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp +++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp index 406bdf950e..c3d41a27bf 100644 --- a/tests/auto/gui/text/qfont/tst_qfont.cpp +++ b/tests/auto/gui/text/qfont/tst_qfont.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp index bf84b91024..e7bbfbceff 100644 --- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp index a4bc8458b3..bc858bf38a 100644 --- a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp b/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp index 256ea20a1c..a4e5c63e6d 100644 --- a/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp +++ b/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qrawfont/qrawfont.pro b/tests/auto/gui/text/qrawfont/qrawfont.pro index 3b5e2b1046..149ad6442e 100644 --- a/tests/auto/gui/text/qrawfont/qrawfont.pro +++ b/tests/auto/gui/text/qrawfont/qrawfont.pro @@ -8,8 +8,4 @@ SOURCES += \ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src -wince* { - DEFINES += SRCDIR=\\\"\\\" -} else { - DEFINES += SRCDIR=\\\"$$PWD/\\\" -} +TESTDATA += testfont_bold_italic.ttf testfont.ttf diff --git a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp index f922ba3572..a0cda39c27 100644 --- a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp +++ b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -40,6 +40,7 @@ ****************************************************************************/ #include <QtTest/QtTest> +#include <QtGui/QFontDatabase> #include <qrawfont.h> #include <private/qrawfont_p.h> @@ -50,6 +51,7 @@ class tst_QRawFont: public QObject #if !defined(QT_NO_RAWFONT) private slots: void init(); + void initTestCase(); void invalidRawFont(); @@ -99,7 +101,9 @@ private slots: #if defined(Q_WS_X11) || defined(Q_WS_MAC) void multipleRawFontsFromData(); #endif - +private: + QString testFont; + QString testFontBoldItalic; #endif // QT_NO_RAWFONT }; @@ -113,6 +117,18 @@ void tst_QRawFont::init() { } +void tst_QRawFont::initTestCase() +{ + testFont = QFINDTESTDATA("testfont.ttf"); + testFontBoldItalic = QFINDTESTDATA("testfont_bold_italic.ttf"); + if (testFont.isEmpty() || testFontBoldItalic.isEmpty()) + QFAIL("qrawfont unittest font files not found!"); + + QFontDatabase database; + if (database.families().count() == 0) + QSKIP("No fonts available!!!"); +} + void tst_QRawFont::invalidRawFont() { QRawFont font; @@ -140,7 +156,7 @@ void tst_QRawFont::explicitRawFontNotLoadedInDatabase() { QFETCH(QFont::HintingPreference, hintingPreference); - QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference); + QRawFont font(testFont, 10, hintingPreference); QVERIFY(font.isValid()); QVERIFY(!QFontDatabase().families().contains(font.familyName())); @@ -160,7 +176,7 @@ void tst_QRawFont::explicitRawFontNotAvailableInSystem() { QFETCH(QFont::HintingPreference, hintingPreference); - QRawFont rawfont(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference); + QRawFont rawfont(testFont, 10, hintingPreference); { QFont font(rawfont.familyName(), 10); @@ -190,7 +206,7 @@ void tst_QRawFont::correctFontData_data() int *hintingPreference = hintingPreferences; while (*hintingPreference >= 0) { - QString fileName = QLatin1String(SRCDIR "testfont.ttf"); + QString fileName = testFont; QString title = fileName + QLatin1String(": hintingPreference=") + QString::number(*hintingPreference); @@ -204,7 +220,7 @@ void tst_QRawFont::correctFontData_data() << 1000.0 << 10.0; - fileName = QLatin1String(SRCDIR "testfont_bold_italic.ttf"); + fileName = testFontBoldItalic; title = fileName + QLatin1String(": hintingPreference=") + QString::number(*hintingPreference); @@ -245,7 +261,7 @@ void tst_QRawFont::correctFontData() void tst_QRawFont::glyphIndices() { - QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10); + QRawFont font(testFont, 10); QVERIFY(font.isValid()); QVector<quint32> glyphIndices = font.glyphIndexesForString(QLatin1String("Foobar")); @@ -269,7 +285,7 @@ void tst_QRawFont::advances() { QFETCH(QFont::HintingPreference, hintingPreference); - QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference); + QRawFont font(testFont, 10, hintingPreference); QVERIFY(font.isValid()); QRawFontPrivate *font_d = QRawFontPrivate::get(font); @@ -292,7 +308,7 @@ void tst_QRawFont::advances() void tst_QRawFont::textLayout() { QFontDatabase fontDatabase; - int id = fontDatabase.addApplicationFont(SRCDIR "testfont.ttf"); + int id = fontDatabase.addApplicationFont(testFont); QVERIFY(id >= 0); QString familyName = QString::fromLatin1("QtBidiTestFont"); @@ -371,7 +387,7 @@ void tst_QRawFont::fontTable() QFETCH(int, offset); QFETCH(quint32, expectedValue); - QRawFont font(QString::fromLatin1(SRCDIR "testfont.ttf"), 10, hintingPreference); + QRawFont font(testFont, 10, hintingPreference); QVERIFY(font.isValid()); QByteArray table = font.fontTable(tagName); @@ -396,7 +412,7 @@ void tst_QRawFont::supportedWritingSystems_data() QTest::newRow(qPrintable(QString::fromLatin1("testfont.ttf, hintingPreference=%1") .arg(hintingPreference))) - << QString::fromLatin1(SRCDIR "testfont.ttf") + << testFont << (QList<QFontDatabase::WritingSystem>() << QFontDatabase::Latin << QFontDatabase::Hebrew @@ -405,7 +421,7 @@ void tst_QRawFont::supportedWritingSystems_data() QTest::newRow(qPrintable(QString::fromLatin1("testfont_bold_italic.ttf, hintingPreference=%1") .arg(hintingPreference))) - << QString::fromLatin1(SRCDIR "testfont_bold_italic.ttf") + << testFontBoldItalic << (QList<QFontDatabase::WritingSystem>() << QFontDatabase::Latin << QFontDatabase::Hebrew @@ -439,8 +455,8 @@ void tst_QRawFont::supportsCharacter_data() QTest::addColumn<bool>("shouldBeSupported"); const char *fileNames[2] = { - SRCDIR "testfont.ttf", - SRCDIR "testfont_bold_italic.ttf" + "testfont.ttf", + "testfont_bold_italic.ttf" }; for (int hintingPreference=QFont::PreferDefaultHinting; @@ -448,7 +464,7 @@ void tst_QRawFont::supportsCharacter_data() ++hintingPreference) { for (int i=0; i<2; ++i) { - QString fileName = QLatin1String(fileNames[i]); + QString fileName = QFINDTESTDATA(fileNames[i]); // Latin text for (char ch='!'; ch<='~'; ++ch) { @@ -510,7 +526,7 @@ void tst_QRawFont::supportsUcs4Character_data() ++hintingPreference) { for (quint32 ch=0x10330; ch<=0x1034A; ++ch) { { - QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf"); + QString fileName = testFont; QString title = QString::fromLatin1("%1, character=0x%2, hintingPreference=%3") .arg(fileName).arg(QString::number(ch, 16)).arg(hintingPreference); @@ -522,7 +538,7 @@ void tst_QRawFont::supportsUcs4Character_data() } { - QString fileName = QString::fromLatin1(SRCDIR "testfont_bold_italic.ttf"); + QString fileName = testFontBoldItalic; QString title = QString::fromLatin1("%1, character=0x%2, hintingPreference=%3") .arg(fileName).arg(QString::number(ch, 16)).arg(hintingPreference); @@ -560,7 +576,7 @@ void tst_QRawFont::fromFont_data() QString titleBase = QString::fromLatin1("%2, hintingPreference=%1, writingSystem=%3") .arg(i); { - QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf"); + QString fileName = testFont; QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any; QString title = titleBase.arg(fileName).arg(writingSystem); @@ -572,7 +588,7 @@ void tst_QRawFont::fromFont_data() } { - QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf"); + QString fileName = testFont; QFontDatabase::WritingSystem writingSystem = QFontDatabase::Hebrew; QString title = titleBase.arg(fileName).arg(writingSystem); @@ -584,7 +600,7 @@ void tst_QRawFont::fromFont_data() } { - QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf"); + QString fileName = testFont; QFontDatabase::WritingSystem writingSystem = QFontDatabase::Latin; QString title = titleBase.arg(fileName).arg(writingSystem); @@ -644,7 +660,7 @@ void tst_QRawFont::copyConstructor() QRawFont outerRawFont; { - QRawFont rawFont(QString::fromLatin1(SRCDIR "testfont.ttf"), 11, hintingPreference); + QRawFont rawFont(testFont, 11, hintingPreference); QVERIFY(rawFont.isValid()); rawFontFamilyName = rawFont.familyName(); @@ -712,7 +728,7 @@ void tst_QRawFont::detach() QRawFont outerRawFont; { - QRawFont rawFont(QString::fromLatin1(SRCDIR "testfont.ttf"), 11, hintingPreference); + QRawFont rawFont(testFont, 11, hintingPreference); QVERIFY(rawFont.isValid()); rawFontFamilyName = rawFont.familyName(); @@ -725,8 +741,7 @@ void tst_QRawFont::detach() { QRawFont otherRawFont(rawFont); - otherRawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"), - rawFontPixelSize, hintingPreference); + otherRawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference); QVERIFY(otherRawFont.isValid()); QCOMPARE(otherRawFont.pixelSize(), rawFontPixelSize); @@ -740,8 +755,7 @@ void tst_QRawFont::detach() { QRawFont otherRawFont = rawFont; - otherRawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"), - rawFontPixelSize, hintingPreference); + otherRawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference); QVERIFY(otherRawFont.isValid()); QCOMPARE(otherRawFont.pixelSize(), rawFontPixelSize); @@ -754,8 +768,7 @@ void tst_QRawFont::detach() outerRawFont = rawFont; - rawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"), rawFontPixelSize, - hintingPreference); + rawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference); } QVERIFY(outerRawFont.isValid()); @@ -783,7 +796,7 @@ void tst_QRawFont::unsupportedWritingSystem() QFETCH(QFont::HintingPreference, hintingPreference); QFontDatabase fontDatabase; - int id = fontDatabase.addApplicationFont(QLatin1String(SRCDIR "testfont.ttf")); + int id = fontDatabase.addApplicationFont(testFont); QFont font("QtBidiTestFont"); font.setHintingPreference(hintingPreference); @@ -857,13 +870,13 @@ void tst_QRawFont::rawFontSetPixelSize() #if defined(Q_WS_X11) || defined(Q_WS_MAC) void tst_QRawFont::multipleRawFontsFromData() { - QFile file(QString::fromLatin1(SRCDIR "testfont.ttf")); + QFile file(testFont); QRawFont testFont; if (file.open(QIODevice::ReadOnly)) { testFont.loadFromData(file.readAll(), 11, QFont::PreferDefaultHinting); file.close(); } - file.setFileName(QLatin1String(SRCDIR "testfont_bold_italic.ttf")); + file.setFileName(testFontBoldItalic); QRawFont testFontBoldItalic; if (file.open(QIODevice::ReadOnly)) testFontBoldItalic.loadFromData(file.readAll(), 11, QFont::PreferDefaultHinting); diff --git a/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp b/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp index 05854440c6..b0a66eab07 100644 --- a/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp index bbc60df9d4..0358b5d471 100644 --- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp +++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextblock/tst_qtextblock.cpp b/tests/auto/gui/text/qtextblock/tst_qtextblock.cpp index 190262f4ef..9489a2e90e 100644 --- a/tests/auto/gui/text/qtextblock/tst_qtextblock.cpp +++ b/tests/auto/gui/text/qtextblock/tst_qtextblock.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp b/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp index 9667df73bb..09b9a06a1d 100644 --- a/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp +++ b/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -872,27 +872,147 @@ void tst_QTextCursor::tableMovement() void tst_QTextCursor::selectionsInTable() { - QTextTable *table = cursor.insertTable(2, 2); - table->cellAt(0, 0).firstCursorPosition().insertText("First"); - table->cellAt(0, 1).firstCursorPosition().insertText("Second"); - table->cellAt(1, 0).firstCursorPosition().insertText("Third"); - table->cellAt(1, 1).firstCursorPosition().insertText("Fourth"); + QTextTable *table = cursor.insertTable(3, 3); + table->cellAt(0, 0).firstCursorPosition().insertText("A a"); // first = 1 + table->cellAt(0, 1).firstCursorPosition().insertText("B b"); // first = 5 + table->cellAt(0, 2).firstCursorPosition().insertText("C c"); // first = 9 + table->cellAt(1, 0).firstCursorPosition().insertText("D d"); // first = 13 + table->cellAt(1, 1).firstCursorPosition().insertText("E e"); // first = 17 + table->cellAt(1, 2).firstCursorPosition().insertText("F f"); // first = 21 + table->cellAt(2, 0).firstCursorPosition().insertText("G g"); // first = 25 + table->cellAt(2, 1).firstCursorPosition().insertText("H h"); // first = 29 + table->cellAt(2, 2).firstCursorPosition().insertText("I i"); // first = 33 cursor = table->cellAt(0, 0).lastCursorPosition(); + QCOMPARE(cursor.position(), 4); + QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor) == false); + QCOMPARE(cursor.position(), 1); cursor = table->cellAt(1, 0).lastCursorPosition(); + QCOMPARE(cursor.position(), 16); + QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor) == false); + QCOMPARE(cursor.position(), 13); - cursor = table->cellAt(0, 1).firstCursorPosition(); + cursor = table->cellAt(0, 2).firstCursorPosition(); + QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor) == false); - cursor = table->cellAt(1, 1).firstCursorPosition(); + cursor = table->cellAt(1, 2).firstCursorPosition(); + QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor)); QVERIFY(cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor) == false); + + // Next let's test selecting entire cells one at a time + cursor = table->cellAt(0, 0).firstCursorPosition(); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 9); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 13); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 17); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 21); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 25); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 29); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 33); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor) == false); + + // And now lets walk all the way back + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 29); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 25); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 21); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 17); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 13); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 9); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 1); + QVERIFY(cursor.movePosition(QTextCursor::PreviousCell, QTextCursor::KeepAnchor) == false); + + QTextCursor::MoveOperation leftMovements[5] = { + QTextCursor::PreviousBlock + , QTextCursor::PreviousCharacter + , QTextCursor::PreviousWord + , QTextCursor::Left + , QTextCursor::WordLeft + }; + + QTextCursor::MoveOperation rightMovements[5] = { + QTextCursor::NextBlock + , QTextCursor::NextCharacter + , QTextCursor::NextWord + , QTextCursor::Right + , QTextCursor::WordRight + }; + + for (int i = 0; i < 5; ++i) { + QTextCursor::MoveOperation left = leftMovements[i]; + QTextCursor::MoveOperation right = rightMovements[i]; + + // Lets walk circle around anchor placed at 1,1 using up, down, left and right + cursor = table->cellAt(1, 1).firstCursorPosition(); + QCOMPARE(cursor.position(), 17); + QVERIFY(cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 18); // First right should not jump more than one char + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 21); // Lets jump to the next cell + QVERIFY(cursor.movePosition(QTextCursor::Down, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 33); + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 29); + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 25); + QVERIFY(cursor.movePosition(QTextCursor::Up, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 13); + QVERIFY(cursor.movePosition(QTextCursor::Up, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 1); + QVERIFY(cursor.movePosition(right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); + QVERIFY(cursor.movePosition(right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 9); + QVERIFY(cursor.movePosition(QTextCursor::Down, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 21); + + // Lets walk to the side 2 cells and back, first right + cursor = table->cellAt(0, 0).firstCursorPosition(); + QVERIFY(cursor.movePosition(QTextCursor::NextCell, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); // Lets jump to the next cell + QVERIFY(cursor.movePosition(right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 9); + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QVERIFY(cursor.position() < 5); + + // Then left + cursor = table->cellAt(0, 2).firstCursorPosition(); + QCOMPARE(cursor.position(), 9); + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); // A single left should do + QVERIFY(cursor.movePosition(left, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 1); + QVERIFY(cursor.movePosition(right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 5); + QVERIFY(cursor.movePosition(right, QTextCursor::KeepAnchor)); + QCOMPARE(cursor.position(), 9); + } } void tst_QTextCursor::selectedText() diff --git a/tests/auto/gui/text/qtextdocument/common.h b/tests/auto/gui/text/qtextdocument/common.h index 1eaefdbfbe..081c71ea13 100644 --- a/tests/auto/gui/text/qtextdocument/common.h +++ b/tests/auto/gui/text/qtextdocument/common.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp index a9295ffbdb..a84024ceab 100644 --- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp +++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp index 7b4c1f9804..63a67a0c10 100644 --- a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp +++ b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp b/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp index ae31936e63..91da86d3d1 100644 --- a/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp +++ b/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp index 1d69bc2c1d..166b5d7c82 100644 --- a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp +++ b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -63,6 +63,8 @@ private slots: void testUnderlinePropertyPrecedence(); void toFormat(); void resolveFont(); + void testLetterSpacing(); + void testFontStretch(); void getSetTabs(); void testTabsUsed(); void testFontStyleSetters(); @@ -277,6 +279,41 @@ void tst_QTextFormat::resolveFont() QVERIFY(fmt.font().strikeOut()); } + +void tst_QTextFormat::testLetterSpacing() +{ + QTextCharFormat format; + + QCOMPARE(format.hasProperty(QTextFormat::FontLetterSpacing), false); + QCOMPARE(format.hasProperty(QTextFormat::FontAbsoluteLetterSpacing), false); + + format.setFontAbsoluteLetterSpacing(10.0); + + QCOMPARE(format.hasProperty(QTextFormat::FontLetterSpacing), false); + QCOMPARE(format.property(QTextFormat::FontAbsoluteLetterSpacing).toDouble(), 10.0); + + format.setFontLetterSpacing(110.0); + + QCOMPARE(format.property(QTextFormat::FontLetterSpacing).toDouble(), 110.0); + QCOMPARE(format.hasProperty(QTextFormat::FontAbsoluteLetterSpacing), false); + + format.setFontAbsoluteLetterSpacing(10.0); + + QCOMPARE(format.hasProperty(QTextFormat::FontLetterSpacing), false); + QCOMPARE(format.property(QTextFormat::FontAbsoluteLetterSpacing).toDouble(), 10.0); +} + +void tst_QTextFormat::testFontStretch() +{ + QTextCharFormat format; + + QCOMPARE(format.hasProperty(QTextFormat::FontStretch), false); + + format.setFontStretch(130.0); + + QCOMPARE(format.property(QTextFormat::FontStretch).toInt(), 130); +} + void tst_QTextFormat::getSetTabs() { class Comparator { diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp index 253211bbe9..e816b04153 100644 --- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp b/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp index 8b4317f52b..810c416875 100644 --- a/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp +++ b/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextobject/tst_qtextobject.cpp b/tests/auto/gui/text/qtextobject/tst_qtextobject.cpp index 15e50a5a54..b621763cea 100644 --- a/tests/auto/gui/text/qtextobject/tst_qtextobject.cpp +++ b/tests/auto/gui/text/qtextobject/tst_qtextobject.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextodfwriter/tst_qtextodfwriter.cpp b/tests/auto/gui/text/qtextodfwriter/tst_qtextodfwriter.cpp index 01abf636c9..49d86a2c4b 100644 --- a/tests/auto/gui/text/qtextodfwriter/tst_qtextodfwriter.cpp +++ b/tests/auto/gui/text/qtextodfwriter/tst_qtextodfwriter.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextpiecetable/tst_qtextpiecetable.cpp b/tests/auto/gui/text/qtextpiecetable/tst_qtextpiecetable.cpp index 2f4ca7282a..b74bc3daf8 100644 --- a/tests/auto/gui/text/qtextpiecetable/tst_qtextpiecetable.cpp +++ b/tests/auto/gui/text/qtextpiecetable/tst_qtextpiecetable.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextscriptengine/generate/main.cpp b/tests/auto/gui/text/qtextscriptengine/generate/main.cpp index 06caa34b4d..5bb13232ca 100644 --- a/tests/auto/gui/text/qtextscriptengine/generate/main.cpp +++ b/tests/auto/gui/text/qtextscriptengine/generate/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp b/tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp index 487ef96405..638f13aea2 100644 --- a/tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp +++ b/tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp index fcafa51c90..b4ecdf1f39 100644 --- a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp +++ b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/gui/text/qzip/tst_qzip.cpp b/tests/auto/gui/text/qzip/tst_qzip.cpp index 7d7f412648..d68cb2e2dc 100644 --- a/tests/auto/gui/text/qzip/tst_qzip.cpp +++ b/tests/auto/gui/text/qzip/tst_qzip.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** |