Auto test for passing QTextEdit as QSyntaxHighlighter parent
authorJ-P Nurmi <j-p.nurmi@nokia.com>
Fri, 17 Aug 2012 08:52:54 +0000 (10:52 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 18 Aug 2012 08:58:46 +0000 (10:58 +0200)
Change-Id: Ia225723de5b0b2085a72a2af26e2a563b65955d8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
tests/auto/gui/text/qsyntaxhighlighter/qsyntaxhighlighter.pro
tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp

index 3f9728a..c8db4df 100644 (file)
@@ -3,4 +3,5 @@ CONFIG += parallel_test
 TARGET = tst_qsyntaxhighlighter
 SOURCES += tst_qsyntaxhighlighter.cpp
 QT += testlib
+!contains(QT_CONFIG, no-widgets) QT += widgets
 DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
index 5774be6..8d9209f 100644 (file)
 #include <QAbstractTextDocumentLayout>
 #include <QSyntaxHighlighter>
 
+#ifndef QT_NO_WIDGETS
+#include <QTextEdit>
+#endif
+
 class QTestDocumentLayout : public QAbstractTextDocumentLayout
 {
     Q_OBJECT
@@ -97,7 +101,10 @@ private slots:
     void noContentsChangedDuringHighlight();
     void rehighlight();
     void rehighlightBlock();
-    
+#ifndef QT_NO_WIDGETS
+    void textEditParent();
+#endif
+
 private:
     QTextDocument *doc;
     QTestDocumentLayout *lout;
@@ -123,6 +130,8 @@ class TestHighlighter : public QSyntaxHighlighter
 public:
     inline TestHighlighter(const QList<QTextLayout::FormatRange> &fmts, QTextDocument *parent)
         : QSyntaxHighlighter(parent), formats(fmts), highlighted(false), callCount(0) {}
+    inline TestHighlighter(QObject *parent)
+        : QSyntaxHighlighter(parent) {}
         inline TestHighlighter(QTextDocument *parent)
             : QSyntaxHighlighter(parent), highlighted(false), callCount(0) {}
 
@@ -542,5 +551,14 @@ void tst_QSyntaxHighlighter::rehighlightBlock()
     QCOMPARE(hl->callCount, 1);
 }
 
+#ifndef QT_NO_WIDGETS
+void tst_QSyntaxHighlighter::textEditParent()
+{
+    QTextEdit textEdit;
+    TestHighlighter *hl = new TestHighlighter(&textEdit);
+    QCOMPARE(hl->document(), textEdit.document());
+}
+#endif
+
 QTEST_MAIN(tst_QSyntaxHighlighter)
 #include "tst_qsyntaxhighlighter.moc"