X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Futils%2FReferenceLinkDB.php;h=6b16c9e8759600ef0e9430408ad8bf5b69dd1ca3;hb=c3dfd8995921083ff7250c25d0b6ab1184b91aff;hp=2cb05baeb8a8406c060691aea1dc30eacde3249a;hpb=4a5827ff5adadcd8c1ef9231e485f77c0c376c03;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php index 2cb05bae..6b16c9e8 100644 --- a/tests/utils/ReferenceLinkDB.php +++ b/tests/utils/ReferenceLinkDB.php @@ -4,100 +4,136 @@ */ class ReferenceLinkDB { - private $links = array(); - private $publicCount = 0; - private $privateCount = 0; + public static $NB_LINKS_TOTAL = 8; + + private $_links = array(); + private $_publicCount = 0; + private $_privateCount = 0; /** * Populates the test DB with reference data */ - function __construct() + public function __construct() { $this->addLink( - 'Free as in Freedom 2.0', + 41, + 'Link title: @website', + '?WDWyig', + 'Stallman has a beard and is part of the Free Software Foundation (or not). Seriously, read this. #hashtag', + 0, + DateTime::createFromFormat('Ymd_His', '20150310_114651'), + 'sTuff', + null, + 'WDWyig' + ); + + $this->addLink( + 42, + 'Note: I have a big ID but an old date', + '?WDWyig', + 'Used to test links reordering.', + 0, + DateTime::createFromFormat('Ymd_His', '20100310_101010'), + 'ut' + ); + + $this->addLink( + 8, + 'Free as in Freedom 2.0 @website', 'https://static.fsf.org/nosvn/faif-2.0.pdf', - 'Richard Stallman and the Free Software Revolution', + 'Richard Stallman and the Free Software Revolution. Read this. #hashtag', 0, - '20150310_114633', - 'free gnu software stallman' + DateTime::createFromFormat('Ymd_His', '20150310_114633'), + 'free gnu software stallman -exclude stuff hashtag', + DateTime::createFromFormat('Ymd_His', '20160803_093033') ); $this->addLink( + 7, 'MediaGoblin', 'http://mediagoblin.org/', - 'A free software media publishing platform', + 'A free software media publishing platform #hashtagOther', 0, - '20130614_184135', - 'gnu media web' + DateTime::createFromFormat('Ymd_His', '20130614_184135'), + 'gnu media web .hidden hashtag', + null, + 'IuWvgA' ); $this->addLink( + 6, 'w3c-markup-validator', 'https://dvcs.w3.org/hg/markup-validator/summary', - 'Mercurial repository for the W3C Validator', + 'Mercurial repository for the W3C Validator #private', 1, - '20141125_084734', + DateTime::createFromFormat('Ymd_His', '20141125_084734'), 'css html w3c web Mercurial' ); $this->addLink( + 4, 'UserFriendly - Web Designer', 'http://ars.userfriendly.org/cartoons/?id=20121206', - 'Naming conventions...', + 'Naming conventions... #private', 0, - '20121206_142300', + DateTime::createFromFormat('Ymd_His', '20121206_142300'), 'dev cartoon web' ); $this->addLink( + 1, 'UserFriendly - Samba', 'http://ars.userfriendly.org/cartoons/?id=20010306', 'Tropical printing', 0, - '20121206_172539', + DateTime::createFromFormat('Ymd_His', '20121206_172539'), 'samba cartoon web' ); $this->addLink( + 0, 'Geek and Poke', 'http://geek-and-poke.com/', '', 1, - '20121206_182539', - 'dev cartoon' + DateTime::createFromFormat('Ymd_His', '20121206_182539'), + 'dev cartoon tag1 tag2 tag3 tag4 ' ); } /** * Adds a new link */ - protected function addLink($title, $url, $description, $private, $date, $tags) + protected function addLink($id, $title, $url, $description, $private, $date, $tags, $updated = '', $shorturl = '') { $link = array( + 'id' => $id, 'title' => $title, 'url' => $url, 'description' => $description, 'private' => $private, - 'linkdate' => $date, 'tags' => $tags, + 'created' => $date, + 'updated' => $updated, + 'shorturl' => $shorturl ? $shorturl : smallHash($date->format('Ymd_His') . $id), ); - $this->links[$date] = $link; + $this->_links[$id] = $link; if ($private) { - $this->privateCount++; + $this->_privateCount++; return; } - $this->publicCount++; + $this->_publicCount++; } /** * Writes data to the datastore */ - public function write($filename, $prefix, $suffix) + public function write($filename) { file_put_contents( $filename, - $prefix.base64_encode(gzdeflate(serialize($this->links))).$suffix + '_links))).' */ ?>' ); } @@ -106,7 +142,7 @@ class ReferenceLinkDB */ public function countLinks() { - return $this->publicCount + $this->privateCount; + return $this->_publicCount + $this->_privateCount; } /** @@ -114,7 +150,7 @@ class ReferenceLinkDB */ public function countPublicLinks() { - return $this->publicCount; + return $this->_publicCount; } /** @@ -122,7 +158,21 @@ class ReferenceLinkDB */ public function countPrivateLinks() { - return $this->privateCount; + return $this->_privateCount; + } + + public function getLinks() + { + return $this->_links; + } + + /** + * Setter to override link creation. + * + * @param array $links List of links. + */ + public function setLinks($links) + { + $this->_links = $links; } } -?>