aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/activeFocusOnTab
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-10 14:29:54 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-15 10:37:42 +0000
commit3211db409e6fcfdee930bc651761b1036dd7649f (patch)
tree493983cf77b52e8476420e23892688704c1dcdbc /tests/auto/activeFocusOnTab
parentdaf8b6655d5fdf12e5f86396ac7d7dc90060e05b (diff)
Auto test focus navigation with keys
Change-Id: Ieb75c3043b9fac972af492598853ad8501637dbb Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'tests/auto/activeFocusOnTab')
-rw-r--r--tests/auto/activeFocusOnTab/activeFocusOnTab.pro11
-rw-r--r--tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml193
-rw-r--r--tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp112
3 files changed, 0 insertions, 316 deletions
diff --git a/tests/auto/activeFocusOnTab/activeFocusOnTab.pro b/tests/auto/activeFocusOnTab/activeFocusOnTab.pro
deleted file mode 100644
index cac27bcc..00000000
--- a/tests/auto/activeFocusOnTab/activeFocusOnTab.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-CONFIG += testcase
-TARGET = tst_activeFocusOnTab
-osx:CONFIG -= app_bundle
-
-SOURCES += tst_activeFocusOnTab.cpp
-
-include (../shared/util.pri)
-
-TESTDATA = data/*
-
-QT += core-private gui-private qml-private quick-private testlib
diff --git a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml b/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
deleted file mode 100644
index 46f9f522..00000000
--- a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
+++ /dev/null
@@ -1,193 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.5
-import Qt.labs.controls 1.0
-
-Item {
- id: main
- objectName: "main"
- width: 400
- height: 800
- focus: true
- Component.onCompleted: button1.focus = true
- Column {
- anchors.fill: parent
- id: column
- objectName: "column"
- BusyIndicator {
- id: busyindicator
- objectName: "busyindicator"
- }
- Button {
- id: button1
- objectName: "button1"
- text: "button1"
- }
- Button {
- id: button2
- objectName: "button2"
- text: "button2"
- }
- CheckBox {
- id: checkbox
- objectName: "checkbox"
- text: "checkbox"
- }
- GroupBox {
- id: groupbox1
- objectName: "groupbox1"
- title: "grouppox1"
- Column {
- anchors.fill: parent
- CheckBox {
- id: checkbox1
- objectName: "checkbox1"
- text: "checkbox1"
- }
- CheckBox {
- id: checkbox2
- objectName: "checkbox2"
- text: "checkbox2"
- }
- }
- }
- Label {
- id: label
- objectName: "label"
- text: "label"
- }
- PageIndicator {
- id: pageindicator
- objectName: "pageindicator"
- }
- ProgressBar {
- id: progressbar
- objectName: "progressbar"
- indeterminate: true
- }
- RadioButton {
- id: radiobutton
- objectName: "radiobutton"
- text: "radiobutton"
- }
- GroupBox {
- id: groupbox2
- objectName: "groupbox2"
- title: "groupbox2"
- Column {
- anchors.fill: parent
- RadioButton {
- id: radiobutton1
- objectName: "radiobutton1"
- text: "radiobutton1"
- }
- RadioButton {
- id: radiobutton2
- objectName: "radiobutton2"
- text: "radiobutton2"
- }
- }
- }
- RangeSlider {
- id: rangeslider
- objectName: "rangeslider"
- first.handle.objectName: "rangeslider.first"
- second.handle.objectName: "rangeslider.second"
- }
- // ScrollBar
- ScrollIndicator {
- id: scrollindicator
- objectName: "scrollindicator"
- }
- Slider {
- id: slider
- objectName: "slider"
- value: 0.5
- }
- SpinBox {
- id: spinbox
- objectName: "spinbox"
- editable: true
- value: 50
- }
- // StackView
- Switch {
- id: swtich // switch
- objectName: "switch"
- text: "switch"
- }
- TabBar {
- width: parent.width
- id: tabbar
- objectName: "tabbar"
- TabButton {
- id: tabbutton1
- objectName: "tabbutton1"
- text: "tabbutton1"
- }
- TabButton {
- id: tabbutton2
- objectName: "tabbutton2"
- text: "tabbutton2"
- }
- }
- TextField {
- id: textfield
- objectName: "textfield"
- text: "abc"
- }
- ToolBar {
- width: parent.width
- id: toolbar
- objectName: "toolbar"
- ToolButton {
- id: toolbutton
- objectName: "toolbutton"
- text: "toolbutton"
- }
- }
- TextArea {
- id: textarea
- objectName: "textarea"
- text: "abc"
- }
- }
-}
diff --git a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp b/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
deleted file mode 100644
index 2da73955..00000000
--- a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later 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 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qtest.h>
-#include <QtTest/QSignalSpy>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQuick/qquickview.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtGui/qstylehints.h>
-#include "../shared/util.h"
-#include "../shared/visualtestutil.h"
-
-using namespace QQuickVisualTestUtil;
-
-class tst_activeFocusOnTab : public QQmlDataTest
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
-
- void tabNavigation_data();
- void tabNavigation();
-};
-
-void tst_activeFocusOnTab::initTestCase()
-{
- QQmlDataTest::initTestCase();
-}
-
-void tst_activeFocusOnTab::tabNavigation_data()
-{
- QTest::addColumn<Qt::Key>("key");
- QTest::addColumn<Qt::TabFocusBehavior>("behavior");
- QTest::addColumn<QStringList>("order");
-
- QTest::newRow("tab-all-controls") << Qt::Key_Tab << Qt::TabFocusAllControls << (QStringList() << "button2" << "checkbox" << "checkbox1" << "checkbox2" << "radiobutton" << "radiobutton1" << "radiobutton2" << "rangeslider.first" << "rangeslider.second" << "slider" << "spinbox" << "switch" << "tabbutton1" << "tabbutton2" << "textfield" << "toolbutton" << "textarea" << "button1");
- QTest::newRow("backtab-all-controls") << Qt::Key_Backtab << Qt::TabFocusAllControls << (QStringList() << "textarea" << "toolbutton" << "textfield" << "tabbutton2" << "tabbutton1" << "switch" << "spinbox" << "slider" << "rangeslider.second" << "rangeslider.first" << "radiobutton2" << "radiobutton1" << "radiobutton" << "checkbox2" << "checkbox1" << "checkbox" << "button2" << "button1");
-
- QTest::newRow("tab-text-controls") << Qt::Key_Tab << Qt::TabFocusTextControls << (QStringList() << "spinbox" << "textfield" << "textarea");
- QTest::newRow("backtab-text-controls") << Qt::Key_Backtab << Qt::TabFocusTextControls << (QStringList() << "textarea" << "textfield" << "spinbox");
-}
-
-void tst_activeFocusOnTab::tabNavigation()
-{
- QFETCH(Qt::Key, key);
- QFETCH(Qt::TabFocusBehavior, behavior);
- QFETCH(QStringList, order);
-
- QGuiApplication::styleHints()->setTabFocusBehavior(behavior);
-
- QQuickView view;
- view.contentItem()->setObjectName("contentItem");
-
- view.setSource(testFileUrl("activeFocusOnTab.qml"));
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
- QVERIFY(QGuiApplication::focusWindow() == &view);
-
- foreach (const QString &name, order) {
- QKeyEvent event(QEvent::KeyPress, key, Qt::NoModifier);
- QGuiApplication::sendEvent(&view, &event);
- QVERIFY(event.isAccepted());
-
- QQuickItem *item = findItem<QQuickItem>(view.rootObject(), name);
- QVERIFY2(item, qPrintable(name));
- QVERIFY2(item->hasActiveFocus(), qPrintable(QString("expected: '%1', actual: '%2'").arg(name).arg(view.activeFocusItem() ? view.activeFocusItem()->objectName() : "null")));
- }
-
- QGuiApplication::styleHints()->setTabFocusBehavior(Qt::TabFocusBehavior(-1));
-}
-
-QTEST_MAIN(tst_activeFocusOnTab)
-
-#include "tst_activeFocusOnTab.moc"