Skip to content

Commit

Permalink
tests: Add SortUtilTest case
Browse files Browse the repository at this point in the history
  • Loading branch information
nilmerg committed Mar 20, 2023
1 parent 5e862ea commit 7be8892
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions tests/SortUtilTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?php

namespace ipl\Tests\Orm;

use ipl\Orm\Common\SortUtil;
use PHPUnit\Framework\TestCase;

class SortUtilTest extends TestCase
{
public function testCreateOrderByWorksFine()
{
$this->assertSame(
[['foo', 'asc'], ['bar', 'desc']],
SortUtil::createOrderBy('foo asc, bar desc')
);

$this->assertSame(
[['foo', null], ['bar', 'desc']],
SortUtil::createOrderBy('foo, bar desc')
);

$this->assertSame(
[['foo', 'asc'], ['bar', 'desc']],
SortUtil::createOrderBy(['foo asc', 'bar desc'])
);

$this->assertSame(
[['foo', null], ['bar', 'desc']],
SortUtil::createOrderBy(['foo', 'bar desc'])
);
}

public function testExplodeSortSpecWorksFine()
{
$this->assertSame(
['foo asc', 'bar desc'],
SortUtil::explodeSortSpec('foo asc, bar desc')
);

$this->assertSame(
['foo', 'bar desc'],
SortUtil::explodeSortSpec('foo, bar desc')
);

$this->assertSame(
['foo asc', 'bar desc'],
SortUtil::explodeSortSpec(['foo asc', 'bar desc'])
);

$this->assertSame(
['foo', 'bar desc'],
SortUtil::explodeSortSpec(['foo', 'bar desc'])
);
}

public function testNormalizeSortSpecWorksFine()
{
$this->assertSame(
'foo asc,bar desc',
SortUtil::normalizeSortSpec(['foo asc', 'bar desc'])
);

$this->assertSame(
'foo,bar desc',
SortUtil::normalizeSortSpec(['foo', 'bar desc'])
);

$this->assertSame(
'foo asc,bar desc',
SortUtil::normalizeSortSpec('foo asc, bar desc')
);

$this->assertSame(
'foo,bar desc',
SortUtil::normalizeSortSpec('foo, bar desc')
);
}

public function testSplitColumnAndDirectionWorksFine()
{
$this->assertSame(
['foo', 'asc'],
SortUtil::splitColumnAndDirection('foo asc')
);

$this->assertSame(
['foo', null],
SortUtil::splitColumnAndDirection('foo')
);
}
}

0 comments on commit 7be8892

Please sign in to comment.