summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2009-03-25 16:08:30 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-03-25 16:08:30 (GMT)
commit5dcf29ec09bd9741bb48449a07831987a75bf42a (patch)
treecd0c3ecdc33bb93075e3a7d9b2593382e2768948 /tests
parent9b40f0275043566a6e1f1471e1f608dd66929b81 (diff)
parent2ab5d8db650118312bfe9b1e60c4ac60229b229f (diff)
downloadQt-5dcf29ec09bd9741bb48449a07831987a75bf42a.zip
Qt-5dcf29ec09bd9741bb48449a07831987a75bf42a.tar.gz
Qt-5dcf29ec09bd9741bb48449a07831987a75bf42a.tar.bz2
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp56
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp33
2 files changed, 88 insertions, 1 deletions
diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp
index 0db9fdf..70059f2 100644
--- a/tests/auto/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/qcombobox/tst_qcombobox.cpp
@@ -56,6 +56,7 @@
#include <qlistwidget.h>
#include <qtreewidget.h>
#include <qtablewidget.h>
+#include <qscrollbar.h>
#ifdef Q_WS_MAC
#include <qmacstyle_mac.h>
#elif defined Q_WS_X11
@@ -138,6 +139,8 @@ private slots:
void task248169_popupWithMinimalSize();
void task247863_keyBoardSelection();
void setModelColumn();
+ void noScrollbar_data();
+ void noScrollbar();
protected slots:
void onEditTextChanged( const QString &newString );
@@ -2129,7 +2132,7 @@ void tst_QComboBox::task248169_popupWithMinimalSize()
QFrame *container = qFindChild<QComboBoxPrivateContainer *>(&comboBox);
QVERIFY(container);
- QVERIFY(desktop.availableGeometry().contains(container->geometry()));
+ QVERIFY(desktop.screenGeometry(container).contains(container->geometry()));
}
void tst_QComboBox::task247863_keyBoardSelection()
@@ -2178,5 +2181,56 @@ void tst_QComboBox::setModelColumn()
QCOMPARE(box.currentText(), QString("zero"));
}
+void tst_QComboBox::noScrollbar_data()
+{
+ QTest::addColumn<QString>("stylesheet");
+
+ QTest::newRow("normal") << QString();
+ QTest::newRow("border") << QString::fromLatin1("QAbstractItemView { border: 12px solid blue;}");
+ QTest::newRow("margin") << QString::fromLatin1("QAbstractItemView { margin: 12px 15px 13px 10px; }");
+ QTest::newRow("padding") << QString::fromLatin1("QAbstractItemView { padding: 12px 15px 13px 10px;}");
+ QTest::newRow("everything") << QString::fromLatin1("QAbstractItemView { border: 12px solid blue; "
+ " padding: 12px 15px 13px 10px; margin: 12px 15px 13px 10px; }");
+ QTest::newRow("everything and more") << QString::fromLatin1("QAbstractItemView { border: 1px 3px 5px 1px solid blue; "
+ " padding: 2px 5px 3px 1px; margin: 2px 5px 3px 1px; } "
+ " QAbstractItemView::item { border: 2px solid green; "
+ " padding: 1px 1px 2px 2px margin: 1px; } " );
+}
+
+void tst_QComboBox::noScrollbar()
+{
+ QStringList initialContent;
+ initialContent << "foo" << "bar" << "foobar" << "moo";
+ QFETCH(QString, stylesheet);
+
+ {
+ QComboBox comboBox;
+ comboBox.setStyleSheet(stylesheet);
+ comboBox.addItems(initialContent);
+ comboBox.show();
+ comboBox.resize(200, comboBox.height());
+ QTest::qWait(100);
+ comboBox.showPopup();
+ QTest::qWait(100);
+ QVERIFY(!comboBox.view()->horizontalScrollBar()->isVisible());
+ QVERIFY(!comboBox.view()->verticalScrollBar()->isVisible());
+ }
+
+ {
+ QTableWidget *table = new QTableWidget(2,2);
+ QComboBox comboBox;
+ comboBox.setStyleSheet(stylesheet);
+ comboBox.setView(table);
+ comboBox.setModel(table->model());
+ comboBox.show();
+ QTest::qWait(100);
+ comboBox.resize(200, comboBox.height());
+ comboBox.showPopup();
+ QTest::qWait(100);
+ QVERIFY(!comboBox.view()->horizontalScrollBar()->isVisible());
+ QVERIFY(!comboBox.view()->verticalScrollBar()->isVisible());
+ }
+}
+
QTEST_MAIN(tst_QComboBox)
#include "tst_qcombobox.moc"
diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp
index 6434d49..67b9b67 100644
--- a/tests/auto/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/qcompleter/tst_qcompleter.cpp
@@ -140,6 +140,7 @@ private slots:
// task-specific tests below me
void task178797_activatedOnReturn();
void task189564_omitNonSelectableItems();
+ void task246056_setCompletionPrefix();
private:
void filter();
@@ -1093,5 +1094,37 @@ void tst_QCompleter::task189564_omitNonSelectableItems()
QVERIFY(matches2.isEmpty());
}
+class task246056_ComboBox : public QComboBox
+{
+ Q_OBJECT
+public:
+ task246056_ComboBox()
+ {
+ setEditable(true);
+ setInsertPolicy(NoInsert);
+ Q_ASSERT(completer());
+ completer()->setCompletionMode(QCompleter::PopupCompletion);
+ completer()->setCompletionRole(Qt::DisplayRole);
+ connect(lineEdit(), SIGNAL(editingFinished()), SLOT(setCompletionPrefix()));
+ }
+private slots:
+ void setCompletionPrefix() { completer()->setCompletionPrefix(lineEdit()->text()); }
+};
+
+void tst_QCompleter::task246056_setCompletionPrefix()
+{
+ task246056_ComboBox *comboBox = new task246056_ComboBox;
+ comboBox->addItem("");
+ comboBox->addItem("a1");
+ comboBox->addItem("a2");
+ comboBox->show();
+ comboBox->setFocus();
+ QTest::qWait(100);
+ QTest::keyPress(comboBox, 'a');
+ QTest::keyPress(comboBox->completer()->popup(), Qt::Key_Down);
+ QTest::keyPress(comboBox->completer()->popup(), Qt::Key_Down);
+ QTest::keyPress(comboBox->completer()->popup(), Qt::Key_Enter); // don't crash!
+}
+
QTEST_MAIN(tst_QCompleter)
#include "tst_qcompleter.moc"