summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-01-13 10:07:42 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-01-13 10:07:42 (GMT)
commit5099edac8485e41ed4187fc18a42cbfc2bc43023 (patch)
tree85abbbd4e8ac1ec28d9e734e28fa9c4b19327bbe /tests
parent48e08ee5718b3de855ecea626179ad5323e38fa0 (diff)
parent826d995ff48a01fffc22eafe7b3127e44ed60496 (diff)
downloadQt-5099edac8485e41ed4187fc18a42cbfc2bc43023.zip
Qt-5099edac8485e41ed4187fc18a42cbfc2bc43023.tar.gz
Qt-5099edac8485e41ed4187fc18a42cbfc2bc43023.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (26 commits) Fixed tst_qgl multipleFBOInterleavedRendering. Update autotest database connection settings SQL 4.6.1 changelog My changes Significant digits were lost in QDoubleSpinBox range when changing precision My changelog for 4.6.1. Added my changes to the 4.6.1 change log. Put LinesHint into QVectorPath hints to enable further optimizations Update changes file for 4.6.1 Avoid coordinate limitations in the raster engine. Update changelog with my 4.6.1 changes. 4.6.1 changes Fixed bug where QGLPixmapData::toImage() returned too dark image. Update change log with Yoann Lopes work. Fix completion in QFileDialog. Fix point drawing on raster engine for flat and square caps Update changes file with Rhys Weatherley's work. warning fixes for platforms, where qreal == float fix release mode crash in qfont.cpp initFontSubst() on Windows mobile Fixed justify aligned text drawing with the GL1 engine. ...
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp13
-rw-r--r--tests/auto/qfiledialog2/tst_qfiledialog2.cpp42
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h14
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp22
-rw-r--r--tests/benchmarks/qtext/main.cpp79
5 files changed, 163 insertions, 7 deletions
diff --git a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
index e2cad08..258d8dc 100644
--- a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
+++ b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
@@ -149,6 +149,7 @@ private slots:
void taskQTBUG_5008_textFromValueAndValidate();
void taskQTBUG_6670_selectAllWithPrefix();
+ void taskQTBUG_6496_fiddlingWithPrecision();
public slots:
void valueChangedHelper(const QString &);
@@ -1096,5 +1097,17 @@ void tst_QDoubleSpinBox::taskQTBUG_6670_selectAllWithPrefix()
QCOMPARE(spin.value(), 12.);
}
+void tst_QDoubleSpinBox::taskQTBUG_6496_fiddlingWithPrecision()
+{
+ QDoubleSpinBox dsb;
+ dsb.setRange(0, 0.991);
+ dsb.setDecimals(1);
+ QCOMPARE(dsb.maximum(), 1.0);
+ dsb.setDecimals(2);
+ QCOMPARE(dsb.maximum(), 0.99);
+ dsb.setDecimals(3);
+ QCOMPARE(dsb.maximum(), 0.991);
+}
+
QTEST_MAIN(tst_QDoubleSpinBox)
#include "tst_qdoublespinbox.moc"
diff --git a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
index 4c52f57..f2e1dbd 100644
--- a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
+++ b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
@@ -116,6 +116,7 @@ private slots:
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
void task226366_lowerCaseHardDriveWindows();
#endif
+ void completionOnLevelAfterRoot();
void task233037_selectingDirectory();
void task235069_hideOnEscape();
void task236402_dontWatchDeletedDir();
@@ -202,7 +203,7 @@ void tst_QFiledialog::heapCorruption()
qDeleteAll(dialogs);
}
-struct FriendlyQFileDialog : public QFileDialog
+struct FriendlyQFileDialog : public QNonNativeFileDialog
{
friend class tst_QFileDialog;
Q_DECLARE_PRIVATE(QFileDialog)
@@ -552,6 +553,45 @@ void tst_QFiledialog::task226366_lowerCaseHardDriveWindows()
}
#endif
+void tst_QFiledialog::completionOnLevelAfterRoot()
+{
+ QNonNativeFileDialog fd;
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ fd.setDirectory("C:");
+ QDir current = fd.directory();
+ current.mkdir("completionOnLevelAfterRootTest");
+#else
+ fd.setFilter(QDir::Hidden | QDir::AllDirs | QDir::Files | QDir::System);
+ fd.setDirectory("/");
+ QDir etc("/etc");
+ if (!etc.exists())
+ QSKIP("This test requires to have an etc directory under /", SkipAll);
+#endif
+ fd.show();
+ QLineEdit *edit = qFindChild<QLineEdit*>(&fd, "fileNameEdit");
+ QTest::qWait(2000);
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ //I love testlib :D
+ QTest::keyClick(edit, Qt::Key_C);
+ QTest::keyClick(edit, Qt::Key_O);
+ QTest::keyClick(edit, Qt::Key_M);
+ QTest::keyClick(edit, Qt::Key_P);
+ QTest::keyClick(edit, Qt::Key_L);
+#else
+ QTest::keyClick(edit, Qt::Key_E);
+ QTest::keyClick(edit, Qt::Key_T);
+#endif
+ QTest::qWait(200);
+ QTest::keyClick(edit->completer()->popup(), Qt::Key_Down);
+ QTest::qWait(200);
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ QCOMPARE(edit->text(), QString("completionOnLevelAfterRootTest"));
+ current.rmdir("completionOnLevelAfterRootTest");
+#else
+ QCOMPARE(edit->text(), QString("etc"));
+#endif
+}
+
void tst_QFiledialog::task233037_selectingDirectory()
{
QDir current = QDir::currentPath();
diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h
index 4176122..4e99f18 100644
--- a/tests/auto/qsqldatabase/tst_databases.h
+++ b/tests/auto/qsqldatabase/tst_databases.h
@@ -221,7 +221,8 @@ public:
// addDb( "QMYSQL3", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 3309, "CLIENT_COMPRESS=1;CLIENT_SSL=1" ); // MySQL 5.0.18 Linux
// addDb( "QMYSQL3", "testdb", "troll", "trond", "silence.nokia.troll.no" ); // MySQL 5.1.36 Windows
// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql4-nokia.trolltech.com.au" ); // MySQL 4.1.22-2.el4 linux
-// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql5-nokia.trolltech.com.au" ); // MySQL 5.0.45-7.el5 linux
+// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "bq-mysql50.apac.nokia.com" ); // MySQL 5.0.45-7.el5 linux
+// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "bq-mysql51.apac.nokia.com" ); // MySQL 5.1.36-6.7.2.i586 linux
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no" ); // V7.2 NOT SUPPORTED!
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 5434 ); // V7.2 NOT SUPPORTED! Multi-byte
@@ -230,7 +231,8 @@ public:
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 5437 ); // V8.0.3
// addDb( "QPSQL7", "testdb", "troll", "trond", "silence.nokia.troll.no" ); // V8.2.1, UTF-8
// addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "postgres74-nokia.trolltech.com.au" ); // Version 7.4.19-1.el4_6.1
-// addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "postgres81-nokia.trolltech.com.au" ); // Version 8.1.11-1.el5_1.1
+// addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "bq-pgsql81.apac.nokia.com" ); // Version 8.1.11-1.el5_1.1
+// addDb( "QPSQL7", "testdb", "testuser", "Ee4Gabf6_", "bq-pgsql84.apac.nokia.com" ); // Version 8.4.1-2.1.i586
// addDb( "QDB2", "testdb", "troll", "trond", "silence.nokia.troll.no" ); // DB2 v9.1 on silence
@@ -248,7 +250,7 @@ public:
// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=iceblink.nokia.troll.no\\ICEBLINK", "troll", "trond", "" );
// addDb( "QODBC3", "DRIVER={SQL Native Client};SERVER=silence.nokia.troll.no\\SQLEXPRESS", "troll", "trond", "" );
-// addDb( "QODBC", "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
+// addDb( "QODBC", "DRIVER={MySQL ODBC 5.1 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
// addDb( "QODBC", "DRIVER={MySQL ODBC 5.1 Driver};SERVER=mysql4-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk", "troll", "trondk", "" );
// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=silence.nokia.troll.no;DATABASE=testdb;PORT=2392;UID=troll;PWD=trond", "troll", "trond", "" );
@@ -259,6 +261,7 @@ public:
// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2003-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" );
// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2008-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" );
// addDb( "QODBC", "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dbs\\access\\testdb.mdb", "", "", "" );
+// addDb( "QODBC", "DRIVER={Postgresql};SERVER=postgres81-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
}
void open()
@@ -335,7 +338,10 @@ public:
foreach(const QString &table2, dbtables.filter(table, Qt::CaseInsensitive)) {
if(table2.compare(table.section('.', -1, -1), Qt::CaseInsensitive) == 0) {
table=db.driver()->escapeIdentifier(table2, QSqlDriver::TableName);
- wasDropped = q.exec( "drop table " + table);
+ if(db.driverName().startsWith( "QPSQL" ))
+ wasDropped = q.exec( "drop table " + table + " cascade");
+ else
+ wasDropped = q.exec( "drop table " + table);
dbtables.removeAll(table2);
}
}
diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp
index d269cc3..fd4815e 100644
--- a/tests/auto/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/qtreeview/tst_qtreeview.cpp
@@ -236,6 +236,7 @@ private slots:
void task248022_changeSelection();
void task245654_changeModelAndExpandAll();
void doubleClickedWithSpans();
+ void taskQTBUG_6450_selectAllWith1stColumnHidden();
};
class QtTestModel: public QAbstractItemModel
@@ -3678,5 +3679,26 @@ void tst_QTreeView::doubleClickedWithSpans()
QTRY_COMPARE(spy.count(), 2);
}
+void tst_QTreeView::taskQTBUG_6450_selectAllWith1stColumnHidden()
+{
+ QTreeWidget tree;
+ tree.setSelectionMode(QAbstractItemView::MultiSelection);
+ tree.setColumnCount(2);
+ QList<QTreeWidgetItem *> items;
+ const int nrRows = 10;
+ for (int i = 0; i < nrRows; ++i) {
+ items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
+ items.last()->setText(1, QString("is an item"));
+ }
+ tree.insertTopLevelItems(0, items);
+
+ tree.hideColumn(0);
+ tree.selectAll();
+
+ QVERIFY(tree.selectionModel()->hasSelection());
+ for (int i = 0; i < nrRows; ++i)
+ QVERIFY(tree.selectionModel()->isRowSelected(i, QModelIndex()));
+}
+
QTEST_MAIN(tst_QTreeView)
#include "tst_qtreeview.moc"
diff --git a/tests/benchmarks/qtext/main.cpp b/tests/benchmarks/qtext/main.cpp
index 3c973b6..4bd2bee 100644
--- a/tests/benchmarks/qtext/main.cpp
+++ b/tests/benchmarks/qtext/main.cpp
@@ -41,19 +41,36 @@
#include <QDebug>
#include <QTextDocument>
+#include <QTextDocumentWriter>
#include <QTextLayout>
+#include <QTextCursor>
#include <QFile>
+#include <QBuffer>
#include <qtest.h>
+Q_DECLARE_METATYPE(QTextDocument*)
+
class tst_QText: public QObject
{
Q_OBJECT
+public:
+ tst_QText() {
+ m_lorem = QString::fromLatin1("Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.");
+ }
+
private slots:
void loadHtml_data();
void loadHtml();
void shaping_data();
void shaping();
+
+ void odfWriting_empty();
+ void odfWriting_text();
+ void odfWriting_images();
+
+private:
+ QString m_lorem;
};
void tst_QText::loadHtml_data()
@@ -63,7 +80,7 @@ void tst_QText::loadHtml_data()
QTest::newRow("simple") << QString::fromLatin1("<html><b>Foo</b></html>");
QTest::newRow("simple2") << QString::fromLatin1("<b>Foo</b>");
- QString parag = QString::fromLatin1("<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. <b>Duis <i>autem</i> vel eum </b> iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>");
+ QString parag = QString::fromLatin1("<p>%1</p>").arg(m_lorem);
QString header = QString::fromLatin1("<html><head><title>test</title></head><body>");
QTest::newRow("long") << QString::fromLatin1("<html><head><title>test</title></head><body>") + parag + parag + parag
+ parag + parag + parag + parag + parag + parag + parag + parag + parag + parag + parag + parag + parag + parag
@@ -87,7 +104,7 @@ void tst_QText::shaping_data()
{
QTest::addColumn<QString>("parag");
QTest::newRow("empty") << QString();
- QTest::newRow("lorem") << QString::fromLatin1("Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.");
+ QTest::newRow("lorem") << m_lorem;
QTest::newRow("short") << QString::fromLatin1("Lorem ipsum dolor sit amet");
QFile file(QString::fromLatin1(SRCDIR) + QLatin1String("/bidi.txt"));
@@ -120,6 +137,64 @@ void tst_QText::shaping()
}
}
+void tst_QText::odfWriting_empty()
+{
+ QVERIFY(QTextDocumentWriter::supportedDocumentFormats().contains("ODF")); // odf compiled in
+ QTextDocument *doc = new QTextDocument();
+ // write it
+ QBENCHMARK {
+ QBuffer buffer;
+ buffer.open(QIODevice::WriteOnly);
+ QTextDocumentWriter writer(&buffer, "ODF");
+ writer.write(doc);
+ }
+ delete doc;
+}
+
+void tst_QText::odfWriting_text()
+{
+ QTextDocument *doc = new QTextDocument();
+ QTextCursor cursor(doc);
+ QTextBlockFormat bf;
+ bf.setIndent(2);
+ cursor.insertBlock(bf);
+ cursor.insertText(m_lorem);
+ bf.setTopMargin(10);
+ cursor.insertBlock(bf);
+ cursor.insertText(m_lorem);
+ bf.setRightMargin(30);
+ cursor.insertBlock(bf);
+ cursor.insertText(m_lorem);
+
+ // write it
+ QBENCHMARK {
+ QBuffer buffer;
+ buffer.open(QIODevice::WriteOnly);
+ QTextDocumentWriter writer(&buffer, "ODF");
+ writer.write(doc);
+ }
+ delete doc;
+}
+
+void tst_QText::odfWriting_images()
+{
+ QTextDocument *doc = new QTextDocument();
+ QTextCursor cursor(doc);
+ cursor.insertText(m_lorem);
+ QImage image(400, 200, QImage::Format_ARGB32_Premultiplied);
+ cursor.insertImage(image);
+ cursor.insertText(m_lorem);
+
+ // write it
+ QBENCHMARK {
+ QBuffer buffer;
+ buffer.open(QIODevice::WriteOnly);
+ QTextDocumentWriter writer(&buffer, "ODF");
+ writer.write(doc);
+ }
+ delete doc;
+}
+
QTEST_MAIN(tst_QText)
#include "main.moc"