From 319908623e47b4e73f9af4aa4369cb895bd8df8f Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 9 Mar 2025 00:15:18 +0530 Subject: Fix command input ui to fix to top --- spec/CommandInputSpec.cpp | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'spec/CommandInputSpec.cpp') 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(); 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(); + 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(); + 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") { -- cgit v1.3.1