diff options
author | Damian Jansen <damian.jansen@nokia.com> | 2012-01-30 15:50:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-21 05:18:35 +0100 |
commit | 122e8df400e5a8bd4df1655785e6714110ffce93 (patch) | |
tree | 780ad036ee3d43de568371a68811d2d15f9f57ee /tests/auto/qmltest/textinput | |
parent | 1343820682c3162c64cafd455816f61a35ac62ce (diff) |
Add more element qmltestrunner cases
Added remote testing to Image, BorderImage
Added several basic element tests
Change-Id: I1a25f31bc66be6b096a6d3c217196d5625e8a2ed
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Diffstat (limited to 'tests/auto/qmltest/textinput')
-rw-r--r-- | tests/auto/qmltest/textinput/tst_textinput.qml | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/tests/auto/qmltest/textinput/tst_textinput.qml b/tests/auto/qmltest/textinput/tst_textinput.qml new file mode 100644 index 0000000000..2399456730 --- /dev/null +++ b/tests/auto/qmltest/textinput/tst_textinput.qml @@ -0,0 +1,286 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** 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 Nokia Corporation and its Subsidiary(-ies) 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.0 +import QtTest 1.0 + +Item { + id: top + + TextInput { + id: emptyText + height: 20 + width: 50 + } + + TextInput { + id: txtfamily + text: "Hello world!" + font.family: "Courier" + height: 20 + width: 50 + } + + TextInput { + id: txtcolor + text: "Hello world!" + color: "red" + height: 20 + width: 50 + } + + TextInput { + id: txtentry + text: "" + height: 20 + width: 50 + } + + TextInput { + id: txtfunctions + text: "The quick brown fox jumped over the lazy dog" + height: 20 + width: 50 + } + + TextInput { + id: txtintvalidator + text: "" + height: 20 + width: 50 + validator: IntValidator { id: iv; top: 20; bottom: 10; } + } + + TextInput { + id: txtdoublevalidator + text: "" + height: 20 + width: 50 + validator: DoubleValidator { id: dv; top: 2.0; bottom: 1.0; } + } + + TextInput { + id: txtregexpvalidator + text: "" + height: 20 + width: 50 + validator: RegExpValidator { id: rv; regExp: /[a-z]{3}/ } + } + + + + TestCase { + name: "TextInput" + when: windowShown + + function test_empty() { + compare(emptyText.text, "") + } + + function test_family() { + compare(txtfamily.font.family, "Courier") + txtfamily.font.family = "Helvetica"; + compare(txtfamily.font.family, "Helvetica") + } + + function test_color() { + compare(txtcolor.color, "#ff0000") + txtcolor.color = "blue"; + compare(txtcolor.color, "#0000ff") + } + + function test_textentry() { + txtentry.focus = true; + compare(txtentry.text, "") + keyClick(Qt.Key_H) + keyClick(Qt.Key_E) + keyClick(Qt.Key_L) + keyClick(Qt.Key_L) + keyClick(Qt.Key_O) + keyClick(Qt.Key_Space) + keyClick(Qt.Key_W) + keyClick(Qt.Key_O) + keyClick(Qt.Key_R) + keyClick(Qt.Key_L) + keyClick(Qt.Key_D) + compare(txtentry.text, "hello world") + } + + function test_functions() { + compare(txtfunctions.getText(4,9), "quick") + txtfunctions.select(4,9); + compare(txtfunctions.selectedText, "quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.select(4,9); + txtfunctions.cut(); + compare(txtfunctions.text, "The brown fox jumped over the lazy dog") + txtfunctions.text = "Qt"; + txtfunctions.insert(txtfunctions.text.length, " ") + compare(txtfunctions.text, "Qt "); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quick"); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.selectWord(); + compare(txtfunctions.selectedText, "quick") + txtfunctions.copy(); + txtfunctions.selectAll(); + compare(txtfunctions.selectedText, "Qt quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quickquick"); + } + + function test_intvalidators_data() { + return [ + { + tag: "toolow", + testnumber: "5", + acceptable: false + }, + { + tag: "toohigh", + testnumber: "50", + acceptable: false + }, + { + tag: "onlowerbounds", + testnumber: "10", + acceptable: true + }, + { + tag: "onupperbounds", + testnumber: "20", + acceptable: true + }, + { + tag: "middle", + testnumber: "15", + acceptable: true + }, + { + tag: "negativemiddle", + testnumber: "-15", + acceptable: false + } + ] + + } + + function test_intvalidators(row) { + compare(txtintvalidator.validator.top, 20) + compare(txtintvalidator.validator.bottom, 10) + txtintvalidator.text = row.testnumber; + compare(txtintvalidator.acceptableInput, row.acceptable) + } + + function test_doublevalidators_data() { + return [ + { + tag: "toolow", + testnumber: "0.5", + acceptable: false + }, + { + tag: "toohigh", + testnumber: "2.5", + acceptable: false + }, + { + tag: "onlowerbounds", + testnumber: "1.0", + acceptable: true + }, + { + tag: "onupperbounds", + testnumber: "2.0", + acceptable: true + }, + { + tag: "middle", + testnumber: "1.5", + acceptable: true + }, + { + tag: "negativemiddle", + testnumber: "-1.5", + acceptable: false + } + ] + + } + + function test_doublevalidators(row) { + compare(txtdoublevalidator.validator.top, 2.0) + compare(txtdoublevalidator.validator.bottom, 1.0) + txtdoublevalidator.text = row.testnumber; + compare(txtdoublevalidator.acceptableInput, row.acceptable) + } + + function test_regexpvalidators_data() { + return [ + { + tag: "toolow", + testtext: "ab", + acceptable: false + }, + { + tag: "toohigh", + testtext: "abcd", + acceptable: false + }, + { + tag: "acceptable", + testtext: "abc", + acceptable: true + } + ] + + } + + function test_regexpvalidators(row) { + compare(txtregexpvalidator.validator.regExp, /[a-z]{3}/) + txtregexpvalidator.text = row.testtext; + compare(txtregexpvalidator.acceptableInput, row.acceptable) + } + } +} |