diff options
author | VirtualTam <virtualtam@flibidi.net> | 2016-08-12 23:22:15 +0200 |
---|---|---|
committer | VirtualTam <virtualtam@flibidi.net> | 2016-08-12 23:22:15 +0200 |
commit | f4ad7bde56b769cea0a2a26eb739e57500705555 (patch) | |
tree | 66bf1b75a3bfd4f1862cd06e0a4c1d162e365ca9 /tests | |
parent | a34d6da642acda37b04e4c5d732d42a84df65068 (diff) | |
download | Shaarli-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.php | 28 | ||||
-rw-r--r-- | tests/NetscapeBookmarkUtils/input/internet_explorer_encoding.htm | 9 |
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. | ||
3 | It will be read and overwritten. | ||
4 | Do 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> | ||