76 lines
3.1 KiB
PHP
76 lines
3.1 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Imap PHP package.
|
|
* (c) Clivern <hello@clivern.com>
|
|
*/
|
|
|
|
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->assertSame($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->assertSame(
|
|
(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'
|
|
);
|
|
}
|
|
}
|