Added order: support to searching
This commit is contained in:
parent
17d898bc0c
commit
61e95ac708
3 changed files with 24 additions and 2 deletions
1
TODO
1
TODO
|
@ -7,7 +7,6 @@ everything related to posts:
|
|||
- comment count
|
||||
- regard safety settings
|
||||
- regard disliked settings
|
||||
- add search form (query, order and safety) to post list presenter
|
||||
- add warning if no posts were found
|
||||
- search filters
|
||||
- comment:rr-
|
||||
|
|
|
@ -22,7 +22,12 @@ abstract class AbstractSearchParser
|
|||
foreach ($tokens as $token)
|
||||
{
|
||||
if ($token instanceof \Szurubooru\SearchServices\Tokens\NamedSearchToken)
|
||||
{
|
||||
if ($token->getKey() === 'order')
|
||||
$filter->setOrder(array_merge($filter->getOrder(), $this->getOrder($token->getValue())));
|
||||
else
|
||||
$this->decorateFilterFromNamedToken($filter, $token);
|
||||
}
|
||||
elseif ($token instanceof \Szurubooru\SearchServices\Tokens\SearchToken)
|
||||
$this->decorateFilterFromToken($filter, $token);
|
||||
else
|
||||
|
|
|
@ -30,4 +30,22 @@ class UserSearchParserTest extends AbstractTestCase
|
|||
$filter = $this->userSearchParser->createFilterFromInputReader($this->inputReader);
|
||||
$this->assertEquals([UserFilter::ORDER_NAME => UserFilter::ORDER_DESC], $filter->getOrder());
|
||||
}
|
||||
|
||||
public function testTokenOrder()
|
||||
{
|
||||
$this->inputReader->query = 'order:name,desc';
|
||||
$filter = $this->userSearchParser->createFilterFromInputReader($this->inputReader);
|
||||
$this->assertEquals([UserFilter::ORDER_NAME => UserFilter::ORDER_DESC], $filter->getOrder());
|
||||
}
|
||||
|
||||
public function testParamAndTokenOrder()
|
||||
{
|
||||
$this->inputReader->order = 'registration_time,desc';
|
||||
$this->inputReader->query = 'order:name,desc';
|
||||
$filter = $this->userSearchParser->createFilterFromInputReader($this->inputReader);
|
||||
$this->assertEquals([
|
||||
UserFilter::ORDER_REGISTRATION_TIME => UserFilter::ORDER_DESC,
|
||||
UserFilter::ORDER_NAME => UserFilter::ORDER_DESC],
|
||||
$filter->getOrder());
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue