use Exception;
use ReferenceLinkDB;
+use Shaarli\Legacy\LegacyLinkDB;
+use Shaarli\Legacy\LegacyLinkFilter;
/**
- * Class LinkFilterTest.
+ * Class LegacyLinkFilterTest.
*/
-class LinkFilterTest extends \PHPUnit\Framework\TestCase
+class LegacyLinkFilterTest extends \PHPUnit\Framework\TestCase
{
/**
* @var string Test datastore path.
*/
protected static $testDatastore = 'sandbox/datastore.php';
/**
- * @var LinkFilter instance.
+ * @var BookmarkFilter instance.
*/
protected static $linkFilter;
protected static $refDB;
/**
- * @var LinkDB instance
+ * @var LegacyLinkDB instance
*/
protected static $linkDB;
*/
public static function setUpBeforeClass()
{
- self::$refDB = new ReferenceLinkDB();
+ self::$refDB = new ReferenceLinkDB(true);
self::$refDB->write(self::$testDatastore);
- self::$linkDB = new LinkDB(self::$testDatastore, true, false);
- self::$linkFilter = new LinkFilter(self::$linkDB);
+ self::$linkDB = new LegacyLinkDB(self::$testDatastore, true, false);
+ self::$linkFilter = new LegacyLinkFilter(self::$linkDB);
}
/**
$this->assertEquals(
ReferenceLinkDB::$NB_LINKS_TOTAL,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, ''))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, ''))
);
$this->assertEquals(
self::$refDB->countUntaggedLinks(),
count(
self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG,
+ LegacyLinkFilter::$FILTER_TAG,
/*$request=*/
'',
/*$casesensitive=*/
$this->assertEquals(
ReferenceLinkDB::$NB_LINKS_TOTAL,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, ''))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, ''))
);
}
/**
- * Filter links using a tag
+ * Filter bookmarks using a tag
*/
public function testFilterOneTag()
{
$this->assertEquals(
4,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'web', false))
);
$this->assertEquals(
4,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'all'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'web', false, 'all'))
);
$this->assertEquals(
4,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'default-blabla'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'web', false, 'default-blabla'))
);
// Private only.
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'private'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'web', false, 'private'))
);
// Public only.
$this->assertEquals(
3,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'web', false, 'public'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'web', false, 'public'))
);
}
/**
- * Filter links using a tag - case-sensitive
+ * Filter bookmarks using a tag - case-sensitive
*/
public function testFilterCaseSensitiveTag()
{
$this->assertEquals(
0,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'mercurial', true))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'mercurial', true))
);
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'Mercurial', true))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'Mercurial', true))
);
}
/**
- * Filter links using a tag combination
+ * Filter bookmarks using a tag combination
*/
public function testFilterMultipleTags()
{
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'dev cartoon', false))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'dev cartoon', false))
);
}
/**
- * Filter links using a non-existent tag
+ * Filter bookmarks using a non-existent tag
*/
public function testFilterUnknownTag()
{
$this->assertEquals(
0,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'null', false))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'null', false))
);
}
/**
- * Return links for a given day
+ * Return bookmarks for a given day
*/
public function testFilterDay()
{
$this->assertEquals(
4,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20121206'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '20121206'))
);
}
{
$this->assertEquals(
0,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '19700101'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '19700101'))
);
}
*/
public function testFilterInvalidDayWithChars()
{
- self::$linkFilter->filter(LinkFilter::$FILTER_DAY, 'Rainy day, dream away');
+ self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, 'Rainy day, dream away');
}
/**
*/
public function testFilterInvalidDayDigits()
{
- self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20');
+ self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '20');
}
/**
*/
public function testFilterSmallHash()
{
- $links = self::$linkFilter->filter(LinkFilter::$FILTER_HASH, 'IuWvgA');
+ $links = self::$linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, 'IuWvgA');
$this->assertEquals(
1,
/**
* No link for this hash
*
- * @expectedException \Shaarli\Bookmark\Exception\LinkNotFoundException
+ * @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException
*/
public function testFilterUnknownSmallHash()
{
- self::$linkFilter->filter(LinkFilter::$FILTER_HASH, 'Iblaah');
+ self::$linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, 'Iblaah');
}
/**
{
$this->assertEquals(
0,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'azertyuiop'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'azertyuiop'))
);
}
{
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'ars.userfriendly.org'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'ars.userfriendly.org'))
);
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'ars org'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'ars org'))
);
}
// use miscellaneous cases
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'userfriendly -'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'userfriendly -'))
);
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'UserFriendly -'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'UserFriendly -'))
);
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'uSeRFrIendlY -'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'uSeRFrIendlY -'))
);
// use miscellaneous case and offset
$this->assertEquals(
2,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'RFrIendL'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'RFrIendL'))
);
}
{
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'publishing media'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'publishing media'))
);
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'mercurial w3c'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'mercurial w3c'))
);
$this->assertEquals(
3,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '"free software"'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, '"free software"'))
);
}
{
$this->assertEquals(
6,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'web'))
);
$this->assertEquals(
6,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', 'all'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'web', 'all'))
);
$this->assertEquals(
6,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', 'bla'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'web', 'bla'))
);
// Private only.
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', false, 'private'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'web', false, 'private'))
);
// Public only.
$this->assertEquals(
5,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'web', false, 'public'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'web', false, 'public'))
);
}
{
$this->assertEquals(
3,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free software'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'free software'))
);
}
{
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free -gnu'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, 'free -gnu'))
);
$this->assertEquals(
ReferenceLinkDB::$NB_LINKS_TOTAL - 1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-revolution'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TEXT, '-revolution'))
);
}
$this->assertEquals(
2,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TEXT,
'"Free Software " stallman "read this" @website stuff'
))
);
$this->assertEquals(
1,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TEXT,
'"free software " stallman "read this" -beard @website stuff'
))
);
$this->assertEquals(
0,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TEXT,
'"designer naming"'
))
);
$this->assertEquals(
0,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TEXT,
'"designernaming"'
))
);
{
$this->assertEquals(
1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'gnu -free'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, 'gnu -free'))
);
$this->assertEquals(
ReferenceLinkDB::$NB_LINKS_TOTAL - 1,
- count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free'))
+ count(self::$linkFilter->filter(LegacyLinkFilter::$FILTER_TAG, '-free'))
);
}
$this->assertEquals(
1,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT,
array($tags, $terms)
))
);
$this->assertEquals(
2,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT,
array('', $terms)
))
);
$this->assertEquals(
1,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT,
array(false, 'PSR-2')
))
);
$this->assertEquals(
1,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT,
array($tags, '')
))
);
$this->assertEquals(
ReferenceLinkDB::$NB_LINKS_TOTAL,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT,
+ LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT,
''
))
);
}
/**
- * Filter links by #hashtag.
+ * Filter bookmarks by #hashtag.
*/
public function testFilterByHashtag()
{
$this->assertEquals(
3,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG,
+ LegacyLinkFilter::$FILTER_TAG,
$hashtag
))
);
$this->assertEquals(
1,
count(self::$linkFilter->filter(
- LinkFilter::$FILTER_TAG,
+ LegacyLinkFilter::$FILTER_TAG,
$hashtag,
false,
'private'