summaryrefslogtreecommitdiffstats
path: root/tests/querytest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r--tests/querytest.cpp57
1 files changed, 42 insertions, 15 deletions
diff --git a/tests/querytest.cpp b/tests/querytest.cpp
index 81b7cdc..a36dd5e 100644
--- a/tests/querytest.cpp
+++ b/tests/querytest.cpp
@@ -1346,11 +1346,11 @@ private slots:
1346 auto msg = KMime::Message::Ptr::create(); 1346 auto msg = KMime::Message::Ptr::create();
1347 msg->subject()->from7BitString("Subject To Search"); 1347 msg->subject()->from7BitString("Subject To Search");
1348 msg->setBody("This is the searchable body."); 1348 msg->setBody("This is the searchable body.");
1349 msg->from()->from7BitString("\"The Sender\"<sender@example.org>");
1349 msg->assemble(); 1350 msg->assemble();
1350 { 1351 {
1351 Mail mail("sink.dummy.instance1"); 1352 Mail mail("sink.dummy.instance1");
1352 mail.setExtractedMessageId("test1"); 1353 mail.setExtractedMessageId("test1");
1353 mail.setExtractedSubject("Subject To Search");
1354 mail.setFolder("folder1"); 1354 mail.setFolder("folder1");
1355 mail.setMimeMessage(msg->encodedContent()); 1355 mail.setMimeMessage(msg->encodedContent());
1356 VERIFYEXEC(Sink::Store::create<Mail>(mail)); 1356 VERIFYEXEC(Sink::Store::create<Mail>(mail));
@@ -1378,52 +1378,79 @@ private slots:
1378 Sink::Query query; 1378 Sink::Query query;
1379 query.resourceFilter("sink.dummy.instance1"); 1379 query.resourceFilter("sink.dummy.instance1");
1380 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); 1380 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext));
1381 auto result = Sink::Store::read<Mail>(query); 1381 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1382 QCOMPARE(result.size(), 1);
1383 } 1382 }
1383 //Case-insensitive
1384 { 1384 {
1385 Sink::Query query; 1385 Sink::Query query;
1386 query.resourceFilter("sink.dummy.instance1"); 1386 query.resourceFilter("sink.dummy.instance1");
1387 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Search"), QueryBase::Comparator::Fulltext)); 1387 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Search"), QueryBase::Comparator::Fulltext));
1388 auto result = Sink::Store::read<Mail>(query); 1388 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1389 QCOMPARE(result.size(), 1);
1390 } 1389 }
1390 //Case-insensitive
1391 { 1391 {
1392 Sink::Query query; 1392 Sink::Query query;
1393 query.resourceFilter("sink.dummy.instance1"); 1393 query.resourceFilter("sink.dummy.instance1");
1394 query.filter<Mail::Subject>(QueryBase::Comparator(QString("search"), QueryBase::Comparator::Fulltext)); 1394 query.filter<Mail::Subject>(QueryBase::Comparator(QString("search"), QueryBase::Comparator::Fulltext));
1395 auto result = Sink::Store::read<Mail>(query); 1395 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1396 QCOMPARE(result.size(), 1);
1397 } 1396 }
1397 //Wildcard match
1398 { 1398 {
1399 Sink::Query query; 1399 Sink::Query query;
1400 query.resourceFilter("sink.dummy.instance1"); 1400 query.resourceFilter("sink.dummy.instance1");
1401 query.filter<Mail::Subject>(QueryBase::Comparator(QString("sear*"), QueryBase::Comparator::Fulltext)); 1401 query.filter<Mail::Subject>(QueryBase::Comparator(QString("sear*"), QueryBase::Comparator::Fulltext));
1402 auto result = Sink::Store::read<Mail>(query); 1402 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1403 QCOMPARE(result.size(), 1);
1404 } 1403 }
1404 //Filter by body
1405 { 1405 {
1406 Sink::Query query; 1406 Sink::Query query;
1407 query.resourceFilter("sink.dummy.instance1"); 1407 query.resourceFilter("sink.dummy.instance1");
1408 query.filter<Mail::MimeMessage>(QueryBase::Comparator(QString("searchable"), QueryBase::Comparator::Fulltext)); 1408 query.filter<Mail::MimeMessage>(QueryBase::Comparator(QString("searchable"), QueryBase::Comparator::Fulltext));
1409 auto result = Sink::Store::read<Mail>(query); 1409 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1410 QCOMPARE(result.size(), 1);
1411 } 1410 }
1411 //Filter by folder
1412 { 1412 {
1413 Sink::Query query; 1413 Sink::Query query;
1414 query.resourceFilter("sink.dummy.instance1"); 1414 query.resourceFilter("sink.dummy.instance1");
1415 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); 1415 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext));
1416 query.filter<Mail::Folder>("folder1"); 1416 query.filter<Mail::Folder>("folder1");
1417 auto result = Sink::Store::read<Mail>(query); 1417 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1418 QCOMPARE(result.size(), 1);
1419 } 1418 }
1419 //Filter by folder
1420 { 1420 {
1421 Sink::Query query; 1421 Sink::Query query;
1422 query.resourceFilter("sink.dummy.instance1"); 1422 query.resourceFilter("sink.dummy.instance1");
1423 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); 1423 query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext));
1424 query.filter<Mail::Folder>("folder2"); 1424 query.filter<Mail::Folder>("folder2");
1425 auto result = Sink::Store::read<Mail>(query); 1425 QCOMPARE(Sink::Store::read<Mail>(query).size(), 0);
1426 QCOMPARE(result.size(), 0); 1426 }
1427 //Filter by sender
1428 {
1429 Sink::Query query;
1430 query.resourceFilter("sink.dummy.instance1");
1431 query.filter({}, Sink::QueryBase::Comparator(QString("sender"), Sink::QueryBase::Comparator::Fulltext));
1432 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1433 }
1434 //Filter by sender
1435 {
1436 Sink::Query query;
1437 query.resourceFilter("sink.dummy.instance1");
1438 query.filter({}, Sink::QueryBase::Comparator(QString("Sender"), Sink::QueryBase::Comparator::Fulltext));
1439 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1440 }
1441 //Filter by sender
1442 {
1443 Sink::Query query;
1444 query.resourceFilter("sink.dummy.instance1");
1445 query.filter({}, Sink::QueryBase::Comparator(QString("sender@example"), Sink::QueryBase::Comparator::Fulltext));
1446 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1447 }
1448 //Filter by sender
1449 {
1450 Sink::Query query;
1451 query.resourceFilter("sink.dummy.instance1");
1452 query.filter({}, Sink::QueryBase::Comparator(QString("The Sender"), Sink::QueryBase::Comparator::Fulltext));
1453 QCOMPARE(Sink::Store::read<Mail>(query).size(), 1);
1427 } 1454 }
1428 } 1455 }
1429 1456