aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorVirtualTam <virtualtam@flibidi.net>2016-08-12 23:22:15 +0200
committerVirtualTam <virtualtam@flibidi.net>2016-08-12 23:22:15 +0200
commitf4ad7bde56b769cea0a2a26eb739e57500705555 (patch)
tree66bf1b75a3bfd4f1862cd06e0a4c1d162e365ca9 /tests
parenta34d6da642acda37b04e4c5d732d42a84df65068 (diff)
downloadShaarli-f4ad7bde56b769cea0a2a26eb739e57500705555.tar.gz
Shaarli-f4ad7bde56b769cea0a2a26eb739e57500705555.tar.zst
Shaarli-f4ad7bde56b769cea0a2a26eb739e57500705555.zip
Fix: ensure Internet Explorer bookmark dumps can be imported
Relates to https://github.com/shaarli/Shaarli/issues/607 Modifications: - [application][tests] NetscapeBookmarkUtils: more permissive doctype detection The IE bookmark exports contain extra escape sequences, which can be observed by binary comparison of the reference input data used in tests: $ cmp -b -l -n 8 netscape_basic.htm internet_explorer_encoding.htm 1 74 < 357 M-o 2 41 ! 273 M-; 3 104 D 277 M-? 4 117 O 74 < 5 103 C 41 ! 6 124 T 104 D 7 131 Y 117 O 8 120 P 103 C Signed-off-by: VirtualTam <virtualtam@flibidi.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/NetscapeBookmarkUtils/BookmarkImportTest.php28
-rw-r--r--tests/NetscapeBookmarkUtils/input/internet_explorer_encoding.htm9
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/NetscapeBookmarkUtils/BookmarkImportTest.php b/tests/NetscapeBookmarkUtils/BookmarkImportTest.php
index 2d4e7557..f0ad500f 100644
--- a/tests/NetscapeBookmarkUtils/BookmarkImportTest.php
+++ b/tests/NetscapeBookmarkUtils/BookmarkImportTest.php
@@ -83,6 +83,34 @@ class BookmarkImportTest extends PHPUnit_Framework_TestCase
83 } 83 }
84 84
85 /** 85 /**
86 * Ensure IE dumps are supported
87 */
88 public function testImportInternetExplorerEncoding()
89 {
90 $files = file2array('internet_explorer_encoding.htm');
91 $this->assertEquals(
92 'File internet_explorer_encoding.htm (356 bytes) was successfully processed:'
93 .' 1 links imported, 0 links overwritten, 0 links skipped.',
94 NetscapeBookmarkUtils::import(array(), $files, $this->linkDb, $this->pagecache)
95 );
96 $this->assertEquals(1, count($this->linkDb));
97 $this->assertEquals(0, count_private($this->linkDb));
98
99 $this->assertEquals(
100 array(
101 'linkdate' => '20160618_173944',
102 'title' => 'Hg Init a Mercurial tutorial by Joel Spolsky',
103 'url' => 'http://hginit.com/',
104 'description' => '',
105 'private' => 0,
106 'tags' => ''
107 ),
108 $this->linkDb->getLinkFromUrl('http://hginit.com/')
109 );
110 }
111
112
113 /**
86 * Import bookmarks nested in a folder hierarchy 114 * Import bookmarks nested in a folder hierarchy
87 */ 115 */
88 public function testImportNested() 116 public function testImportNested()
diff --git a/tests/NetscapeBookmarkUtils/input/internet_explorer_encoding.htm b/tests/NetscapeBookmarkUtils/input/internet_explorer_encoding.htm
new file mode 100644
index 00000000..18703cf6
--- /dev/null
+++ b/tests/NetscapeBookmarkUtils/input/internet_explorer_encoding.htm
@@ -0,0 +1,9 @@
1<!DOCTYPE NETSCAPE-Bookmark-file-1>
2<!-- This is an automatically generated file.
3It will be read and overwritten.
4Do Not Edit! -->
5<TITLE>Bookmarks</TITLE>
6<H1>Bookmarks</H1>
7<DL><p>
8 <DT><A HREF="http://hginit.com/" ADD_DATE="1466271584" LAST_VISIT="1466271584" LAST_MODIFIED="1466271584" >Hg Init a Mercurial tutorial by Joel Spolsky</A>
9</DL><p>