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/qcalendarwidget/tst_qcalendarwidget.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/qcalendarwidget/tst_qcalendarwidget.cpp')
-rw-r--r-- | tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp | 368 |
1 files changed, 0 insertions, 368 deletions
diff --git a/tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp b/tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp deleted file mode 100644 index 50dc6a1d1c..0000000000 --- a/tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp +++ /dev/null @@ -1,368 +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 <qcalendarwidget.h> -#include <qtoolbutton.h> -#include <qspinbox.h> -#include <qmenu.h> -#include <qdebug.h> -#include <qdatetime.h> -#include <qtextformat.h> - - -//TESTED_CLASS= -//TESTED_FILES= - -class tst_QCalendarWidget : public QObject -{ - Q_OBJECT - -public: - tst_QCalendarWidget(); - virtual ~tst_QCalendarWidget(); -public slots: - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void getSetCheck(); - void buttonClickCheck(); - - void setTextFormat(); - void resetTextFormat(); - - void setWeekdayFormat(); - void showPrevNext_data(); - void showPrevNext(); -}; - -// Testing get/set functions -void tst_QCalendarWidget::getSetCheck() -{ - QWidget topLevel; - QCalendarWidget object(&topLevel); - - //horizontal header formats - object.setHorizontalHeaderFormat(QCalendarWidget::NoHorizontalHeader); - QCOMPARE(QCalendarWidget::NoHorizontalHeader, object.horizontalHeaderFormat()); - object.setHorizontalHeaderFormat(QCalendarWidget::SingleLetterDayNames); - QCOMPARE(QCalendarWidget::SingleLetterDayNames, object.horizontalHeaderFormat()); - object.setHorizontalHeaderFormat(QCalendarWidget::ShortDayNames); - QCOMPARE(QCalendarWidget::ShortDayNames, object.horizontalHeaderFormat()); - object.setHorizontalHeaderFormat(QCalendarWidget::LongDayNames); - QCOMPARE(QCalendarWidget::LongDayNames, object.horizontalHeaderFormat()); - //vertical header formats - object.setVerticalHeaderFormat(QCalendarWidget::ISOWeekNumbers); - QCOMPARE(QCalendarWidget::ISOWeekNumbers, object.verticalHeaderFormat()); - object.setVerticalHeaderFormat(QCalendarWidget::NoVerticalHeader); - QCOMPARE(QCalendarWidget::NoVerticalHeader, object.verticalHeaderFormat()); - //maximum Date - QDate maxDate(2006, 7, 3); - object.setMaximumDate(maxDate); - QCOMPARE(maxDate, object.maximumDate()); - //minimum date - QDate minDate(2004, 7, 3); - object.setMinimumDate(minDate); - QCOMPARE(minDate, object.minimumDate()); - //day of week - object.setFirstDayOfWeek(Qt::Thursday); - QCOMPARE(Qt::Thursday, object.firstDayOfWeek()); - //grid visible - object.setGridVisible(true); - QVERIFY(object.isGridVisible()); - object.setGridVisible(false); - QVERIFY(!object.isGridVisible()); - //header visible - object.setNavigationBarVisible(true); - QVERIFY(object.isNavigationBarVisible()); - object.setNavigationBarVisible(false); - QVERIFY(!object.isNavigationBarVisible()); - //selection mode - QCOMPARE(QCalendarWidget::SingleSelection, object.selectionMode()); - object.setSelectionMode(QCalendarWidget::NoSelection); - QCOMPARE(QCalendarWidget::NoSelection, object.selectionMode()); - object.setSelectionMode(QCalendarWidget::SingleSelection); - QCOMPARE(QCalendarWidget::SingleSelection, object.selectionMode()); - //selected date - QDate selectedDate(2005, 7, 3); - QSignalSpy spy(&object, SIGNAL(selectionChanged())); - object.setSelectedDate(selectedDate); - QCOMPARE(spy.count(), 1); - QCOMPARE(selectedDate, object.selectedDate()); - //month and year - object.setCurrentPage(2004, 1); - QCOMPARE(1, object.monthShown()); - QCOMPARE(2004, object.yearShown()); - object.showNextMonth(); - QCOMPARE(2, object.monthShown()); - object.showPreviousMonth(); - QCOMPARE(1, object.monthShown()); - object.showNextYear(); - QCOMPARE(2005, object.yearShown()); - object.showPreviousYear(); - QCOMPARE(2004, object.yearShown()); - //date range - minDate = QDate(2006,1,1); - maxDate = QDate(2010,12,31); - object.setDateRange(minDate, maxDate); - QCOMPARE(maxDate, object.maximumDate()); - QCOMPARE(minDate, object.minimumDate()); - - //date should not go beyond the minimum. - selectedDate = minDate.addDays(-10); - object.setSelectedDate(selectedDate); - QCOMPARE(minDate, object.selectedDate()); - QVERIFY(selectedDate != object.selectedDate()); - //date should not go beyond the maximum. - selectedDate = maxDate.addDays(10); - object.setSelectedDate(selectedDate); - QCOMPARE(maxDate, object.selectedDate()); - QVERIFY(selectedDate != object.selectedDate()); - //show today - QDate today = QDate::currentDate(); - object.showToday(); - QCOMPARE(today.month(), object.monthShown()); - QCOMPARE(today.year(), object.yearShown()); - //slect a different date and move. - object.setSelectedDate(minDate); - object.showSelectedDate(); - QCOMPARE(minDate.month(), object.monthShown()); - QCOMPARE(minDate.year(), object.yearShown()); -} - -void tst_QCalendarWidget::buttonClickCheck() -{ - QCalendarWidget object; - QSize size = object.sizeHint(); - object.setGeometry(0,0,size.width(), size.height()); - object.show(); - - QRect rect = object.geometry(); - QDate selectedDate(2005, 1, 1); - //click on the month buttons - int month = object.monthShown(); - QToolButton *button = qFindChild<QToolButton *>(&object, "qt_calendar_prevmonth"); - QTest::mouseClick(button, Qt::LeftButton); - QCOMPARE(month > 1 ? month-1 : 12, object.monthShown()); - button = qFindChild<QToolButton *>(&object, "qt_calendar_nextmonth"); - QTest::mouseClick(button, Qt::LeftButton); - QCOMPARE(month, object.monthShown()); - - button = qFindChild<QToolButton *>(&object, "qt_calendar_yearbutton"); - QTest::mouseClick(button, Qt::LeftButton, Qt::NoModifier, button->rect().center(), 2); - QVERIFY(!button->isVisible()); - QSpinBox *spinbox = qFindChild<QSpinBox *>(&object, "qt_calendar_yearedit"); - QTest::qWait(500); - QTest::keyClick(spinbox, '2'); - QTest::keyClick(spinbox, '0'); - QTest::keyClick(spinbox, '0'); - QTest::keyClick(spinbox, '6'); - QTest::qWait(500); - QWidget *widget = qFindChild<QWidget *>(&object, "qt_calendar_calendarview"); - QTest::mouseMove(widget); - QTest::mouseClick(widget, Qt::LeftButton); - QCOMPARE(2006, object.yearShown()); - object.setSelectedDate(selectedDate); - object.showSelectedDate(); - QTest::keyClick(widget, Qt::Key_Down); - QVERIFY(selectedDate != object.selectedDate()); - - object.setDateRange(QDate(2006,1,1), QDate(2006,2,28)); - object.setSelectedDate(QDate(2006,1,1)); - object.showSelectedDate(); - button = qFindChild<QToolButton *>(&object, "qt_calendar_prevmonth"); - QTest::mouseClick(button, Qt::LeftButton); - QCOMPARE(1, object.monthShown()); - - button = qFindChild<QToolButton *>(&object, "qt_calendar_nextmonth"); - QTest::mouseClick(button, Qt::LeftButton); - QCOMPARE(2, object.monthShown()); - QTest::mouseClick(button, Qt::LeftButton); - QCOMPARE(2, object.monthShown()); - -} - -void tst_QCalendarWidget::setTextFormat() -{ - QCalendarWidget calendar; - QTextCharFormat format; - format.setFontItalic(true); - format.setForeground(Qt::green); - - const QDate date(1984, 10, 20); - calendar.setDateTextFormat(date, format); - QCOMPARE(calendar.dateTextFormat(date), format); -} - -void tst_QCalendarWidget::resetTextFormat() -{ - QCalendarWidget calendar; - QTextCharFormat format; - format.setFontItalic(true); - format.setForeground(Qt::green); - - const QDate date(1984, 10, 20); - calendar.setDateTextFormat(date, format); - - calendar.setDateTextFormat(QDate(), QTextCharFormat()); - QCOMPARE(calendar.dateTextFormat(date), QTextCharFormat()); -} - -void tst_QCalendarWidget::setWeekdayFormat() -{ - QCalendarWidget calendar; - - QTextCharFormat format; - format.setFontItalic(true); - format.setForeground(Qt::green); - - calendar.setWeekdayTextFormat(Qt::Wednesday, format); - - // check the format of the a given month - for (int i = 1; i <= 31; ++i) { - const QDate date(1984, 10, i); - const Qt::DayOfWeek dayOfWeek = static_cast<Qt::DayOfWeek>(date.dayOfWeek()); - if (dayOfWeek == Qt::Wednesday) - QCOMPARE(calendar.weekdayTextFormat(dayOfWeek), format); - else - QVERIFY(calendar.weekdayTextFormat(dayOfWeek) != format); - } -} - -tst_QCalendarWidget::tst_QCalendarWidget() -{ -} - -tst_QCalendarWidget::~tst_QCalendarWidget() -{ -} - -void tst_QCalendarWidget::initTestCase() -{ -} - -void tst_QCalendarWidget::cleanupTestCase() -{ -} - -void tst_QCalendarWidget::init() -{ -} - -void tst_QCalendarWidget::cleanup() -{ -} - - -typedef void (QCalendarWidget::*ShowFunc)(); -Q_DECLARE_METATYPE(ShowFunc) - -void tst_QCalendarWidget::showPrevNext_data() -{ - QTest::addColumn<ShowFunc>("function"); - QTest::addColumn<QDate>("dateOrigin"); - QTest::addColumn<QDate>("expectedDate"); - - QTest::newRow("showNextMonth") << &QCalendarWidget::showNextMonth << QDate(1984,7,30) << QDate(1984,8,30); - QTest::newRow("showPrevMonth") << &QCalendarWidget::showPreviousMonth << QDate(1984,7,30) << QDate(1984,6,30); - QTest::newRow("showNextYear") << &QCalendarWidget::showNextYear << QDate(1984,7,30) << QDate(1985,7,30); - QTest::newRow("showPrevYear") << &QCalendarWidget::showPreviousYear << QDate(1984,7,30) << QDate(1983,7,30); - - QTest::newRow("showNextMonth limit") << &QCalendarWidget::showNextMonth << QDate(2007,12,4) << QDate(2008,1,4); - QTest::newRow("showPreviousMonth limit") << &QCalendarWidget::showPreviousMonth << QDate(2006,1,23) << QDate(2005,12,23); - - QTest::newRow("showNextMonth now") << &QCalendarWidget::showNextMonth << QDate() << QDate::currentDate().addMonths(1); - QTest::newRow("showNextYear now") << &QCalendarWidget::showNextYear << QDate() << QDate::currentDate().addYears(1); - QTest::newRow("showPrevieousMonth now") << &QCalendarWidget::showPreviousMonth << QDate() << QDate::currentDate().addMonths(-1); - QTest::newRow("showPreviousYear now") << &QCalendarWidget::showPreviousYear << QDate() << QDate::currentDate().addYears(-1); - - QTest::newRow("showToday now") << &QCalendarWidget::showToday << QDate(2000,1,31) << QDate::currentDate(); - QTest::newRow("showNextMonth 31") << &QCalendarWidget::showNextMonth << QDate(2000,1,31) << QDate(2000,2,28); - QTest::newRow("selectedDate") << &QCalendarWidget::showSelectedDate << QDate(2008,2,29) << QDate(2008,2,29); - -} - -void tst_QCalendarWidget::showPrevNext() -{ - QFETCH(ShowFunc, function); - QFETCH(QDate, dateOrigin); - QFETCH(QDate, expectedDate); - - QCalendarWidget calWidget; - calWidget.show(); - QTest::qWaitForWindowShown(&calWidget); - if(!dateOrigin.isNull()) { - calWidget.setSelectedDate(dateOrigin); - calWidget.setCurrentPage(dateOrigin.year(), dateOrigin.month()); - - QCOMPARE(calWidget.yearShown(), dateOrigin.year()); - QCOMPARE(calWidget.monthShown(), dateOrigin.month()); - } else { - QCOMPARE(calWidget.yearShown(), QDate::currentDate().year()); - QCOMPARE(calWidget.monthShown(), QDate::currentDate().month()); - } - - (calWidget.*function)(); - - QCOMPARE(calWidget.yearShown(), expectedDate.year()); - QCOMPARE(calWidget.monthShown(), expectedDate.month()); - - // QTBUG-4058 - QTest::qWait(20); - QToolButton *button = qFindChild<QToolButton *>(&calWidget, "qt_calendar_prevmonth"); - QTest::mouseClick(button, Qt::LeftButton); - expectedDate = expectedDate.addMonths(-1); - QCOMPARE(calWidget.yearShown(), expectedDate.year()); - QCOMPARE(calWidget.monthShown(), expectedDate.month()); - - if(!dateOrigin.isNull()) { - //the selectedDate should not have changed - QCOMPARE(calWidget.selectedDate(), dateOrigin); - } -} - -QTEST_MAIN(tst_QCalendarWidget) -#include "tst_qcalendarwidget.moc" |