From a973afeac7b7399d35b881920f0afc1947765ccd Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Thu, 28 Jul 2016 22:54:33 +0200 Subject: Refactor bookmark import using a generic Netscape parser Relates to #607 Relates to #608 Relates to #493 (abandoned) Additions: - use Composer's autoload to load 3rd-party dependencies under vendor/ Modifications: - [import] replace the current parser with a generic, stable parser - move code to application/NetscapeBookmarkUtils - improve status report after parsing - [router] use the same endpoint for both bookmark upload and import dialog - [template] update bookmark import options - allow adding tags to all imported links - allow selecting the visibility (privacy) of imported links - [tests] ensure bookmarks are properly parsed and imported in the LinkDB - reuse reference input from the parser's test data See: - https://github.com/shaarli/netscape-bookmark-parser - https://getcomposer.org/doc/01-basic-usage.md#autoloading Signed-off-by: VirtualTam --- tests/NetscapeBookmarkUtilsTest.php | 134 ------------------------------------ 1 file changed, 134 deletions(-) delete mode 100644 tests/NetscapeBookmarkUtilsTest.php (limited to 'tests/NetscapeBookmarkUtilsTest.php') diff --git a/tests/NetscapeBookmarkUtilsTest.php b/tests/NetscapeBookmarkUtilsTest.php deleted file mode 100644 index 41e6d84c..00000000 --- a/tests/NetscapeBookmarkUtilsTest.php +++ /dev/null @@ -1,134 +0,0 @@ -write(self::$testDatastore); - self::$linkDb = new LinkDB(self::$testDatastore, true, false); - } - - /** - * Attempt to export an invalid link selection - * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid export selection/ - */ - public function testFilterAndFormatInvalid() - { - NetscapeBookmarkUtils::filterAndFormat(self::$linkDb, 'derp', false, ''); - } - - /** - * Prepare all links for export - */ - public function testFilterAndFormatAll() - { - $links = NetscapeBookmarkUtils::filterAndFormat(self::$linkDb, 'all', false, ''); - $this->assertEquals(self::$refDb->countLinks(), sizeof($links)); - foreach ($links as $link) { - $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['linkdate']); - $this->assertEquals( - $date->getTimestamp(), - $link['timestamp'] - ); - $this->assertEquals( - str_replace(' ', ',', $link['tags']), - $link['taglist'] - ); - } - } - - /** - * Prepare private links for export - */ - public function testFilterAndFormatPrivate() - { - $links = NetscapeBookmarkUtils::filterAndFormat(self::$linkDb, 'private', false, ''); - $this->assertEquals(self::$refDb->countPrivateLinks(), sizeof($links)); - foreach ($links as $link) { - $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['linkdate']); - $this->assertEquals( - $date->getTimestamp(), - $link['timestamp'] - ); - $this->assertEquals( - str_replace(' ', ',', $link['tags']), - $link['taglist'] - ); - } - } - - /** - * Prepare public links for export - */ - public function testFilterAndFormatPublic() - { - $links = NetscapeBookmarkUtils::filterAndFormat(self::$linkDb, 'public', false, ''); - $this->assertEquals(self::$refDb->countPublicLinks(), sizeof($links)); - foreach ($links as $link) { - $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['linkdate']); - $this->assertEquals( - $date->getTimestamp(), - $link['timestamp'] - ); - $this->assertEquals( - str_replace(' ', ',', $link['tags']), - $link['taglist'] - ); - } - } - - /** - * Do not prepend notes with the Shaarli index's URL - */ - public function testFilterAndFormatDoNotPrependNoteUrl() - { - $links = NetscapeBookmarkUtils::filterAndFormat(self::$linkDb, 'public', false, ''); - $this->assertEquals( - '?WDWyig', - $links[0]['url'] - ); - } - - /** - * Prepend notes with the Shaarli index's URL - */ - public function testFilterAndFormatPrependNoteUrl() - { - $indexUrl = 'http://localhost:7469/shaarli/'; - $links = NetscapeBookmarkUtils::filterAndFormat( - self::$linkDb, - 'public', - true, - $indexUrl - ); - $this->assertEquals( - $indexUrl . '?WDWyig', - $links[0]['url'] - ); - } -} -- cgit v1.2.3