Use NetscapeBookmarkUtils object instance instead of static calls
This commit is contained in:
parent
3447d888d7
commit
e8a10f312a
6 changed files with 145 additions and 107 deletions
|
@ -11,6 +11,7 @@
|
|||
use Shaarli\Formatter\FormatterFactory;
|
||||
use Shaarli\History;
|
||||
use Shaarli\Http\HttpAccess;
|
||||
use Shaarli\Netscape\NetscapeBookmarkUtils;
|
||||
use Shaarli\Plugin\PluginManager;
|
||||
use Shaarli\Render\PageBuilder;
|
||||
use Shaarli\Render\PageCacheManager;
|
||||
|
@ -118,6 +119,10 @@ public function build(): ShaarliContainer
|
|||
return new HttpAccess();
|
||||
};
|
||||
|
||||
$container['netscapeBookmarkUtils'] = function (ShaarliContainer $container): NetscapeBookmarkUtils {
|
||||
return new NetscapeBookmarkUtils($container->bookmarkService, $container->conf, $container->history);
|
||||
};
|
||||
|
||||
return $container;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
use Shaarli\Formatter\FormatterFactory;
|
||||
use Shaarli\History;
|
||||
use Shaarli\Http\HttpAccess;
|
||||
use Shaarli\Netscape\NetscapeBookmarkUtils;
|
||||
use Shaarli\Plugin\PluginManager;
|
||||
use Shaarli\Render\PageBuilder;
|
||||
use Shaarli\Render\PageCacheManager;
|
||||
|
@ -30,6 +31,7 @@
|
|||
* @property History $history
|
||||
* @property HttpAccess $httpAccess
|
||||
* @property LoginManager $loginManager
|
||||
* @property NetscapeBookmarkUtils $netscapeBookmarkUtils
|
||||
* @property PageBuilder $pageBuilder
|
||||
* @property PageCacheManager $pageCacheManager
|
||||
* @property PluginManager $pluginManager
|
||||
|
|
|
@ -16,10 +16,24 @@
|
|||
|
||||
/**
|
||||
* Utilities to import and export bookmarks using the Netscape format
|
||||
* TODO: Not static, use a container.
|
||||
*/
|
||||
class NetscapeBookmarkUtils
|
||||
{
|
||||
/** @var BookmarkServiceInterface */
|
||||
protected $bookmarkService;
|
||||
|
||||
/** @var ConfigManager */
|
||||
protected $conf;
|
||||
|
||||
/** @var History */
|
||||
protected $history;
|
||||
|
||||
public function __construct(BookmarkServiceInterface $bookmarkService, ConfigManager $conf, History $history)
|
||||
{
|
||||
$this->bookmarkService = $bookmarkService;
|
||||
$this->conf = $conf;
|
||||
$this->history = $history;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters bookmarks and adds Netscape-formatted fields
|
||||
|
@ -28,18 +42,16 @@ class NetscapeBookmarkUtils
|
|||
* - timestamp link addition date, using the Unix epoch format
|
||||
* - taglist comma-separated tag list
|
||||
*
|
||||
* @param BookmarkServiceInterface $bookmarkService Link datastore
|
||||
* @param BookmarkFormatter $formatter instance
|
||||
* @param string $selection Which bookmarks to export: (all|private|public)
|
||||
* @param bool $prependNoteUrl Prepend note permalinks with the server's URL
|
||||
* @param string $indexUrl Absolute URL of the Shaarli index page
|
||||
*
|
||||
* @return array The bookmarks to be exported, with additional fields
|
||||
*@throws Exception Invalid export selection
|
||||
*
|
||||
* @throws Exception Invalid export selection
|
||||
*/
|
||||
public static function filterAndFormat(
|
||||
$bookmarkService,
|
||||
public function filterAndFormat(
|
||||
$formatter,
|
||||
$selection,
|
||||
$prependNoteUrl,
|
||||
|
@ -51,7 +63,7 @@ public static function filterAndFormat(
|
|||
}
|
||||
|
||||
$bookmarkLinks = array();
|
||||
foreach ($bookmarkService->search([], $selection) as $bookmark) {
|
||||
foreach ($this->bookmarkService->search([], $selection) as $bookmark) {
|
||||
$link = $formatter->format($bookmark);
|
||||
$link['taglist'] = implode(',', $bookmark->getTags());
|
||||
if ($bookmark->isNote() && $prependNoteUrl) {
|
||||
|
@ -64,53 +76,15 @@ public static function filterAndFormat(
|
|||
return $bookmarkLinks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates an import status summary
|
||||
*
|
||||
* @param string $filename name of the file to import
|
||||
* @param int $filesize size of the file to import
|
||||
* @param int $importCount how many bookmarks were imported
|
||||
* @param int $overwriteCount how many bookmarks were overwritten
|
||||
* @param int $skipCount how many bookmarks were skipped
|
||||
* @param int $duration how many seconds did the import take
|
||||
*
|
||||
* @return string Summary of the bookmark import status
|
||||
*/
|
||||
private static function importStatus(
|
||||
$filename,
|
||||
$filesize,
|
||||
$importCount = 0,
|
||||
$overwriteCount = 0,
|
||||
$skipCount = 0,
|
||||
$duration = 0
|
||||
) {
|
||||
$status = sprintf(t('File %s (%d bytes) '), $filename, $filesize);
|
||||
if ($importCount == 0 && $overwriteCount == 0 && $skipCount == 0) {
|
||||
$status .= t('has an unknown file format. Nothing was imported.');
|
||||
} else {
|
||||
$status .= vsprintf(
|
||||
t(
|
||||
'was successfully processed in %d seconds: '
|
||||
. '%d bookmarks imported, %d bookmarks overwritten, %d bookmarks skipped.'
|
||||
),
|
||||
[$duration, $importCount, $overwriteCount, $skipCount]
|
||||
);
|
||||
}
|
||||
return $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Imports Web bookmarks from an uploaded Netscape bookmark dump
|
||||
*
|
||||
* @param array $post Server $_POST parameters
|
||||
* @param array $files Server $_FILES parameters
|
||||
* @param BookmarkServiceInterface $bookmarkService Loaded LinkDB instance
|
||||
* @param ConfigManager $conf instance
|
||||
* @param History $history History instance
|
||||
*
|
||||
* @return string Summary of the bookmark import status
|
||||
*/
|
||||
public static function import($post, $files, $bookmarkService, $conf, $history)
|
||||
public function import($post, $files)
|
||||
{
|
||||
$start = time();
|
||||
$filename = $files['filetoupload']['name'];
|
||||
|
@ -141,11 +115,11 @@ public static function import($post, $files, $bookmarkService, $conf, $history)
|
|||
true, // nested tag support
|
||||
$defaultTags, // additional user-specified tags
|
||||
strval(1 - $defaultPrivacy), // defaultPub = 1 - defaultPrivacy
|
||||
$conf->get('resource.data_dir') // log path, will be overridden
|
||||
$this->conf->get('resource.data_dir') // log path, will be overridden
|
||||
);
|
||||
$logger = new Logger(
|
||||
$conf->get('resource.data_dir'),
|
||||
!$conf->get('dev.debug') ? LogLevel::INFO : LogLevel::DEBUG,
|
||||
$this->conf->get('resource.data_dir'),
|
||||
!$this->conf->get('dev.debug') ? LogLevel::INFO : LogLevel::DEBUG,
|
||||
[
|
||||
'prefix' => 'import.',
|
||||
'extension' => 'log',
|
||||
|
@ -171,7 +145,7 @@ public static function import($post, $files, $bookmarkService, $conf, $history)
|
|||
$private = 0;
|
||||
}
|
||||
|
||||
$link = $bookmarkService->findByUrl($bkm['uri']);
|
||||
$link = $this->bookmarkService->findByUrl($bkm['uri']);
|
||||
$existingLink = $link !== null;
|
||||
if (! $existingLink) {
|
||||
$link = new Bookmark();
|
||||
|
@ -193,20 +167,21 @@ public static function import($post, $files, $bookmarkService, $conf, $history)
|
|||
}
|
||||
|
||||
$link->setTitle($bkm['title']);
|
||||
$link->setUrl($bkm['uri'], $conf->get('security.allowed_protocols'));
|
||||
$link->setUrl($bkm['uri'], $this->conf->get('security.allowed_protocols'));
|
||||
$link->setDescription($bkm['note']);
|
||||
$link->setPrivate($private);
|
||||
$link->setTagsString($bkm['tags']);
|
||||
|
||||
$bookmarkService->addOrSet($link, false);
|
||||
$this->bookmarkService->addOrSet($link, false);
|
||||
$importCount++;
|
||||
}
|
||||
|
||||
$bookmarkService->save();
|
||||
$history->importLinks();
|
||||
$this->bookmarkService->save();
|
||||
$this->history->importLinks();
|
||||
|
||||
$duration = time() - $start;
|
||||
return self::importStatus(
|
||||
|
||||
return $this->importStatus(
|
||||
$filename,
|
||||
$filesize,
|
||||
$importCount,
|
||||
|
@ -215,4 +190,39 @@ public static function import($post, $files, $bookmarkService, $conf, $history)
|
|||
$duration
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates an import status summary
|
||||
*
|
||||
* @param string $filename name of the file to import
|
||||
* @param int $filesize size of the file to import
|
||||
* @param int $importCount how many bookmarks were imported
|
||||
* @param int $overwriteCount how many bookmarks were overwritten
|
||||
* @param int $skipCount how many bookmarks were skipped
|
||||
* @param int $duration how many seconds did the import take
|
||||
*
|
||||
* @return string Summary of the bookmark import status
|
||||
*/
|
||||
protected function importStatus(
|
||||
$filename,
|
||||
$filesize,
|
||||
$importCount = 0,
|
||||
$overwriteCount = 0,
|
||||
$skipCount = 0,
|
||||
$duration = 0
|
||||
) {
|
||||
$status = sprintf(t('File %s (%d bytes) '), $filename, $filesize);
|
||||
if ($importCount == 0 && $overwriteCount == 0 && $skipCount == 0) {
|
||||
$status .= t('has an unknown file format. Nothing was imported.');
|
||||
} else {
|
||||
$status .= vsprintf(
|
||||
t(
|
||||
'was successfully processed in %d seconds: '
|
||||
. '%d bookmarks imported, %d bookmarks overwritten, %d bookmarks skipped.'
|
||||
),
|
||||
[$duration, $importCount, $overwriteCount, $skipCount]
|
||||
);
|
||||
}
|
||||
return $status;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -662,13 +662,8 @@ function renderPage($conf, $pluginManager, $bookmarkService, $history, $sessionM
|
|||
if (! $sessionManager->checkToken($_POST['token'])) {
|
||||
die('Wrong token.');
|
||||
}
|
||||
$status = NetscapeBookmarkUtils::import(
|
||||
$_POST,
|
||||
$_FILES,
|
||||
$bookmarkService,
|
||||
$conf,
|
||||
$history
|
||||
);
|
||||
$netscapeBookmarkUtils = new NetscapeBookmarkUtils($bookmarkService, $conf, $history);
|
||||
$status = $netscapeBookmarkUtils->import($_POST, $_FILES);
|
||||
echo '<script>alert("'.$status.'");document.location=\'./?do='
|
||||
.Router::$PAGE_IMPORT .'\';</script>';
|
||||
exit;
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace Shaarli\Netscape;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shaarli\Bookmark\BookmarkFileService;
|
||||
use Shaarli\Bookmark\LinkDB;
|
||||
use Shaarli\Config\ConfigManager;
|
||||
use Shaarli\Formatter\FormatterFactory;
|
||||
use Shaarli\Formatter\BookmarkFormatter;
|
||||
use Shaarli\Formatter\FormatterFactory;
|
||||
use Shaarli\History;
|
||||
|
||||
require_once 'tests/utils/ReferenceLinkDB.php';
|
||||
|
@ -13,13 +14,18 @@
|
|||
/**
|
||||
* Netscape bookmark export
|
||||
*/
|
||||
class BookmarkExportTest extends \PHPUnit\Framework\TestCase
|
||||
class BookmarkExportTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @var string datastore to test write operations
|
||||
*/
|
||||
protected static $testDatastore = 'sandbox/datastore.php';
|
||||
|
||||
/**
|
||||
* @var ConfigManager instance.
|
||||
*/
|
||||
protected static $conf;
|
||||
|
||||
/**
|
||||
* @var \ReferenceLinkDB instance.
|
||||
*/
|
||||
|
@ -35,19 +41,38 @@ class BookmarkExportTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
protected static $formatter;
|
||||
|
||||
/**
|
||||
* @var History instance
|
||||
*/
|
||||
protected static $history;
|
||||
|
||||
/**
|
||||
* @var NetscapeBookmarkUtils
|
||||
*/
|
||||
protected $netscapeBookmarkUtils;
|
||||
|
||||
/**
|
||||
* Instantiate reference data
|
||||
*/
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
$conf = new ConfigManager('tests/utils/config/configJson');
|
||||
$conf->set('resource.datastore', self::$testDatastore);
|
||||
self::$refDb = new \ReferenceLinkDB();
|
||||
self::$refDb->write(self::$testDatastore);
|
||||
$history = new History('sandbox/history.php');
|
||||
self::$bookmarkService = new BookmarkFileService($conf, $history, true);
|
||||
$factory = new FormatterFactory($conf, true);
|
||||
self::$formatter = $factory->getFormatter('raw');
|
||||
static::$conf = new ConfigManager('tests/utils/config/configJson');
|
||||
static::$conf->set('resource.datastore', static::$testDatastore);
|
||||
static::$refDb = new \ReferenceLinkDB();
|
||||
static::$refDb->write(static::$testDatastore);
|
||||
static::$history = new History('sandbox/history.php');
|
||||
static::$bookmarkService = new BookmarkFileService(static::$conf, static::$history, true);
|
||||
$factory = new FormatterFactory(static::$conf, true);
|
||||
static::$formatter = $factory->getFormatter('raw');
|
||||
}
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->netscapeBookmarkUtils = new NetscapeBookmarkUtils(
|
||||
static::$bookmarkService,
|
||||
static::$conf,
|
||||
static::$history
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -57,8 +82,7 @@ public static function setUpBeforeClass()
|
|||
*/
|
||||
public function testFilterAndFormatInvalid()
|
||||
{
|
||||
NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'derp',
|
||||
false,
|
||||
|
@ -71,8 +95,7 @@ public function testFilterAndFormatInvalid()
|
|||
*/
|
||||
public function testFilterAndFormatAll()
|
||||
{
|
||||
$links = NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$links = $this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'all',
|
||||
false,
|
||||
|
@ -97,8 +120,7 @@ public function testFilterAndFormatAll()
|
|||
*/
|
||||
public function testFilterAndFormatPrivate()
|
||||
{
|
||||
$links = NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$links = $this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'private',
|
||||
false,
|
||||
|
@ -123,8 +145,7 @@ public function testFilterAndFormatPrivate()
|
|||
*/
|
||||
public function testFilterAndFormatPublic()
|
||||
{
|
||||
$links = NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$links = $this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'public',
|
||||
false,
|
||||
|
@ -149,8 +170,7 @@ public function testFilterAndFormatPublic()
|
|||
*/
|
||||
public function testFilterAndFormatDoNotPrependNoteUrl()
|
||||
{
|
||||
$links = NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$links = $this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'public',
|
||||
false,
|
||||
|
@ -168,8 +188,7 @@ public function testFilterAndFormatDoNotPrependNoteUrl()
|
|||
public function testFilterAndFormatPrependNoteUrl()
|
||||
{
|
||||
$indexUrl = 'http://localhost:7469/shaarli/';
|
||||
$links = NetscapeBookmarkUtils::filterAndFormat(
|
||||
self::$bookmarkService,
|
||||
$links = $this->netscapeBookmarkUtils->filterAndFormat(
|
||||
self::$formatter,
|
||||
'public',
|
||||
true,
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace Shaarli\Netscape;
|
||||
|
||||
use DateTime;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shaarli\Bookmark\Bookmark;
|
||||
use Shaarli\Bookmark\BookmarkFilter;
|
||||
use Shaarli\Bookmark\BookmarkFileService;
|
||||
use Shaarli\Bookmark\LinkDB;
|
||||
use Shaarli\Bookmark\BookmarkFilter;
|
||||
use Shaarli\Config\ConfigManager;
|
||||
use Shaarli\History;
|
||||
|
||||
|
@ -31,7 +32,7 @@ function file2array($filename)
|
|||
/**
|
||||
* Netscape bookmark import
|
||||
*/
|
||||
class BookmarkImportTest extends \PHPUnit\Framework\TestCase
|
||||
class BookmarkImportTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @var string datastore to test write operations
|
||||
|
@ -63,6 +64,11 @@ class BookmarkImportTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
protected $history;
|
||||
|
||||
/**
|
||||
* @var NetscapeBookmarkUtils
|
||||
*/
|
||||
protected $netscapeBookmarkUtils;
|
||||
|
||||
/**
|
||||
* @var string Save the current timezone.
|
||||
*/
|
||||
|
@ -91,6 +97,7 @@ protected function setUp()
|
|||
$this->conf->set('resource.datastore', self::$testDatastore);
|
||||
$this->history = new History(self::$historyFilePath);
|
||||
$this->bookmarkService = new BookmarkFileService($this->conf, $this->history, true);
|
||||
$this->netscapeBookmarkUtils = new NetscapeBookmarkUtils($this->bookmarkService, $this->conf, $this->history);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -115,7 +122,7 @@ public function testImportEmptyData()
|
|||
$this->assertEquals(
|
||||
'File empty.htm (0 bytes) has an unknown file format.'
|
||||
.' Nothing was imported.',
|
||||
NetscapeBookmarkUtils::import(null, $files, null, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import(null, $files)
|
||||
);
|
||||
$this->assertEquals(0, $this->bookmarkService->count());
|
||||
}
|
||||
|
@ -128,7 +135,7 @@ public function testImportNoDoctype()
|
|||
$files = file2array('no_doctype.htm');
|
||||
$this->assertEquals(
|
||||
'File no_doctype.htm (350 bytes) has an unknown file format. Nothing was imported.',
|
||||
NetscapeBookmarkUtils::import(null, $files, null, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import(null, $files)
|
||||
);
|
||||
$this->assertEquals(0, $this->bookmarkService->count());
|
||||
}
|
||||
|
@ -142,7 +149,7 @@ public function testImportLowecaseDoctype()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File lowercase_doctype.htm (386 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import(null, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import(null, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
}
|
||||
|
@ -157,7 +164,7 @@ public function testImportInternetExplorerEncoding()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File internet_explorer_encoding.htm (356 bytes) was successfully processed in %d seconds:'
|
||||
.' 1 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import([], $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import([], $files)
|
||||
);
|
||||
$this->assertEquals(1, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -185,7 +192,7 @@ public function testImportNested()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_nested.htm (1337 bytes) was successfully processed in %d seconds:'
|
||||
.' 8 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import([], $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import([], $files)
|
||||
);
|
||||
$this->assertEquals(8, $this->bookmarkService->count());
|
||||
$this->assertEquals(2, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -306,7 +313,7 @@ public function testImportDefaultPrivacyNoPost()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import([], $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import([], $files)
|
||||
);
|
||||
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
|
@ -349,7 +356,7 @@ public function testImportKeepPrivacy()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
|
@ -392,7 +399,7 @@ public function testImportAsPublic()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -410,7 +417,7 @@ public function testImportAsPrivate()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(2, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -430,7 +437,7 @@ public function testOverwriteAsPublic()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(2, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -445,7 +452,7 @@ public function testOverwriteAsPublic()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 2 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -465,7 +472,7 @@ public function testOverwriteAsPrivate()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -480,7 +487,7 @@ public function testOverwriteAsPrivate()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 2 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(2, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -498,7 +505,7 @@ public function testSkipOverwrite()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -508,7 +515,7 @@ public function testSkipOverwrite()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 0 bookmarks imported, 0 bookmarks overwritten, 2 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -527,7 +534,7 @@ public function testSetDefaultTags()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -548,7 +555,7 @@ public function testSanitizeDefaultTags()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File netscape_basic.htm (482 bytes) was successfully processed in %d seconds:'
|
||||
.' 2 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import($post, $files)
|
||||
);
|
||||
$this->assertEquals(2, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -573,7 +580,7 @@ public function testImportSameDate()
|
|||
$this->assertStringMatchesFormat(
|
||||
'File same_date.htm (453 bytes) was successfully processed in %d seconds:'
|
||||
.' 3 bookmarks imported, 0 bookmarks overwritten, 0 bookmarks skipped.',
|
||||
NetscapeBookmarkUtils::import(array(), $files, $this->bookmarkService, $this->conf, $this->history)
|
||||
$this->netscapeBookmarkUtils->import(array(), $files)
|
||||
);
|
||||
$this->assertEquals(3, $this->bookmarkService->count());
|
||||
$this->assertEquals(0, $this->bookmarkService->count(BookmarkFilter::$PRIVATE));
|
||||
|
@ -589,14 +596,14 @@ public function testImportCreateUpdateHistory()
|
|||
'overwrite' => 'true',
|
||||
];
|
||||
$files = file2array('netscape_basic.htm');
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history);
|
||||
$this->netscapeBookmarkUtils->import($post, $files);
|
||||
$history = $this->history->getHistory();
|
||||
$this->assertEquals(1, count($history));
|
||||
$this->assertEquals(History::IMPORT, $history[0]['event']);
|
||||
$this->assertTrue(new DateTime('-5 seconds') < $history[0]['datetime']);
|
||||
|
||||
// re-import as private, enable overwriting
|
||||
NetscapeBookmarkUtils::import($post, $files, $this->bookmarkService, $this->conf, $this->history);
|
||||
$this->netscapeBookmarkUtils->import($post, $files);
|
||||
$history = $this->history->getHistory();
|
||||
$this->assertEquals(2, count($history));
|
||||
$this->assertEquals(History::IMPORT, $history[0]['event']);
|
||||
|
|
Loading…
Reference in a new issue