namespacing: \Shaarli\Bookmark\LinkDB
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
This commit is contained in:
parent
a0c4dbd91c
commit
f24896b237
32 changed files with 115 additions and 77 deletions
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class LinkFilter.
|
* Class LinkFilter.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get cURL callback function for CURLOPT_WRITEFUNCTION
|
* Get cURL callback function for CURLOPT_WRITEFUNCTION
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Psr\Log\LogLevel;
|
use Psr\Log\LogLevel;
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
use Shaarli\History;
|
use Shaarli\History;
|
||||||
use Shaarli\NetscapeBookmarkParser\NetscapeBookmarkParser;
|
use Shaarli\NetscapeBookmarkParser\NetscapeBookmarkParser;
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use Shaarli\Config\ConfigJson;
|
use Shaarli\Config\ConfigJson;
|
||||||
use Shaarli\Config\ConfigPhp;
|
use Shaarli\Config\ConfigPhp;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
|
|
|
@ -127,7 +127,7 @@ protected function checkToken($request)
|
||||||
*/
|
*/
|
||||||
protected function setLinkDb($conf)
|
protected function setLinkDb($conf)
|
||||||
{
|
{
|
||||||
$linkDb = new \LinkDB(
|
$linkDb = new \Shaarli\Bookmark\LinkDB(
|
||||||
$conf->get('resource.datastore'),
|
$conf->get('resource.datastore'),
|
||||||
true,
|
true,
|
||||||
$conf->get('privacy.hide_public_links'),
|
$conf->get('privacy.hide_public_links'),
|
||||||
|
|
|
@ -25,7 +25,7 @@ abstract class ApiController
|
||||||
protected $conf;
|
protected $conf;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \LinkDB
|
* @var \Shaarli\Bookmark\LinkDB
|
||||||
*/
|
*/
|
||||||
protected $linkDb;
|
protected $linkDb;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace Shaarli\Bookmark;
|
||||||
|
|
||||||
|
use ArrayAccess;
|
||||||
|
use Countable;
|
||||||
|
use DateTime;
|
||||||
|
use Iterator;
|
||||||
|
use LinkFilter;
|
||||||
|
use LinkNotFoundException;
|
||||||
use Shaarli\Exceptions\IOException;
|
use Shaarli\Exceptions\IOException;
|
||||||
use Shaarli\FileUtils;
|
use Shaarli\FileUtils;
|
||||||
|
|
||||||
|
@ -112,6 +120,7 @@ public function __construct(
|
||||||
$redirector = '',
|
$redirector = '',
|
||||||
$redirectorEncode = true
|
$redirectorEncode = true
|
||||||
) {
|
) {
|
||||||
|
|
||||||
$this->datastore = $datastore;
|
$this->datastore = $datastore;
|
||||||
$this->loggedIn = $isLoggedIn;
|
$this->loggedIn = $isLoggedIn;
|
||||||
$this->hidePublicLinks = $hidePublicLinks;
|
$this->hidePublicLinks = $hidePublicLinks;
|
||||||
|
@ -141,7 +150,7 @@ public function offsetSet($offset, $value)
|
||||||
if (!isset($value['id']) || empty($value['url'])) {
|
if (!isset($value['id']) || empty($value['url'])) {
|
||||||
die(t('Internal Error: A link should always have an id and URL.'));
|
die(t('Internal Error: A link should always have an id and URL.'));
|
||||||
}
|
}
|
||||||
if (($offset !== null && ! is_int($offset)) || ! is_int($value['id'])) {
|
if (($offset !== null && !is_int($offset)) || !is_int($value['id'])) {
|
||||||
die(t('You must specify an integer as a key.'));
|
die(t('You must specify an integer as a key.'));
|
||||||
}
|
}
|
||||||
if ($offset !== null && $offset !== $value['id']) {
|
if ($offset !== null && $offset !== $value['id']) {
|
||||||
|
@ -251,31 +260,31 @@ private function check()
|
||||||
$this->links = array();
|
$this->links = array();
|
||||||
$link = array(
|
$link = array(
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'title'=> t('The personal, minimalist, super-fast, database free, bookmarking service'),
|
'title' => t('The personal, minimalist, super-fast, database free, bookmarking service'),
|
||||||
'url'=>'https://shaarli.readthedocs.io',
|
'url' => 'https://shaarli.readthedocs.io',
|
||||||
'description'=>t(
|
'description' => t(
|
||||||
'Welcome to Shaarli! This is your first public bookmark. '
|
'Welcome to Shaarli! This is your first public bookmark. '
|
||||||
.'To edit or delete me, you must first login.
|
. 'To edit or delete me, you must first login.
|
||||||
|
|
||||||
To learn how to use Shaarli, consult the link "Documentation" at the bottom of this page.
|
To learn how to use Shaarli, consult the link "Documentation" at the bottom of this page.
|
||||||
|
|
||||||
You use the community supported version of the original Shaarli project, by Sebastien Sauvage.'
|
You use the community supported version of the original Shaarli project, by Sebastien Sauvage.'
|
||||||
),
|
),
|
||||||
'private'=>0,
|
'private' => 0,
|
||||||
'created'=> new DateTime(),
|
'created' => new DateTime(),
|
||||||
'tags'=>'opensource software'
|
'tags' => 'opensource software'
|
||||||
);
|
);
|
||||||
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
||||||
$this->links[1] = $link;
|
$this->links[1] = $link;
|
||||||
|
|
||||||
$link = array(
|
$link = array(
|
||||||
'id' => 0,
|
'id' => 0,
|
||||||
'title'=> t('My secret stuff... - Pastebin.com'),
|
'title' => t('My secret stuff... - Pastebin.com'),
|
||||||
'url'=>'http://sebsauvage.net/paste/?8434b27936c09649#bR7XsXhoTiLcqCpQbmOpBi3rq2zzQUC5hBI7ZT1O3x8=',
|
'url' => 'http://sebsauvage.net/paste/?8434b27936c09649#bR7XsXhoTiLcqCpQbmOpBi3rq2zzQUC5hBI7ZT1O3x8=',
|
||||||
'description'=> t('Shhhh! I\'m a private link only YOU can see. You can delete me too.'),
|
'description' => t('Shhhh! I\'m a private link only YOU can see. You can delete me too.'),
|
||||||
'private'=>1,
|
'private' => 1,
|
||||||
'created'=> new DateTime('1 minute ago'),
|
'created' => new DateTime('1 minute ago'),
|
||||||
'tags'=>'secretstuff',
|
'tags' => 'secretstuff',
|
||||||
);
|
);
|
||||||
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
||||||
$this->links[0] = $link;
|
$this->links[0] = $link;
|
||||||
|
@ -301,7 +310,7 @@ private function read()
|
||||||
|
|
||||||
$toremove = array();
|
$toremove = array();
|
||||||
foreach ($this->links as $key => &$link) {
|
foreach ($this->links as $key => &$link) {
|
||||||
if (! $this->loggedIn && $link['private'] != 0) {
|
if (!$this->loggedIn && $link['private'] != 0) {
|
||||||
// Transition for not upgraded databases.
|
// Transition for not upgraded databases.
|
||||||
unset($this->links[$key]);
|
unset($this->links[$key]);
|
||||||
continue;
|
continue;
|
||||||
|
@ -311,7 +320,7 @@ private function read()
|
||||||
sanitizeLink($link);
|
sanitizeLink($link);
|
||||||
|
|
||||||
// Remove private tags if the user is not logged in.
|
// Remove private tags if the user is not logged in.
|
||||||
if (! $this->loggedIn) {
|
if (!$this->loggedIn) {
|
||||||
$link['tags'] = preg_replace('/(^|\s+)\.[^($|\s)]+\s*/', ' ', $link['tags']);
|
$link['tags'] = preg_replace('/(^|\s+)\.[^($|\s)]+\s*/', ' ', $link['tags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -328,10 +337,10 @@ private function read()
|
||||||
}
|
}
|
||||||
|
|
||||||
// To be able to load links before running the update, and prepare the update
|
// To be able to load links before running the update, and prepare the update
|
||||||
if (! isset($link['created'])) {
|
if (!isset($link['created'])) {
|
||||||
$link['id'] = $link['linkdate'];
|
$link['id'] = $link['linkdate'];
|
||||||
$link['created'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['linkdate']);
|
$link['created'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['linkdate']);
|
||||||
if (! empty($link['updated'])) {
|
if (!empty($link['updated'])) {
|
||||||
$link['updated'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['updated']);
|
$link['updated'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['updated']);
|
||||||
}
|
}
|
||||||
$link['shorturl'] = smallHash($link['linkdate']);
|
$link['shorturl'] = smallHash($link['linkdate']);
|
||||||
|
@ -432,6 +441,7 @@ public function filterSearch(
|
||||||
$visibility = 'all',
|
$visibility = 'all',
|
||||||
$untaggedonly = false
|
$untaggedonly = false
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Filter link database according to parameters.
|
// Filter link database according to parameters.
|
||||||
$searchtags = isset($filterRequest['searchtags']) ? escape($filterRequest['searchtags']) : '';
|
$searchtags = isset($filterRequest['searchtags']) ? escape($filterRequest['searchtags']) : '';
|
||||||
$searchterm = isset($filterRequest['searchterm']) ? escape($filterRequest['searchterm']) : '';
|
$searchterm = isset($filterRequest['searchterm']) ? escape($filterRequest['searchterm']) : '';
|
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Shaarli\Feed;
|
namespace Shaarli\Feed;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple cache system, mainly for the RSS/ATOM feeds
|
* Simple cache system, mainly for the RSS/ATOM feeds
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
namespace Shaarli\Feed;
|
namespace Shaarli\Feed;
|
||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use LinkDB;
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FeedBuilder class.
|
* FeedBuilder class.
|
||||||
|
@ -32,7 +32,7 @@ class FeedBuilder
|
||||||
public static $DEFAULT_NB_LINKS = 50;
|
public static $DEFAULT_NB_LINKS = 50;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var LinkDB instance.
|
* @var \Shaarli\Bookmark\LinkDB instance.
|
||||||
*/
|
*/
|
||||||
protected $linkDB;
|
protected $linkDB;
|
||||||
|
|
||||||
|
@ -79,11 +79,12 @@ class FeedBuilder
|
||||||
/**
|
/**
|
||||||
* Feed constructor.
|
* Feed constructor.
|
||||||
*
|
*
|
||||||
* @param LinkDB $linkDB LinkDB instance.
|
* @param \Shaarli\Bookmark\LinkDB $linkDB LinkDB instance.
|
||||||
* @param string $feedType Type of feed.
|
* @param string $feedType Type of feed.
|
||||||
* @param array $serverInfo $_SERVER.
|
* @param array $serverInfo $_SERVER.
|
||||||
* @param array $userInput $_GET.
|
* @param array $userInput $_GET.
|
||||||
* @param boolean $isLoggedIn True if the user is currently logged in, false otherwise.
|
* @param boolean $isLoggedIn True if the user is currently logged in,
|
||||||
|
* false otherwise.
|
||||||
*/
|
*/
|
||||||
public function __construct($linkDB, $feedType, $serverInfo, $userInput, $isLoggedIn)
|
public function __construct($linkDB, $feedType, $serverInfo, $userInput, $isLoggedIn)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use ApplicationUtils;
|
use ApplicationUtils;
|
||||||
use Exception;
|
use Exception;
|
||||||
use LinkDB;
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use RainTPL;
|
use RainTPL;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
use Shaarli\Thumbnailer;
|
use Shaarli\Thumbnailer;
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
"Shaarli\\Api\\": "application/api/",
|
"Shaarli\\Api\\": "application/api/",
|
||||||
"Shaarli\\Api\\Controllers\\": "application/api/controllers",
|
"Shaarli\\Api\\Controllers\\": "application/api/controllers",
|
||||||
"Shaarli\\Api\\Exceptions\\": "application/api/exceptions",
|
"Shaarli\\Api\\Exceptions\\": "application/api/exceptions",
|
||||||
|
"Shaarli\\Bookmark\\": "application/bookmark",
|
||||||
"Shaarli\\Config\\": "application/config/",
|
"Shaarli\\Config\\": "application/config/",
|
||||||
"Shaarli\\Config\\Exception\\": "application/config/exception",
|
"Shaarli\\Config\\Exception\\": "application/config/exception",
|
||||||
"Shaarli\\Exceptions\\": "application/exceptions",
|
"Shaarli\\Exceptions\\": "application/exceptions",
|
||||||
|
|
|
@ -63,7 +63,6 @@
|
||||||
require_once 'application/http/UrlUtils.php';
|
require_once 'application/http/UrlUtils.php';
|
||||||
require_once 'application/FileUtils.php';
|
require_once 'application/FileUtils.php';
|
||||||
require_once 'application/History.php';
|
require_once 'application/History.php';
|
||||||
require_once 'application/LinkDB.php';
|
|
||||||
require_once 'application/LinkFilter.php';
|
require_once 'application/LinkFilter.php';
|
||||||
require_once 'application/LinkUtils.php';
|
require_once 'application/LinkUtils.php';
|
||||||
require_once 'application/NetscapeBookmarkUtils.php';
|
require_once 'application/NetscapeBookmarkUtils.php';
|
||||||
|
@ -72,6 +71,8 @@
|
||||||
require_once 'application/PluginManager.php';
|
require_once 'application/PluginManager.php';
|
||||||
require_once 'application/Router.php';
|
require_once 'application/Router.php';
|
||||||
require_once 'application/Updater.php';
|
require_once 'application/Updater.php';
|
||||||
|
|
||||||
|
use \Shaarli\Bookmark\LinkDB;
|
||||||
use \Shaarli\Config\ConfigManager;
|
use \Shaarli\Config\ConfigManager;
|
||||||
use \Shaarli\Feed\CachedPage;
|
use \Shaarli\Feed\CachedPage;
|
||||||
use \Shaarli\Feed\FeedBuilder;
|
use \Shaarli\Feed\FeedBuilder;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
require_once 'application/LinkFilter.php';
|
require_once 'application/LinkFilter.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
require_once 'application/NetscapeBookmarkUtils.php';
|
require_once 'application/NetscapeBookmarkUtils.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
require_once 'application/NetscapeBookmarkUtils.php';
|
require_once 'application/NetscapeBookmarkUtils.php';
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
use Shaarli\History;
|
use Shaarli\History;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
require_once 'application/Updater.php';
|
require_once 'application/Updater.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use Shaarli\Config\ConfigJson;
|
use Shaarli\Config\ConfigJson;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
use Shaarli\Config\ConfigPhp;
|
use Shaarli\Config\ConfigPhp;
|
||||||
|
|
|
@ -53,7 +53,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = null;
|
$this->container['history'] = null;
|
||||||
|
|
||||||
$this->controller = new Info($this->container);
|
$this->controller = new Info($this->container);
|
||||||
|
|
|
@ -32,7 +32,7 @@ class DeleteLinkTest extends \PHPUnit_Framework_TestCase
|
||||||
protected $refDB = null;
|
protected $refDB = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \LinkDB instance.
|
* @var \Shaarli\Bookmark\LinkDB instance.
|
||||||
*/
|
*/
|
||||||
protected $linkDB;
|
protected $linkDB;
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public function setUp()
|
||||||
$this->conf = new ConfigManager('tests/utils/config/configJson');
|
$this->conf = new ConfigManager('tests/utils/config/configJson');
|
||||||
$this->refDB = new \ReferenceLinkDB();
|
$this->refDB = new \ReferenceLinkDB();
|
||||||
$this->refDB->write(self::$testDatastore);
|
$this->refDB->write(self::$testDatastore);
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$refHistory = new \ReferenceHistory();
|
$refHistory = new \ReferenceHistory();
|
||||||
$refHistory->write(self::$testHistory);
|
$refHistory->write(self::$testHistory);
|
||||||
$this->history = new \Shaarli\History(self::$testHistory);
|
$this->history = new \Shaarli\History(self::$testHistory);
|
||||||
|
@ -96,7 +96,7 @@ public function testDeleteLinkValid()
|
||||||
$this->assertEquals(204, $response->getStatusCode());
|
$this->assertEquals(204, $response->getStatusCode());
|
||||||
$this->assertEmpty((string) $response->getBody());
|
$this->assertEmpty((string) $response->getBody());
|
||||||
|
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->assertFalse(isset($this->linkDB[$id]));
|
$this->assertFalse(isset($this->linkDB[$id]));
|
||||||
|
|
||||||
$historyEntry = $this->history->getHistory()[0];
|
$historyEntry = $this->history->getHistory()[0];
|
||||||
|
|
|
@ -61,7 +61,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = null;
|
$this->container['history'] = null;
|
||||||
|
|
||||||
$this->controller = new Links($this->container);
|
$this->controller = new Links($this->container);
|
||||||
|
@ -108,7 +108,7 @@ public function testGetLinkId()
|
||||||
$this->assertEquals('sTuff', $data['tags'][0]);
|
$this->assertEquals('sTuff', $data['tags'][0]);
|
||||||
$this->assertEquals(false, $data['private']);
|
$this->assertEquals(false, $data['private']);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20150310_114651')->format(\DateTime::ATOM),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20150310_114651')->format(\DateTime::ATOM),
|
||||||
$data['created']
|
$data['created']
|
||||||
);
|
);
|
||||||
$this->assertEmpty($data['updated']);
|
$this->assertEmpty($data['updated']);
|
||||||
|
|
|
@ -60,7 +60,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = null;
|
$this->container['history'] = null;
|
||||||
|
|
||||||
$this->controller = new Links($this->container);
|
$this->controller = new Links($this->container);
|
||||||
|
@ -114,7 +114,7 @@ public function testGetLinks()
|
||||||
$this->assertEquals('sTuff', $first['tags'][0]);
|
$this->assertEquals('sTuff', $first['tags'][0]);
|
||||||
$this->assertEquals(false, $first['private']);
|
$this->assertEquals(false, $first['private']);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20150310_114651')->format(\DateTime::ATOM),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20150310_114651')->format(\DateTime::ATOM),
|
||||||
$first['created']
|
$first['created']
|
||||||
);
|
);
|
||||||
$this->assertEmpty($first['updated']);
|
$this->assertEmpty($first['updated']);
|
||||||
|
@ -125,7 +125,7 @@ public function testGetLinks()
|
||||||
|
|
||||||
// Update date
|
// Update date
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20160803_093033')->format(\DateTime::ATOM),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20160803_093033')->format(\DateTime::ATOM),
|
||||||
$link['updated']
|
$link['updated']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = new \Shaarli\History(self::$testHistory);
|
$this->container['history'] = new \Shaarli\History(self::$testHistory);
|
||||||
|
|
||||||
$this->controller = new Links($this->container);
|
$this->controller = new Links($this->container);
|
||||||
|
@ -210,11 +210,11 @@ public function testPostLinkDuplicate()
|
||||||
$this->assertEquals(['gnu', 'media', 'web', '.hidden', 'hashtag'], $data['tags']);
|
$this->assertEquals(['gnu', 'media', 'web', '.hidden', 'hashtag'], $data['tags']);
|
||||||
$this->assertEquals(false, $data['private']);
|
$this->assertEquals(false, $data['private']);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20130614_184135'),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20130614_184135'),
|
||||||
\DateTime::createFromFormat(\DateTime::ATOM, $data['created'])
|
\DateTime::createFromFormat(\DateTime::ATOM, $data['created'])
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20130615_184230'),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20130615_184230'),
|
||||||
\DateTime::createFromFormat(\DateTime::ATOM, $data['updated'])
|
\DateTime::createFromFormat(\DateTime::ATOM, $data['updated'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = new \Shaarli\History(self::$testHistory);
|
$this->container['history'] = new \Shaarli\History(self::$testHistory);
|
||||||
|
|
||||||
$this->controller = new Links($this->container);
|
$this->controller = new Links($this->container);
|
||||||
|
@ -198,11 +198,11 @@ public function testPutLinkDuplicate()
|
||||||
$this->assertEquals(['gnu', 'media', 'web', '.hidden', 'hashtag'], $data['tags']);
|
$this->assertEquals(['gnu', 'media', 'web', '.hidden', 'hashtag'], $data['tags']);
|
||||||
$this->assertEquals(false, $data['private']);
|
$this->assertEquals(false, $data['private']);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20130614_184135'),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20130614_184135'),
|
||||||
\DateTime::createFromFormat(\DateTime::ATOM, $data['created'])
|
\DateTime::createFromFormat(\DateTime::ATOM, $data['created'])
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
\DateTime::createFromFormat(\LinkDB::LINK_DATE_FORMAT, '20130615_184230'),
|
\DateTime::createFromFormat(\Shaarli\Bookmark\LinkDB::LINK_DATE_FORMAT, '20130615_184230'),
|
||||||
\DateTime::createFromFormat(\DateTime::ATOM, $data['updated'])
|
\DateTime::createFromFormat(\DateTime::ATOM, $data['updated'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ class DeleteTagTest extends \PHPUnit_Framework_TestCase
|
||||||
protected $refDB = null;
|
protected $refDB = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \LinkDB instance.
|
* @var \Shaarli\Bookmark\LinkDB instance.
|
||||||
*/
|
*/
|
||||||
protected $linkDB;
|
protected $linkDB;
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public function setUp()
|
||||||
$this->conf = new ConfigManager('tests/utils/config/configJson');
|
$this->conf = new ConfigManager('tests/utils/config/configJson');
|
||||||
$this->refDB = new \ReferenceLinkDB();
|
$this->refDB = new \ReferenceLinkDB();
|
||||||
$this->refDB->write(self::$testDatastore);
|
$this->refDB->write(self::$testDatastore);
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$refHistory = new \ReferenceHistory();
|
$refHistory = new \ReferenceHistory();
|
||||||
$refHistory->write(self::$testHistory);
|
$refHistory->write(self::$testHistory);
|
||||||
$this->history = new \Shaarli\History(self::$testHistory);
|
$this->history = new \Shaarli\History(self::$testHistory);
|
||||||
|
@ -97,7 +97,7 @@ public function testDeleteTagValid()
|
||||||
$this->assertEquals(204, $response->getStatusCode());
|
$this->assertEquals(204, $response->getStatusCode());
|
||||||
$this->assertEmpty((string) $response->getBody());
|
$this->assertEmpty((string) $response->getBody());
|
||||||
|
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$tags = $this->linkDB->linksCountPerTag();
|
$tags = $this->linkDB->linksCountPerTag();
|
||||||
$this->assertFalse(isset($tags[$tagName]));
|
$this->assertFalse(isset($tags[$tagName]));
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ public function testDeleteTagCaseSensitivity()
|
||||||
$this->assertEquals(204, $response->getStatusCode());
|
$this->assertEquals(204, $response->getStatusCode());
|
||||||
$this->assertEmpty((string) $response->getBody());
|
$this->assertEmpty((string) $response->getBody());
|
||||||
|
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$tags = $this->linkDB->linksCountPerTag();
|
$tags = $this->linkDB->linksCountPerTag();
|
||||||
$this->assertFalse(isset($tags[$tagName]));
|
$this->assertFalse(isset($tags[$tagName]));
|
||||||
$this->assertTrue($tags[strtolower($tagName)] > 0);
|
$this->assertTrue($tags[strtolower($tagName)] > 0);
|
||||||
|
|
|
@ -59,7 +59,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
|
$this->container['db'] = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['history'] = null;
|
$this->container['history'] = null;
|
||||||
|
|
||||||
$this->controller = new Tags($this->container);
|
$this->controller = new Tags($this->container);
|
||||||
|
|
|
@ -38,7 +38,7 @@ class GetTagsTest extends \PHPUnit_Framework_TestCase
|
||||||
protected $container;
|
protected $container;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \LinkDB instance.
|
* @var \Shaarli\Bookmark\LinkDB instance.
|
||||||
*/
|
*/
|
||||||
protected $linkDB;
|
protected $linkDB;
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['db'] = $this->linkDB;
|
$this->container['db'] = $this->linkDB;
|
||||||
$this->container['history'] = null;
|
$this->container['history'] = null;
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ class PutTagTest extends \PHPUnit_Framework_TestCase
|
||||||
protected $container;
|
protected $container;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \LinkDB instance.
|
* @var \Shaarli\Bookmark\LinkDB instance.
|
||||||
*/
|
*/
|
||||||
protected $linkDB;
|
protected $linkDB;
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ public function setUp()
|
||||||
|
|
||||||
$this->container = new Container();
|
$this->container = new Container();
|
||||||
$this->container['conf'] = $this->conf;
|
$this->container['conf'] = $this->conf;
|
||||||
$this->linkDB = new \LinkDB(self::$testDatastore, true, false);
|
$this->linkDB = new \Shaarli\Bookmark\LinkDB(self::$testDatastore, true, false);
|
||||||
$this->container['db'] = $this->linkDB;
|
$this->container['db'] = $this->linkDB;
|
||||||
$this->container['history'] = $this->history;
|
$this->container['history'] = $this->history;
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,15 @@
|
||||||
* Link datastore tests
|
* Link datastore tests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace Shaarli\Bookmark;
|
||||||
|
|
||||||
|
use DateTime;
|
||||||
|
use LinkNotFoundException;
|
||||||
|
use ReferenceLinkDB;
|
||||||
|
use ReflectionClass;
|
||||||
|
use Shaarli;
|
||||||
|
|
||||||
require_once 'application/feed/Cache.php';
|
require_once 'application/feed/Cache.php';
|
||||||
require_once 'application/FileUtils.php';
|
|
||||||
require_once 'application/LinkDB.php';
|
|
||||||
require_once 'application/Utils.php';
|
require_once 'application/Utils.php';
|
||||||
require_once 'tests/utils/ReferenceLinkDB.php';
|
require_once 'tests/utils/ReferenceLinkDB.php';
|
||||||
|
|
||||||
|
@ -13,7 +19,7 @@
|
||||||
/**
|
/**
|
||||||
* Unitary tests for LinkDB
|
* Unitary tests for LinkDB
|
||||||
*/
|
*/
|
||||||
class LinkDBTest extends PHPUnit_Framework_TestCase
|
class LinkDBTest extends \PHPUnit\Framework\TestCase
|
||||||
{
|
{
|
||||||
// datastore to test write operations
|
// datastore to test write operations
|
||||||
protected static $testDatastore = 'sandbox/datastore.php';
|
protected static $testDatastore = 'sandbox/datastore.php';
|
||||||
|
@ -73,7 +79,7 @@ protected function setUp()
|
||||||
*/
|
*/
|
||||||
protected static function getMethod($name)
|
protected static function getMethod($name)
|
||||||
{
|
{
|
||||||
$class = new ReflectionClass('LinkDB');
|
$class = new ReflectionClass('Shaarli\Bookmark\LinkDB');
|
||||||
$method = $class->getMethod($name);
|
$method = $class->getMethod($name);
|
||||||
$method->setAccessible(true);
|
$method->setAccessible(true);
|
||||||
return $method;
|
return $method;
|
||||||
|
@ -187,12 +193,12 @@ public function testSave()
|
||||||
|
|
||||||
$link = array(
|
$link = array(
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
'title'=>'an additional link',
|
'title' => 'an additional link',
|
||||||
'url'=>'http://dum.my',
|
'url' => 'http://dum.my',
|
||||||
'description'=>'One more',
|
'description' => 'One more',
|
||||||
'private'=>0,
|
'private' => 0,
|
||||||
'created'=> DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, '20150518_190000'),
|
'created' => DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, '20150518_190000'),
|
||||||
'tags'=>'unit test'
|
'tags' => 'unit test'
|
||||||
);
|
);
|
||||||
$testDB[$link['id']] = $link;
|
$testDB[$link['id']] = $link;
|
||||||
$testDB->save('tests');
|
$testDB->save('tests');
|
|
@ -3,11 +3,9 @@
|
||||||
namespace Shaarli\Feed;
|
namespace Shaarli\Feed;
|
||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use LinkDB;
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use ReferenceLinkDB;
|
use ReferenceLinkDB;
|
||||||
|
|
||||||
require_once 'application/LinkDB.php';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FeedBuilderTest class.
|
* FeedBuilderTest class.
|
||||||
*
|
*
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
namespace Shaarli\Http;
|
namespace Shaarli\Http;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unitary tests for URL utilities
|
* Unitary tests for URL utilities
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
use Shaarli\Config\ConfigManager;
|
use Shaarli\Config\ConfigManager;
|
||||||
|
|
||||||
require_once 'plugins/isso/isso.php';
|
require_once 'plugins/isso/isso.php';
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Shaarli\Bookmark\LinkDB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Populates a reference datastore to test LinkDB
|
* Populates a reference datastore to test LinkDB
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue