/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Mobility Components.
**
** $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("product.qtx")
include("extrafunctions.qtt")
//TESTED_COMPONENT=src/sensors/gestures
testcase = {
init: function() {
qtuitest.checkActiveWindow = false;
qtuitest.autoTerminate = false;
wait(500);
unlock();
wait(500);
},
cleanup: function() {
print("Cleanup test function");
unlock();
wait(500);
Gesture.swipe(Screen.leftCenter(), Screen.rightCenter()); //close applicatin
wait(500);
},
// As a QML Application developer I need to be able to list sensor gesture plugins
List_Sensor_Gestures: function()
{
// Test meta data
testApplication = "Gesture";
testBinary = "Gesture"; // Running QML using qmlrunner will insert test app binary name when compiled
testGoal = "Verify a list of all registered sensor gesture plugins";
testPreconditions = "Nil.";
testGroups = "BAT";
// Test steps
mouseClick(findByProperty("label", testBinary)); wait(500);
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
| *Step* | *Verification* |
| Launch " + testBinary + " | App launches normally |
| Observe the list of all gestures shown in the top menu | Verify that the expected gestures are displayed |
"));
},
// As a QML Application developer I need to be able to select a sensor gesture plugin
Select_Sensor_Gesture: function()
{
// Test meta data
testApplication = "Gesture";
testBinary = "Gesture";
testGoal = "Verify selection of a sensor gesture plugin";
testPreconditions = "Nil.";
testGroups = "BAT";
// Test steps
mouseClick(findByProperty("label", testBinary)); wait(500);
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
| *Step* | *Verification* |
| Launch " + testBinary + " | App launches normally |
| Select the QtSensors.shake gesture from the gesture list | Verify the QtSensors.shake gesture becomes highlighted and the detection menu now has the title *QtSensors.shake* |
"));
},
// As a QML Application developer I need to be able to trigger a sensor gesture plugins
Trigger_Sensor_Gesture: function()
{
// Test meta data
testApplication = "Gesture";
testBinary = "Gesture";
testGoal = "Verify that a sensor gesture is triggered";
testPreconditions = "Nil.";
testGroups = "BAT";
// Test steps
mouseClick(findByProperty("label", testBinary)); wait(500);
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
| *Step* | *Verification* |
| Launch " + testBinary + " | App launches normally |
| Select the QtSensors.shake gesture from the gesture list and press *start* on the detection menu | Verify that *start* button now reads *stop* and is highlighted |
| Shake the phone more than 3 times in the X axis | Verify that shake detections are registered |
"));
},
// Sensor gestures are not triggered by false positives
Sensor_Gesture_False_Positives: function()
{
// Test meta data
testApplication = "Gesture";
testBinary = "Gesture";
testGoal = "Verify that a sensor gesture doesn't trigger falsely";
testPreconditions = "Nil.";
testGroups = "BAT";
// Test steps
mouseClick(findByProperty("label", testBinary)); wait(500);
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
| *Step* | *Verification* |
| Launch " + testBinary + " | App launches normally |
| Select the QtSensors.shake gesture from the gesture list and press *start* on the detection menu | Verify that *start* button now reads *stop* and is highlighted |
| Shake the phone more than 3 times in the Y axis | Verify that no shake detections are registered |
| Shake the phone more than 3 times in the Z axis | Verify that no shake detections are registered |
| Shake the phone more than 3 times in the X axis | Verify that shake detections are registered |
| Shake the phone more than 2 times in the Y axis | Verify that no shake detections are registered |
| Shake the phone more than 2 times in the Z axis | Verify that no shake detections are registered |
| Shake the phone more than 2 times in the X axis | Verify that no shake detections are registered |
| Shake the phone more than 6 times in the X axis | Verify that 2 shake detections are registered |
"));
},
}