clivern-imap/tests/Core/SearchTest.php
2017-08-12 13:23:30 +02:00

40 lines
2.7 KiB
PHP

<?php
namespace Tests\Core;
use PHPUnit\Framework\TestCase;
class SearchTest extends TestCase
{
public function testConditionBuilder()
{
$search = new \Clivern\Imap\Core\Search();
$search->addCondition(new \Clivern\Imap\Core\Search\Condition\All())->addCondition(new \Clivern\Imap\Core\Search\Condition\Answered())->addCondition(new \Clivern\Imap\Core\Search\Condition\BCC("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Before("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Body("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\CC("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Deleted())->addCondition(new \Clivern\Imap\Core\Search\Condition\Flagged())->addCondition(new \Clivern\Imap\Core\Search\Condition\From("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Keyword("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\NewFlag())->addCondition(new \Clivern\Imap\Core\Search\Condition\Old())->addCondition(new \Clivern\Imap\Core\Search\Condition\On("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Recent())->addCondition(new \Clivern\Imap\Core\Search\Condition\Seen())->addCondition(new \Clivern\Imap\Core\Search\Condition\Since("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Subject("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\Text("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\To("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\UnAnswered())->addCondition(new \Clivern\Imap\Core\Search\Condition\UnDeleted())->addCondition(new \Clivern\Imap\Core\Search\Condition\UnFlagged())->addCondition(new \Clivern\Imap\Core\Search\Condition\UnKeyword("val"))->addCondition(new \Clivern\Imap\Core\Search\Condition\UnSeen());
$this->assertEquals($search->getConditions(), [
'ALL',
'ANSWERED',
'BCC "val"',
'BEFORE "val"',
'BODY "val"',
'CC "val"',
'DELETED',
'FLAGGED',
'FROM "val"',
'KEYWORD "val"',
'NEW',
'OLD',
'ON "val"',
'RECENT',
'SEEN',
'SINCE "val"',
'SUBJECT "val"',
'TEXT "val"',
'TO "val"',
'UNANSWERED',
'UNDELETED',
'UNFLAGGED',
'UNKEYWORD "val"',
'UNSEEN'
]);
$this->assertEquals((string) $search, 'ALL ANSWERED BCC "val" BEFORE "val" BODY "val" CC "val" DELETED FLAGGED FROM "val" KEYWORD "val" NEW OLD ON "val" RECENT SEEN SINCE "val" SUBJECT "val" TEXT "val" TO "val" UNANSWERED UNDELETED UNFLAGGED UNKEYWORD "val" UNSEEN');
}
}