Skip to content

Commit 5c5d8f2

Browse files
committed
qt, test: Add tests for searching in AddressBookPage dialog
1 parent 640eb77 commit 5c5d8f2

File tree

1 file changed

+49
-3
lines changed

1 file changed

+49
-3
lines changed

src/qt/test/addressbooktests.cpp

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <chrono>
2525

2626
#include <QApplication>
27+
#include <QLineEdit>
2728
#include <QMessageBox>
2829
#include <QTableView>
2930
#include <QTimer>
@@ -102,11 +103,13 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
102103
QString s_label("already here (s)");
103104

104105
// Define a new address (which should add to the address book successfully).
105-
QString new_address;
106+
QString new_address_a;
107+
QString new_address_b;
106108

107109
std::tie(r_key_dest, preexisting_r_address) = build_address();
108110
std::tie(s_key_dest, preexisting_s_address) = build_address();
109-
std::tie(std::ignore, new_address) = build_address();
111+
std::tie(std::ignore, new_address_a) = build_address();
112+
std::tie(std::ignore, new_address_b) = build_address();
110113

111114
{
112115
LOCK(wallet->cs_wallet);
@@ -159,9 +162,52 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
159162
// Submit a new address which should add successfully - we expect the
160163
// warning message to be blank.
161164
EditAddressAndSubmit(
162-
&editAddressDialog, QString("new"), new_address, QString(""));
165+
&editAddressDialog, QString("io - new A"), new_address_a, QString(""));
163166
check_addbook_size(3);
164167
QCOMPARE(table_view->model()->rowCount(), 2);
168+
169+
EditAddressAndSubmit(
170+
&editAddressDialog, QString("io - new B"), new_address_b, QString(""));
171+
check_addbook_size(4);
172+
QCOMPARE(table_view->model()->rowCount(), 3);
173+
174+
auto search_line = address_book.findChild<QLineEdit*>("searchLineEdit");
175+
176+
search_line->setText(r_label);
177+
QCOMPARE(table_view->model()->rowCount(), 0);
178+
179+
search_line->setText(s_label);
180+
QCOMPARE(table_view->model()->rowCount(), 1);
181+
182+
search_line->setText("io");
183+
QCOMPARE(table_view->model()->rowCount(), 2);
184+
185+
// Check wilcard "?".
186+
search_line->setText("io?new");
187+
QCOMPARE(table_view->model()->rowCount(), 0);
188+
search_line->setText("io???new");
189+
QCOMPARE(table_view->model()->rowCount(), 2);
190+
191+
// Check wilcard "*".
192+
search_line->setText("io*new");
193+
QCOMPARE(table_view->model()->rowCount(), 2);
194+
search_line->setText("*");
195+
QCOMPARE(table_view->model()->rowCount(), 3);
196+
197+
search_line->setText(preexisting_r_address);
198+
QCOMPARE(table_view->model()->rowCount(), 0);
199+
200+
search_line->setText(preexisting_s_address);
201+
QCOMPARE(table_view->model()->rowCount(), 1);
202+
203+
search_line->setText(new_address_a);
204+
QCOMPARE(table_view->model()->rowCount(), 1);
205+
206+
search_line->setText(new_address_b);
207+
QCOMPARE(table_view->model()->rowCount(), 1);
208+
209+
search_line->setText("");
210+
QCOMPARE(table_view->model()->rowCount(), 3);
165211
}
166212

167213
} // namespace

0 commit comments

Comments
 (0)