diff options
author | Jo Asplin <jo.asplin@nokia.com> | 2011-10-20 13:17:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-20 19:45:41 +0200 |
commit | 9f1aa866bda7678261f2f441d4cfd5bb524c2411 (patch) | |
tree | 5028f578122e7feb9200d571405494c73d96db89 /tests/auto/qsidebar/tst_qsidebar.cpp | |
parent | 78d02e93aca5325fc5be9bfd275862795207abaa (diff) |
Moved tests into integrationtests/ and widgets/
Task-number: QTBUG-19013
Change-Id: Ibb776f5967c0645ce6d22ef7afdc40657c575461
Reviewed-by: Holger Ihrig <holger.ihrig@nokia.com>
Diffstat (limited to 'tests/auto/qsidebar/tst_qsidebar.cpp')
-rw-r--r-- | tests/auto/qsidebar/tst_qsidebar.cpp | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/tests/auto/qsidebar/tst_qsidebar.cpp b/tests/auto/qsidebar/tst_qsidebar.cpp deleted file mode 100644 index 912719f76a..0000000000 --- a/tests/auto/qsidebar/tst_qsidebar.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include <QtTest/QtTest> -#include "../../../src/widgets/dialogs/qsidebar_p.h" -#include "../../../src/widgets/dialogs/qfilesystemmodel_p.h" - -//TESTED_CLASS= -//TESTED_FILES= - -class tst_QSidebar : public QObject { - Q_OBJECT - -public: - tst_QSidebar(); - virtual ~tst_QSidebar(); - -public Q_SLOTS: - void init(); - void cleanup(); - -private slots: - void setUrls(); - void selectUrls(); - void addUrls(); - - void goToUrl(); -}; - -tst_QSidebar::tst_QSidebar() -{ -} - -tst_QSidebar::~tst_QSidebar() -{ -} - -void tst_QSidebar::init() -{ -} - -void tst_QSidebar::cleanup() -{ -} - -void tst_QSidebar::setUrls() -{ - QList<QUrl> urls; - QFileSystemModel fsmodel; - QSidebar qsidebar; - qsidebar.init(&fsmodel, urls); - QAbstractItemModel *model = qsidebar.model(); - - urls << QUrl::fromLocalFile(QDir::rootPath()) - << QUrl::fromLocalFile(QDir::temp().absolutePath()); - - QCOMPARE(model->rowCount(), 0); - qsidebar.setUrls(urls); - QCOMPARE(qsidebar.urls(), urls); - QCOMPARE(model->rowCount(), urls.count()); - qsidebar.setUrls(urls); - QCOMPARE(model->rowCount(), urls.count()); -} - -void tst_QSidebar::selectUrls() -{ - QList<QUrl> urls; - urls << QUrl::fromLocalFile(QDir::rootPath()) - << QUrl::fromLocalFile(QDir::temp().absolutePath()); - QFileSystemModel fsmodel; - QSidebar qsidebar; - qsidebar.init(&fsmodel, urls); - - QSignalSpy spy(&qsidebar, SIGNAL(goToUrl(const QUrl &))); - qsidebar.selectUrl(urls.at(0)); - QCOMPARE(spy.count(), 0); -} - -void tst_QSidebar::addUrls() -{ - QList<QUrl> emptyUrls; - QFileSystemModel fsmodel; - QSidebar qsidebar; - qsidebar.init(&fsmodel, emptyUrls); - QAbstractItemModel *model = qsidebar.model(); - QDir testDir = QDir::home(); - - // default - QCOMPARE(model->rowCount(), 0); - - QList<QUrl> urls; - urls << QUrl::fromLocalFile(QDir::rootPath()) - << QUrl::fromLocalFile(QDir::temp().absolutePath()); - - // test < 0 - qsidebar.addUrls(urls, -1); - QCOMPARE(model->rowCount(), 2); - - // test = 0 - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(urls, 0); - QCOMPARE(model->rowCount(), 2); - - // test > 0 - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(urls, 100); - QCOMPARE(model->rowCount(), 2); - - // test inserting with already existing rows - QList<QUrl> moreUrls; - moreUrls << QUrl::fromLocalFile(testDir.absolutePath()); - qsidebar.addUrls(moreUrls, -1); - QCOMPARE(model->rowCount(), 3); - - // make sure invalid urls are still added - QList<QUrl> badUrls; - badUrls << QUrl::fromLocalFile(testDir.absolutePath() + "/I used to exist"); - qsidebar.addUrls(badUrls, 0); - QCOMPARE(model->rowCount(), 4); - - // check that every item has text and an icon including the above invalid one - for (int i = 0; i < model->rowCount(); ++i) { - QVERIFY(!model->index(i, 0).data().toString().isEmpty()); - QIcon icon = qvariant_cast<QIcon>(model->index(i, 0).data(Qt::DecorationRole)); - QVERIFY(!icon.isNull()); - } - - // test moving up the list - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(urls, 100); - qsidebar.addUrls(moreUrls, 100); - QCOMPARE(model->rowCount(), 3); - qsidebar.addUrls(moreUrls, 1); - QCOMPARE(qsidebar.urls()[1], moreUrls[0]); - - // test appending with -1 - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(urls, -1); - qsidebar.addUrls(moreUrls, -1); - QCOMPARE(qsidebar.urls()[0], urls[0]); - - QList<QUrl> doubleUrls; - //tow exact same paths, we have only one entry - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(doubleUrls, 1); - QCOMPARE(qsidebar.urls().size(), 1); - - // Two paths that are effectively pointing to the same location - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath() + "/."); - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(doubleUrls, 1); - QCOMPARE(qsidebar.urls().size(), 1); - -#if defined(Q_OS_WIN) - //Windows is case insensitive so no duplicate entries in that case - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath().toUpper()); - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(doubleUrls, 1); - QCOMPARE(qsidebar.urls().size(), 1); -#else - //Two different paths we should have two entries - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); - doubleUrls << QUrl::fromLocalFile(testDir.absolutePath().toUpper()); - qsidebar.setUrls(emptyUrls); - qsidebar.addUrls(doubleUrls, 1); - QCOMPARE(qsidebar.urls().size(), 2); -#endif -} - -void tst_QSidebar::goToUrl() -{ - QList<QUrl> urls; - urls << QUrl::fromLocalFile(QDir::rootPath()) - << QUrl::fromLocalFile(QDir::temp().absolutePath()); - QFileSystemModel fsmodel; - QSidebar qsidebar; - qsidebar.init(&fsmodel, urls); - qsidebar.show(); - - QSignalSpy spy(&qsidebar, SIGNAL(goToUrl(const QUrl &))); - QTest::mousePress(qsidebar.viewport(), Qt::LeftButton, 0, qsidebar.visualRect(qsidebar.model()->index(0, 0)).center()); - QCOMPARE(spy.count(), 1); - QCOMPARE((spy.value(0)).at(0).toUrl(), urls.first()); -} - -QTEST_MAIN(tst_QSidebar) -#include "tst_qsidebar.moc" - |