diff -r 41300fa6a67c -r 3b1da2848fc7 tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp --- a/tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp Tue Feb 02 00:43:10 2010 +0200 +++ b/tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp Fri Feb 19 23:40:16 2010 +0200 @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -64,6 +64,7 @@ void screenNumberForQWidget(); void screenNumberForQPoint(); void availableGeometry(); + void screenGeometry(); }; tst_QDesktopWidget::tst_QDesktopWidget() @@ -98,6 +99,9 @@ void tst_QDesktopWidget::availableGeometry() { QDesktopWidget desktop; + QTest::ignoreMessage(QtWarningMsg, "QDesktopWidget::availableGeometry(): Attempt " + "to get the available geometry of a null widget"); + desktop.availableGeometry((QWidget *)0); QRect total; QRect available; @@ -158,6 +162,27 @@ QVERIFY(screen >= 0 && screen < desktopWidget->numScreens()); } +void tst_QDesktopWidget::screenGeometry() +{ + QDesktopWidget *desktopWidget = QApplication::desktop(); + QTest::ignoreMessage(QtWarningMsg, "QDesktopWidget::screenGeometry(): Attempt " + "to get the screen geometry of a null widget"); + QRect r = desktopWidget->screenGeometry((QWidget *)0); + QVERIFY(r.isNull()); + QWidget widget; + widget.show(); + QTest::qWaitForWindowShown(&widget); + r = desktopWidget->screenGeometry(&widget); + + QRect total; + QRect available; + for (int i = 0; i < desktopWidget->screenCount(); ++i) { + total = desktopWidget->screenGeometry(i); + available = desktopWidget->availableGeometry(i); + } + QVERIFY(total.contains(r)); +} + QTEST_MAIN(tst_QDesktopWidget) #include "tst_qdesktopwidget.moc"