X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FLinkFilterTest.php;h=eb54c3591af12fb6111389d34d55b5979149bc10;hb=00af48d9d20af1ce51c8ad42fe354fafc9ceb8a3;hp=37d5ca306e4f128edd350e1f88542fab7880ea84;hpb=89dcbe52775bac8d544448ff4f80b6256875de91;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/LinkFilterTest.php b/tests/LinkFilterTest.php index 37d5ca30..eb54c359 100644 --- a/tests/LinkFilterTest.php +++ b/tests/LinkFilterTest.php @@ -7,6 +7,10 @@ require_once 'application/LinkFilter.php'; */ class LinkFilterTest extends PHPUnit_Framework_TestCase { + /** + * @var string Test datastore path. + */ + protected static $testDatastore = 'sandbox/datastore.php'; /** * @var LinkFilter instance. */ @@ -17,13 +21,20 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase */ protected static $refDB; + /** + * @var LinkDB instance + */ + protected static $linkDB; + /** * Instanciate linkFilter with ReferenceLinkDB data. */ public static function setUpBeforeClass() { self::$refDB = new ReferenceLinkDB(); - self::$linkFilter = new LinkFilter(self::$refDB->getLinks()); + self::$refDB->write(self::$testDatastore); + self::$linkDB = new LinkDB(self::$testDatastore, true, false); + self::$linkFilter = new LinkFilter(self::$linkDB); } /** @@ -63,6 +74,19 @@ 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, '')) @@ -146,7 +170,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase public function testFilterDay() { $this->assertEquals( - 3, + 4, count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20121206')) ); } @@ -230,7 +254,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase 2, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'ars.userfriendly.org')) ); - + $this->assertEquals( 2, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'ars org')) @@ -272,16 +296,16 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'publishing media')) ); - + $this->assertEquals( 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'mercurial w3c')) ); - + $this->assertEquals( 3, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '"free software"')) - ); + ); } /** @@ -339,7 +363,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase ); $this->assertEquals( - 7, + ReferenceLinkDB::$NB_LINKS_TOTAL - 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-revolution')) ); } @@ -399,7 +423,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase ); $this->assertEquals( - 7, + ReferenceLinkDB::$NB_LINKS_TOTAL - 1, count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free')) ); } @@ -425,6 +449,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(