summaryrefslogtreecommitdiffstats
path: root/tests/auto/qwindow/tst_qwindow.cpp
diff options
context:
space:
mode:
authorJo Asplin <jo.asplin@nokia.com>2011-11-03 10:12:44 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-04 20:48:19 +0100
commit087fcc61824a54e49e68b9090b2983ef7dd18ddb (patch)
tree246385321b521b329a2099abdb66cb2dc3ce26ee /tests/auto/qwindow/tst_qwindow.cpp
parent0008428f9088d1d6623dec5706d49cbf65692e28 (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.cpp225
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);