X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FLinkFilterTest.php;h=d796d3a301c469652bbb8bcc6295db0e539417cb;hb=ae7c954b1279981cc23c9f67d88f55bfecc4d828;hp=21d680a5ae59f55532e85e45f67e7abc4e1b31f1;hpb=9cf93bcfc53c36e0dd59fcfc717ac483ee74b35a;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/LinkFilterTest.php b/tests/LinkFilterTest.php index 21d680a5..d796d3a3 100644 --- a/tests/LinkFilterTest.php +++ b/tests/LinkFilterTest.php @@ -12,13 +12,18 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase */ protected static $linkFilter; + /** + * @var ReferenceLinkDB instance + */ + protected static $refDB; + /** * Instanciate linkFilter with ReferenceLinkDB data. */ public static function setUpBeforeClass() { - $refDB = new ReferenceLinkDB(); - self::$linkFilter = new LinkFilter($refDB->getLinks()); + self::$refDB = new ReferenceLinkDB(); + self::$linkFilter = new LinkFilter(self::$refDB->getLinks()); } /** @@ -27,14 +32,30 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase public function testFilter() { $this->assertEquals( - ReferenceLinkDB::$NB_LINKS_TOTAL, + self::$refDB->countLinks(), count(self::$linkFilter->filter('', '')) ); + $this->assertEquals( + self::$refDB->countLinks(), + count(self::$linkFilter->filter('', '', 'all')) + ); + + $this->assertEquals( + self::$refDB->countLinks(), + count(self::$linkFilter->filter('', '', 'randomstr')) + ); + // Private only. $this->assertEquals( - 2, - count(self::$linkFilter->filter('', '', false, true)) + self::$refDB->countPrivateLinks(), + count(self::$linkFilter->filter('', '', false, 'private')) + ); + + // Public only. + $this->assertEquals( + self::$refDB->countPublicLinks(), + count(self::$linkFilter->filter('', '', false, 'public')) ); $this->assertEquals( @@ -42,6 +63,11 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '')) ); + $this->assertEquals( + self::$refDB->countUntaggedLinks(), + count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, /*$request=*/'', /*$casesensitive=*/false, /*$visibility=*/'all', /*$untaggedonly=*/true)) + ); + $this->assertEquals( ReferenceLinkDB::$NB_LINKS_TOTAL, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '')) @@ -58,10 +84,26 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false)) ); + $this->assertEquals( + 4, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'all')) + ); + + $this->assertEquals( + 4, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'default-blabla')) + ); + // Private only. $this->assertEquals( 1, - count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, true)) + count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'private')) + ); + + // Public only. + $this->assertEquals( + 3, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'public')) ); } @@ -109,7 +151,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase public function testFilterDay() { $this->assertEquals( - 3, + 4, count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20121206')) ); } @@ -253,14 +295,30 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase public function testFilterFullTextTags() { $this->assertEquals( - 2, - count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'gnu')) + 6, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web')) + ); + + $this->assertEquals( + 6, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', 'all')) + ); + + $this->assertEquals( + 6, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', 'bla')) ); // Private only. $this->assertEquals( 1, - count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', false, true)) + count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', false, 'private')) + ); + + // Public only. + $this->assertEquals( + 5, + count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', false, 'public')) ); } @@ -286,7 +344,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase ); $this->assertEquals( - 7, + ReferenceLinkDB::$NB_LINKS_TOTAL - 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-revolution')) ); } @@ -346,7 +404,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase ); $this->assertEquals( - 7, + ReferenceLinkDB::$NB_LINKS_TOTAL - 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free')) ); } @@ -372,6 +430,13 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase array('', $terms) )) ); + $this->assertEquals( + 1, + count(self::$linkFilter->filter( + LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT, + array(false, 'PSR-2') + )) + ); $this->assertEquals( 1, count(self::$linkFilter->filter( @@ -409,7 +474,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase LinkFilter::$FILTER_TAG, $hashtag, false, - true + 'private' )) ); }