summaryrefslogtreecommitdiffstats
path: root/tests/auto/qtableview
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-08-13 07:24:47 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-08-13 08:27:51 (GMT)
commit13cbcc0ddca0fdd5be9ede09052d31785c1e4d55 (patch)
treeb647be5699145ccae1545096aba5c495d96f8eb5 /tests/auto/qtableview
parent081078137a6fbc85d6be1437f6afc1d60e4f75f9 (diff)
parentde088b5a7f7b57e568399334667b14bfc9e7b893 (diff)
downloadQt-13cbcc0ddca0fdd5be9ede09052d31785c1e4d55.zip
Qt-13cbcc0ddca0fdd5be9ede09052d31785c1e4d55.tar.gz
Qt-13cbcc0ddca0fdd5be9ede09052d31785c1e4d55.tar.bz2
Merge commit 'qt/master'
Conflicts: examples/opengl/samplebuffers/glwidget.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer.cpp src/gui/gui.pro tests/auto/qhttp/tst_qhttp.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp
Diffstat (limited to 'tests/auto/qtableview')
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp35
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index eb39dd7..2f41d77 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
+** contact the sales department at http://qt.nokia.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -42,6 +42,7 @@
#include <QtGui/QtGui>
#include <QtTest/QtTest>
+#include "../../shared/util.h"
//TESTED_CLASS=
//TESTED_FILES=
@@ -177,6 +178,7 @@ private slots:
void task227953_setRootIndex();
void task240266_veryBigColumn();
void task248688_autoScrollNavigation();
+ void task259308_scrollVerticalHeaderSwappedSections();
void mouseWheel_data();
void mouseWheel();
@@ -3253,6 +3255,37 @@ void tst_QTableView::addColumnWhileEditing()
QCOMPARE(editor->geometry(), view.visualRect(last));
}
+void tst_QTableView::task259308_scrollVerticalHeaderSwappedSections()
+{
+ QStandardItemModel model;
+ model.setRowCount(50);
+ model.setColumnCount(2);
+ for (int row = 0; row < model.rowCount(); ++row)
+ for (int col = 0; col < model.columnCount(); ++col) {
+ const QModelIndex &idx = model.index(row, col);
+ model.setData(idx, QVariant(row), Qt::EditRole);
+ }
+
+ QTableView tv;
+ tv.setModel(&model);
+ tv.show();
+ tv.verticalHeader()->swapSections(0, model.rowCount() - 1);
+
+ QTest::qWait(60);
+ QTest::keyClick(&tv, Qt::Key_PageUp); // PageUp won't scroll when at top
+ QTRY_COMPARE(tv.rowAt(0), tv.verticalHeader()->logicalIndex(0));
+
+ int newRow = tv.rowAt(tv.viewport()->height());
+ if (newRow == tv.rowAt(tv.viewport()->height() - 1)) // Overlapping row
+ newRow++;
+ QTest::keyClick(&tv, Qt::Key_PageDown); // Scroll down and check current
+ QTRY_COMPARE(tv.currentIndex().row(), newRow);
+
+ tv.setCurrentIndex(model.index(0, 0));
+ QTest::qWait(60);
+ QTest::keyClick(&tv, Qt::Key_PageDown); // PageDown won't scroll when at the bottom
+ QTRY_COMPARE(tv.rowAt(tv.viewport()->height() - 1), tv.verticalHeader()->logicalIndex(model.rowCount() - 1));
+}
QTEST_MAIN(tst_QTableView)
#include "tst_qtableview.moc"