99 lines
2.5 KiB
QML
99 lines
2.5 KiB
QML
import QtQuick 2.15
|
|
import QtTest 1.15
|
|
|
|
import StatusQ.Controls 0.1
|
|
|
|
import Storybook 1.0
|
|
import shared.controls 1.0
|
|
|
|
Item {
|
|
id: root
|
|
width: 600
|
|
height: 400
|
|
|
|
Component {
|
|
id: componentUnderTest
|
|
StatusAmountInput {
|
|
id: input
|
|
anchors.centerIn: parent
|
|
locale: Qt.locale("en_US") // US uses period as decimal point
|
|
}
|
|
}
|
|
|
|
TestCase {
|
|
name: "StatusAmountInput"
|
|
when: windowShown
|
|
|
|
property StatusAmountInput controlUnderTest: null
|
|
|
|
function init() {
|
|
controlUnderTest = createTemporaryObject(componentUnderTest, root)
|
|
controlUnderTest.forceActiveFocus()
|
|
}
|
|
|
|
function test_decimalPoint() {
|
|
verify(!!controlUnderTest)
|
|
|
|
keyClick(Qt.Key_1)
|
|
keyClick(Qt.Key_2)
|
|
keyClick(Qt.Key_Comma)
|
|
keyClick(Qt.Key_2)
|
|
|
|
compare(controlUnderTest.text, "12.2")
|
|
|
|
keyClick(Qt.Key_Period)
|
|
compare(controlUnderTest.text, "12.2", "There can be only single decimal point")
|
|
|
|
controlUnderTest.text = ""
|
|
compare(controlUnderTest.text.length, 0)
|
|
|
|
keyClick(Qt.Key_5)
|
|
keyClick(Qt.Key_3)
|
|
keyClick(Qt.Key_Period)
|
|
keyClick(Qt.Key_3)
|
|
|
|
compare(controlUnderTest.text, "53.3")
|
|
keyClick(Qt.Key_Comma)
|
|
compare(controlUnderTest.text, "53.3", "There can be only single decimal point")
|
|
|
|
controlUnderTest.text = ""
|
|
compare(controlUnderTest.text.length, 0)
|
|
|
|
controlUnderTest.locale = Qt.locale("pl_PL") // PL uses comma as decimal point
|
|
|
|
keyClick(Qt.Key_6)
|
|
keyClick(Qt.Key_2)
|
|
keyClick(Qt.Key_Period)
|
|
keyClick(Qt.Key_1)
|
|
|
|
compare(controlUnderTest.text, "62,1")
|
|
}
|
|
|
|
function test_unallowedKeys() {
|
|
verify(!!controlUnderTest)
|
|
|
|
keyClick(Qt.Key_1)
|
|
for (let i = Qt.Key_A ; i <= Qt.Key_BracketRight ; i++) {
|
|
keyClick(i)
|
|
}
|
|
keyClick(Qt.Key_Space)
|
|
keyClick(Qt.Key_3)
|
|
|
|
compare(controlUnderTest.text, "13")
|
|
compare(controlUnderTest.valid, true)
|
|
}
|
|
|
|
function test_defaultValidation() {
|
|
verify(!!controlUnderTest)
|
|
|
|
verify(!controlUnderTest.valid)
|
|
|
|
keyClick(Qt.Key_4)
|
|
verify(controlUnderTest.valid)
|
|
|
|
controlUnderTest.text = "-12"
|
|
verify(!controlUnderTest.valid, "Amount below zero is not allowed")
|
|
}
|
|
}
|
|
}
|