diff options
author | Jo Asplin <jo.asplin@nokia.com> | 2011-11-03 10:12:44 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-04 20:48:19 +0100 |
commit | 087fcc61824a54e49e68b9090b2983ef7dd18ddb (patch) | |
tree | 246385321b521b329a2099abdb66cb2dc3ce26ee /tests/auto/qwindow/tst_qwindow.cpp | |
parent | 0008428f9088d1d6623dec5706d49cbf65692e28 (diff) |
Moved tests into gui/kernel/ and gui/qopengl/
This commit moves tests from test/auto/ into more appropriate
locations (i.e. matching the locations in the Qt source):
- qscreen and qwindow are moved into gui/kernel/
- qopengl is moved into gui/qopengl/
Note: qscreen is disabled for now since it is broken
on Linux (see QTBUG-22554).
Change-Id: Idcc7a51e78d6d0955bddb9cb4091866659193cc8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'tests/auto/qwindow/tst_qwindow.cpp')
-rw-r--r-- | tests/auto/qwindow/tst_qwindow.cpp | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/tests/auto/qwindow/tst_qwindow.cpp b/tests/auto/qwindow/tst_qwindow.cpp deleted file mode 100644 index 4171f0f797..0000000000 --- a/tests/auto/qwindow/tst_qwindow.cpp +++ /dev/null @@ -1,225 +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 <qwindow.h> - -#include <QtTest/QtTest> - -class tst_QWindow: public QObject -{ - Q_OBJECT - -private slots: - void mapGlobal(); - void positioning(); - void isActive(); -}; - - -void tst_QWindow::mapGlobal() -{ - QWindow a; - QWindow b(&a); - QWindow c(&b); - - a.setGeometry(10, 10, 300, 300); - b.setGeometry(20, 20, 200, 200); - c.setGeometry(40, 40, 100, 100); - - QCOMPARE(a.mapToGlobal(QPoint(100, 100)), QPoint(110, 110)); - QCOMPARE(b.mapToGlobal(QPoint(100, 100)), QPoint(130, 130)); - QCOMPARE(c.mapToGlobal(QPoint(100, 100)), QPoint(170, 170)); - - QCOMPARE(a.mapFromGlobal(QPoint(100, 100)), QPoint(90, 90)); - QCOMPARE(b.mapFromGlobal(QPoint(100, 100)), QPoint(70, 70)); - QCOMPARE(c.mapFromGlobal(QPoint(100, 100)), QPoint(30, 30)); -} - -class Window : public QWindow -{ -public: - Window() - { - reset(); - setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); - } - - void reset() - { - m_received.clear(); - } - - bool event(QEvent *event) - { - m_received[event->type()]++; - - return QWindow::event(event); - } - - int received(QEvent::Type type) - { - return m_received.value(type, 0); - } - -private: - QHash<QEvent::Type, int> m_received; -}; - -void tst_QWindow::positioning() -{ - QRect geometry(80, 80, 40, 40); - - Window window; - window.setGeometry(geometry); - QCOMPARE(window.geometry(), geometry); - window.show(); - - QTRY_COMPARE(window.received(QEvent::Resize), 1); - QTRY_COMPARE(window.received(QEvent::Map), 1); - - QMargins originalMargins = window.frameMargins(); - - QCOMPARE(window.pos(), window.framePos() + QPoint(originalMargins.left(), originalMargins.top())); - QVERIFY(window.frameGeometry().contains(window.geometry())); - - QPoint originalPos = window.pos(); - QPoint originalFramePos = window.framePos(); - - window.setWindowState(Qt::WindowFullScreen); - QTRY_COMPARE(window.received(QEvent::Resize), 2); - - window.setWindowState(Qt::WindowNoState); - QTRY_COMPARE(window.received(QEvent::Resize), 3); - - QTRY_COMPARE(originalPos, window.pos()); - QTRY_COMPARE(originalFramePos, window.framePos()); - QTRY_COMPARE(originalMargins, window.frameMargins()); - - // if our positioning is actually fully respected by the window manager - // test whether it correctly handles frame positioning as well - if (originalPos == geometry.topLeft() && (originalMargins.top() != 0 || originalMargins.left() != 0)) { - QPoint framePos(40, 40); - - window.reset(); - window.setFramePos(framePos); - - QTRY_VERIFY(window.received(QEvent::Move)); - QTRY_COMPARE(framePos, window.framePos()); - QTRY_COMPARE(originalMargins, window.frameMargins()); - QCOMPARE(window.pos(), window.framePos() + QPoint(originalMargins.left(), originalMargins.top())); - - // and back to regular positioning - - window.reset(); - window.setPos(originalPos); - QTRY_VERIFY(window.received(QEvent::Move)); - QTRY_COMPARE(originalPos, window.pos()); - } -} - -void tst_QWindow::isActive() -{ - Window window; - window.setGeometry(80, 80, 40, 40); - window.show(); - - QTRY_COMPARE(window.received(QEvent::Map), 1); - QTRY_COMPARE(window.received(QEvent::Resize), 1); - QTRY_VERIFY(QGuiApplication::focusWindow() == &window); - QVERIFY(window.isActive()); - - Window child; - child.setParent(&window); - child.setGeometry(10, 10, 20, 20); - child.show(); - - QTRY_COMPARE(child.received(QEvent::Map), 1); - - child.requestActivateWindow(); - - QTRY_VERIFY(QGuiApplication::focusWindow() == &child); - QVERIFY(child.isActive()); - - // parent shouldn't receive new map or resize events from child being shown - QTRY_COMPARE(window.received(QEvent::Map), 1); - QTRY_COMPARE(window.received(QEvent::Resize), 1); - QTRY_COMPARE(window.received(QEvent::FocusIn), 1); - QTRY_COMPARE(window.received(QEvent::FocusOut), 1); - QTRY_COMPARE(child.received(QEvent::FocusIn), 1); - - // child has focus - QVERIFY(window.isActive()); - - Window dialog; - dialog.setTransientParent(&window); - dialog.setGeometry(110, 110, 30, 30); - dialog.show(); - - dialog.requestActivateWindow(); - - QTRY_COMPARE(dialog.received(QEvent::Map), 1); - QTRY_COMPARE(dialog.received(QEvent::Resize), 1); - QTRY_VERIFY(QGuiApplication::focusWindow() == &dialog); - QVERIFY(dialog.isActive()); - - // transient child has focus - QVERIFY(window.isActive()); - - // parent is active - QVERIFY(child.isActive()); - - window.requestActivateWindow(); - - QTRY_VERIFY(QGuiApplication::focusWindow() == &window); - QTRY_COMPARE(dialog.received(QEvent::FocusOut), 1); - QTRY_COMPARE(window.received(QEvent::FocusIn), 2); - - QVERIFY(window.isActive()); - - // transient parent has focus - QVERIFY(dialog.isActive()); - - // parent has focus - QVERIFY(child.isActive()); -} - -#include <tst_qwindow.moc> -QTEST_MAIN(tst_QWindow); |