aboutsummaryrefslogtreecommitdiff
path: root/spec/CommandInputSpec.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--spec/CommandInputSpec.cpp39
1 files changed, 36 insertions, 3 deletions
diff --git a/spec/CommandInputSpec.cpp b/spec/CommandInputSpec.cpp
index 7d15f25..f6f7f3a 100644
--- a/spec/CommandInputSpec.cpp
+++ b/spec/CommandInputSpec.cpp
@@ -26,24 +26,57 @@ private slots:
QCOMPARE(inputWidget.getInputCommand(),
QString("Initial content updated"));
}
+
+ context("when setInputText is called");
+ it("sets input command") {
+ CommandInput inputWidget("Initial content", new QWidget());
+
+ inputWidget.setInputText("New content");
+
+ QCOMPARE(inputWidget.getInputCommand(), QString("New content"));
+ }
}
void testSubmitSignalOnReturnKey() {
context("when user hits return key");
it("emits the submitted signal with the input command") {
CommandInput inputWidget("Initial content", new QWidget());
- QSignalSpy spy(&inputWidget, &CommandInput::submitted);
+ QSignalSpy submitSignal(&inputWidget, &CommandInput::submitted);
auto input = inputWidget.findChild<QLineEdit *>();
QTest::keyClicks(input, " updated");
QTest::keyClick(&inputWidget, Qt::Key_Return);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.takeFirst().at(0).toString(),
+ QCOMPARE(submitSignal.count(), 1);
+ QCOMPARE(submitSignal.takeFirst().at(0).toString(),
QString("Initial content updated"));
}
}
+ void testCancelSignalOnEscapeKey() {
+ context("when user hits escape key");
+ it("emits 'cancelled' signal") {
+ CommandInput inputWidget("Initial content", new QWidget());
+ QSignalSpy cancelSignal(&inputWidget, &CommandInput::cancelled);
+
+ auto input = inputWidget.findChild<QLineEdit *>();
+ QTest::keyClick(&inputWidget, Qt::Key_Escape);
+
+ QCOMPARE(cancelSignal.count(), 1);
+ }
+
+ context("when user hits ctrl+l key");
+ it("emits 'cancelled' signal") {
+ CommandInput inputWidget("Initial content", new QWidget());
+ QSignalSpy cancelSignal(&inputWidget, &CommandInput::cancelled);
+
+ auto input = inputWidget.findChild<QLineEdit *>();
+ QTest::keyClick(&inputWidget, Qt::Key_L, Qt::ControlModifier);
+
+ QCOMPARE(cancelSignal.count(), 1);
+ }
+ }
+
void testSetFocus() {
context("when setInputFocus is called with true");
xit("focusses input field") {