diff options
Diffstat (limited to 'spec/InputLineSpec.cpp')
| -rw-r--r-- | spec/InputLineSpec.cpp | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/spec/InputLineSpec.cpp b/spec/InputLineSpec.cpp index 9a3115a..db6890c 100644 --- a/spec/InputLineSpec.cpp +++ b/spec/InputLineSpec.cpp @@ -1,16 +1,38 @@ +#include "completion/Adapter.hpp" +#include "completion/Completer.hpp" #include "testUtils.h" #include "widgets/InputLine.hpp" +#include <QAbstractItemView> +#include <QtCore/qsharedpointer.h> +#include <QtCore/qstringlistmodel.h> +#include <QtCore> +#include <QtTest/qtestkeyboard.h> class InputLineSpec : public QObject { Q_OBJECT + class FakeInputAdapter : public Adapter { + public: + FakeInputAdapter() : Adapter() { + completerInstance = new Completer; + QStringList list = {"one", "two", "three"}; + QStringListModel model(list); + completerInstance->setSourceModel(&model); + } + Completer *completer() { return completerInstance; } + QString prompt() { return "fake prompt"; } + + private: + Completer *completerInstance; + }; + private slots: void testWithInitialInput() { context("when initialized with some text"); it("sets the initial input text") { InputLine inputWidget("Initial content", new QWidget()); - QCOMPARE(inputWidget.getInputText(), QString("Initial content")); + QCOMPARE(inputWidget.getInputText(), "Initial content"); } } @@ -22,7 +44,7 @@ private slots: auto input = inputWidget.findChild<QLineEdit *>(); QTest::keyClicks(input, " updated"); - QCOMPARE(inputWidget.getInputText(), QString("Initial content updated")); + QCOMPARE(inputWidget.getInputText(), "Initial content updated"); } context("when setInputText is called"); @@ -31,7 +53,7 @@ private slots: inputWidget.setInputText("New content"); - QCOMPARE(inputWidget.getInputText(), QString("New content")); + QCOMPARE(inputWidget.getInputText(), "New content"); } } @@ -96,6 +118,18 @@ private slots: QVERIFY(!inputWidget.isInputFocussed()); } } + + void testInputPrompt() { + it("sets the prompt text using the adapter") { + InputLine inputWidget("Initial content", new QWidget()); + FakeInputAdapter inputAdapter; + inputWidget.setAdapter(&inputAdapter); + + QCOMPARE(inputWidget.prompt(), "fake prompt"); + } + } + + // TODO: completions test }; QTEST_REGISTER(InputLineSpec) |
