diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:45:40 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:54:01 +0200 |
commit | 77da617dc8e378a631ee8c15b1b414f16b87f147 (patch) | |
tree | 563f4f8e64e416774ea2b1599b896b589385168c /tests/auto/gui | |
parent | c17134e2db4d364855aa78a0d3c47cb9ef964dd9 (diff) | |
parent | 01f3530650f9f6f4c08520263a3c62281d81e3fc (diff) |
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
doc/global/qt-cpp-defines.qdocconf
src/3rdparty/forkfd/forkfd.c
src/corelib/codecs/qtextcodec.cpp
src/corelib/kernel/qmetatype.cpp
src/corelib/tools/qset.qdoc
src/gui/accessible/qaccessible.cpp
src/gui/image/qpixmapcache.cpp
src/opengl/qgl.cpp
src/tools/qdoc/generator.cpp
src/widgets/kernel/qwidget.cpp
tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
Diffstat (limited to 'tests/auto/gui')
-rw-r--r-- | tests/auto/gui/image/qimage/images/jpeg_exif_invalid_data_QTBUG-46870.jpg | bin | 0 -> 14122 bytes | |||
-rw-r--r-- | tests/auto/gui/image/qimage/tst_qimage.cpp | 8 | ||||
-rw-r--r-- | tests/auto/gui/text/qfontcache/tst_qfontcache.cpp | 14 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp | 76 |
4 files changed, 66 insertions, 32 deletions
diff --git a/tests/auto/gui/image/qimage/images/jpeg_exif_invalid_data_QTBUG-46870.jpg b/tests/auto/gui/image/qimage/images/jpeg_exif_invalid_data_QTBUG-46870.jpg Binary files differnew file mode 100644 index 0000000000..a51a1e3162 --- /dev/null +++ b/tests/auto/gui/image/qimage/images/jpeg_exif_invalid_data_QTBUG-46870.jpg diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index c1b32a273c..08f48abd20 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -185,6 +185,7 @@ private slots: void exifOrientation(); void exif_QTBUG45865(); + void exif_invalid_data_QTBUG46870(); void cleanupFunctions(); @@ -2872,6 +2873,13 @@ void tst_QImage::exif_QTBUG45865() QCOMPARE(image.size(), QSize(5, 8)); } +void tst_QImage::exif_invalid_data_QTBUG46870() +{ + QImage image; + QVERIFY(image.load(m_prefix + "jpeg_exif_invalid_data_QTBUG-46870.jpg")); + QVERIFY(!image.isNull()); +} + static void cleanupFunction(void* info) { bool *called = static_cast<bool*>(info); diff --git a/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp b/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp index 0658d99fb2..272827e57b 100644 --- a/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp +++ b/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp @@ -51,15 +51,15 @@ private slots: void clear(); }; -QT_BEGIN_NAMESPACE -extern void qt_setQtEnableTestFont(bool value); // qfontdatabase.cpp - #ifdef QT_BUILD_INTERNAL +QT_BEGIN_NAMESPACE +// qfontdatabase.cpp +Q_AUTOTEST_EXPORT void qt_setQtEnableTestFont(bool value); // qfontengine.cpp -extern void QFontEngine_startCollectingEngines(); -extern QList<QFontEngine *> QFontEngine_stopCollectingEngines(); -#endif +Q_AUTOTEST_EXPORT void QFontEngine_startCollectingEngines(); +Q_AUTOTEST_EXPORT QList<QFontEngine *> QFontEngine_stopCollectingEngines(); QT_END_NAMESPACE +#endif tst_QFontCache::tst_QFontCache() { @@ -79,6 +79,7 @@ void tst_QFontCache::clear() QFontEngine *fontEngine = 0; +#ifdef QT_BUILD_INTERNAL { // we're never caching the box (and the "test") font engines // let's ensure we're not leaking them as well as the cached ones @@ -88,6 +89,7 @@ void tst_QFontCache::clear() f.setFamily("__Qt__Box__Engine__"); f.exactMatch(); // loads engine } +#endif { QFontDatabase db; diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp index b19f90935b..18da61925d 100644 --- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp @@ -68,6 +68,7 @@ public slots: private slots: void getSetCheck(); void lineBreaking(); +#ifdef QT_BUILD_INTERNAL void simpleBoundingRect(); void threeLineBoundingRect(); void boundingRectWithLongLineAndNoWrap(); @@ -83,16 +84,20 @@ private slots: void horizontalAlignment(); void horizontalAlignmentMultiline_data(); void horizontalAlignmentMultiline(); +#endif void defaultWordSeparators_data(); void defaultWordSeparators(); void cursorMovementFromInvalidPositions(); void cursorMovementInsideSpaces(); void charWordStopOnLineSeparator(); +#ifdef QT_BUILD_INTERNAL void xToCursorAtEndOfLine(); +#endif void boundingRectTopLeft(); void graphemeBoundaryForSurrogatePairs(); void tabStops(); void integerOverflow(); +#ifdef QT_BUILD_INTERNAL void testDefaultTabs(); void testTabs(); void testMultilineTab(); @@ -103,6 +108,7 @@ private slots: void testMultiTab(); void testTabDPIScale(); void tabsForRtl(); +#endif void tabHeight(); void capitalization_allUpperCase(); void capitalization_allUpperCase_newline(); @@ -119,12 +125,14 @@ private slots: void layoutWithCustomTabStops(); // QTextLine stuff +#ifdef QT_BUILD_INTERNAL void setNumColumnsWrapAtWordBoundaryOrAnywhere(); void setNumColumnsWordWrap(); void smallTextLengthNoWrap(); void smallTextLengthWordWrap(); void smallTextLengthWrapAtWordBoundaryOrAnywhere(); void testLineBreakingAllSpaces(); +#endif void lineWidthFromBOM(); void textWidthVsWIdth(); void textWithSurrogates_qtbug15679(); @@ -143,7 +151,7 @@ private: void tst_QTextLayout::getSetCheck() { QString str("Bogus text"); - QTextLayout layout(str, testFont); + QTextLayout layout(str); layout.beginLayout(); QTextEngine *engine = layout.engine(); QTextInlineObject obj1(0, engine); @@ -177,13 +185,18 @@ void tst_QTextLayout::getSetCheck() QCOMPARE(true, obj2.cacheEnabled()); } +#ifdef QT_BUILD_INTERNAL QT_BEGIN_NAMESPACE -extern void qt_setQtEnableTestFont(bool value); +// qfontdatabase.cpp +Q_AUTOTEST_EXPORT void qt_setQtEnableTestFont(bool value); QT_END_NAMESPACE +#endif tst_QTextLayout::tst_QTextLayout() { +#ifdef QT_BUILD_INTERNAL qt_setQtEnableTestFont(true); +#endif } tst_QTextLayout::~tst_QTextLayout() @@ -193,10 +206,14 @@ tst_QTextLayout::~tst_QTextLayout() void tst_QTextLayout::init() { testFont = QFont(); +#ifdef QT_BUILD_INTERNAL testFont.setFamily("__Qt__Box__Engine__"); +#endif testFont.setPixelSize(TESTFONT_SIZE); testFont.setWeight(QFont::Normal); +#ifdef QT_BUILD_INTERNAL QCOMPARE(QFontMetrics(testFont).width('a'), testFont.pixelSize()); +#endif } void tst_QTextLayout::cleanup() @@ -286,6 +303,7 @@ void tst_QTextLayout::lineBreaking() #endif } +#ifdef QT_BUILD_INTERNAL void tst_QTextLayout::simpleBoundingRect() { /* just check if boundingRect() gives sane values. The text is not broken. */ @@ -972,6 +990,7 @@ void tst_QTextLayout::horizontalAlignmentMultiline() QCOMPARE(rect.left(), lastLeft); QCOMPARE(rect.right(), lastRight); } +#endif void tst_QTextLayout::defaultWordSeparators_data() { @@ -1009,7 +1028,7 @@ void tst_QTextLayout::defaultWordSeparators() QFETCH(QString, text); QFETCH(int, startPos); QFETCH(int, endPos); - QTextLayout layout(text, testFont); + QTextLayout layout(text); QCOMPARE(layout.nextCursorPosition(startPos, QTextLayout::SkipWords), endPos); QCOMPARE(layout.previousCursorPosition(endPos, QTextLayout::SkipWords), startPos); @@ -1019,7 +1038,7 @@ void tst_QTextLayout::cursorMovementFromInvalidPositions() { int badpos = 10000; - QTextLayout layout("ABC", testFont); + QTextLayout layout("ABC"); QCOMPARE(layout.previousCursorPosition(-badpos, QTextLayout::SkipCharacters), -badpos); QCOMPARE(layout.nextCursorPosition(-badpos, QTextLayout::SkipCharacters), -badpos); @@ -1030,13 +1049,13 @@ void tst_QTextLayout::cursorMovementFromInvalidPositions() void tst_QTextLayout::cursorMovementInsideSpaces() { - QTextLayout layout("ABC DEF", testFont); + QTextLayout layout("ABC DEF"); QCOMPARE(layout.previousCursorPosition(6, QTextLayout::SkipWords), 0); QCOMPARE(layout.nextCursorPosition(6, QTextLayout::SkipWords), 15); - QTextLayout layout2("ABC\t\t\t\t\t\t\t\t\t\t\t\tDEF", testFont); + QTextLayout layout2("ABC\t\t\t\t\t\t\t\t\t\t\t\tDEF"); QCOMPARE(layout2.previousCursorPosition(6, QTextLayout::SkipWords), 0); QCOMPARE(layout2.nextCursorPosition(6, QTextLayout::SkipWords), 15); @@ -1048,13 +1067,14 @@ void tst_QTextLayout::charWordStopOnLineSeparator() QString txt; txt.append(lineSeparator); txt.append(lineSeparator); - QTextLayout layout(txt, testFont); + QTextLayout layout(txt); QTextEngine *engine = layout.engine(); const QCharAttributes *attrs = engine->attributes(); QVERIFY(attrs); QVERIFY(attrs[1].graphemeBoundary); } +#ifdef QT_BUILD_INTERNAL void tst_QTextLayout::xToCursorAtEndOfLine() { QString text = "FirstLine SecondLine"; @@ -1078,13 +1098,14 @@ void tst_QTextLayout::xToCursorAtEndOfLine() line = layout.lineAt(1); QCOMPARE(line.xToCursor(100000), 20); } +#endif void tst_QTextLayout::boundingRectTopLeft() { QString text = "FirstLine\nSecondLine"; text.replace('\n', QChar::LineSeparator); - QTextLayout layout(text, testFont); + QTextLayout layout(text); layout.setCacheEnabled(true); layout.beginLayout(); @@ -1106,7 +1127,7 @@ void tst_QTextLayout::graphemeBoundaryForSurrogatePairs() txt.append(0xd87e); txt.append(0xdc25); txt.append("b"); - QTextLayout layout(txt, testFont); + QTextLayout layout(txt); QTextEngine *engine = layout.engine(); const QCharAttributes *attrs = engine->attributes(); QVERIFY(attrs); @@ -1119,13 +1140,13 @@ void tst_QTextLayout::graphemeBoundaryForSurrogatePairs() void tst_QTextLayout::tabStops() { QString txt("Hello there\tworld"); - QTextLayout layout(txt, testFont); + QTextLayout layout(txt); layout.beginLayout(); QTextLine line = layout.createLine(); QVERIFY(line.isValid()); line.setNumColumns(11); - QCOMPARE(line.textLength(), TESTFONT_SIZE); + QCOMPARE(line.textLength(), 12); line = layout.createLine(); QVERIFY(line.isValid()); @@ -1142,7 +1163,7 @@ void tst_QTextLayout::integerOverflow() for (int i = 0; i < 8; ++i) txt += txt; - QTextLayout layout(txt, testFont); + QTextLayout layout(txt); layout.beginLayout(); QTextLine line = layout.createLine(); @@ -1155,6 +1176,7 @@ void tst_QTextLayout::integerOverflow() layout.endLayout(); } +#ifdef QT_BUILD_INTERNAL void tst_QTextLayout::setNumColumnsWrapAtWordBoundaryOrAnywhere() { QString txt("This is a small test text"); @@ -1696,22 +1718,23 @@ void tst_QTextLayout::testTabDPIScale() QCOMPARE(line.cursorToX(12), tabs.at(1).position * scale - TESTFONT_SIZE * 5); QCOMPARE(line.cursorToX(18), tabs.at(2).position * scale - TESTFONT_SIZE * 3 / 2.0); } +#endif void tst_QTextLayout::tabHeight() { - QTextLayout layout("\t", testFont); + QTextLayout layout("\t"); layout.setCacheEnabled(true); layout.beginLayout(); QTextLine line = layout.createLine(); layout.endLayout(); - QCOMPARE(qRound(line.ascent()), QFontMetrics(testFont).ascent()); - QCOMPARE(qRound(line.descent()), QFontMetrics(testFont).descent()); + QCOMPARE(qRound(line.ascent()), QFontMetrics(layout.font()).ascent()); + QCOMPARE(qRound(line.descent()), QFontMetrics(layout.font()).descent()); } void tst_QTextLayout::capitalization_allUpperCase() { - QFont font(testFont); + QFont font; font.setCapitalization(QFont::AllUppercase); QTextLayout layout("Test", font); layout.setCacheEnabled(true); @@ -1727,7 +1750,7 @@ void tst_QTextLayout::capitalization_allUpperCase() void tst_QTextLayout::capitalization_allUpperCase_newline() { - QFont font(testFont); + QFont font; font.setCapitalization(QFont::AllUppercase); QString tmp = "hello\nworld!"; @@ -1749,7 +1772,7 @@ void tst_QTextLayout::capitalization_allUpperCase_newline() void tst_QTextLayout::capitalization_allLowerCase() { - QFont font(testFont); + QFont font; font.setCapitalization(QFont::AllLowercase); QTextLayout layout("Test", font); layout.setCacheEnabled(true); @@ -1765,7 +1788,7 @@ void tst_QTextLayout::capitalization_allLowerCase() void tst_QTextLayout::capitalization_smallCaps() { - QFont font(testFont); + QFont font; font.setCapitalization(QFont::SmallCaps); QTextLayout layout("Test", font); layout.setCacheEnabled(true); @@ -1782,7 +1805,7 @@ void tst_QTextLayout::capitalization_smallCaps() void tst_QTextLayout::capitalization_capitalize() { - QFont font(testFont); + QFont font; font.setCapitalization(QFont::Capitalize); QTextLayout layout("hello\tworld", font); layout.setCacheEnabled(true); @@ -1805,7 +1828,7 @@ void tst_QTextLayout::longText() QString longText(128000, 'a'); { - QTextLayout layout(longText, testFont); + QTextLayout layout(longText); layout.setCacheEnabled(true); layout.beginLayout(); QTextLine line = layout.createLine(); @@ -1815,7 +1838,7 @@ void tst_QTextLayout::longText() } for (int cap = QFont::MixedCase; cap < QFont::Capitalize + 1; ++cap) { - QFont f(testFont); + QFont f; f.setCapitalization(QFont::Capitalization(cap)); QTextLayout layout(longText, f); layout.setCacheEnabled(true); @@ -1827,7 +1850,7 @@ void tst_QTextLayout::longText() } { - QTextLayout layout(longText, testFont); + QTextLayout layout(longText); layout.setCacheEnabled(true); layout.setFlags(Qt::TextForceLeftToRight); layout.beginLayout(); @@ -1838,7 +1861,7 @@ void tst_QTextLayout::longText() } { - QTextLayout layout(longText, testFont); + QTextLayout layout(longText); layout.setCacheEnabled(true); layout.setFlags(Qt::TextForceRightToLeft); layout.beginLayout(); @@ -1851,7 +1874,8 @@ void tst_QTextLayout::longText() void tst_QTextLayout::widthOfTabs() { - QTextEngine engine("ddd\t\t", testFont); + QTextEngine engine; + engine.text = "ddd\t\t"; engine.ignoreBidi = true; engine.itemize(); QCOMPARE(qRound(engine.width(0, 5)), qRound(engine.boundingBox(0, 5).width)); @@ -2079,7 +2103,7 @@ void tst_QTextLayout::cursorInNonStopChars() void tst_QTextLayout::justifyTrailingSpaces() { - QTextLayout layout(QStringLiteral(" t"), testFont); + QTextLayout layout(QStringLiteral(" t")); layout.setTextOption(QTextOption(Qt::AlignJustify)); layout.beginLayout(); |