aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/utils
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2016-11-28 16:17:25 +0100
committerArthurHoaro <arthur@hoa.ro>2016-12-12 03:03:12 +0100
commitc3dfd8995921083ff7250c25d0b6ab1184b91aff (patch)
treecb7cb17ad607a5bd2e7d9ee59c0e804e590fa6af /tests/utils
parent01878a75b93b9966f7366ea2937c118bbc3e459e (diff)
downloadShaarli-c3dfd8995921083ff7250c25d0b6ab1184b91aff.tar.gz
Shaarli-c3dfd8995921083ff7250c25d0b6ab1184b91aff.tar.zst
Shaarli-c3dfd8995921083ff7250c25d0b6ab1184b91aff.zip
Unit Test for the new ID system
Diffstat (limited to 'tests/utils')
-rw-r--r--tests/utils/ReferenceLinkDB.php61
1 files changed, 47 insertions, 14 deletions
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php
index abca4656..6b16c9e8 100644
--- a/tests/utils/ReferenceLinkDB.php
+++ b/tests/utils/ReferenceLinkDB.php
@@ -4,7 +4,7 @@
4 */ 4 */
5class ReferenceLinkDB 5class ReferenceLinkDB
6{ 6{
7 public static $NB_LINKS_TOTAL = 7; 7 public static $NB_LINKS_TOTAL = 8;
8 8
9 private $_links = array(); 9 private $_links = array();
10 private $_publicCount = 0; 10 private $_publicCount = 0;
@@ -16,66 +16,87 @@ class ReferenceLinkDB
16 public function __construct() 16 public function __construct()
17 { 17 {
18 $this->addLink( 18 $this->addLink(
19 41,
19 'Link title: @website', 20 'Link title: @website',
20 '?WDWyig', 21 '?WDWyig',
21 'Stallman has a beard and is part of the Free Software Foundation (or not). Seriously, read this. #hashtag', 22 'Stallman has a beard and is part of the Free Software Foundation (or not). Seriously, read this. #hashtag',
22 0, 23 0,
23 '20150310_114651', 24 DateTime::createFromFormat('Ymd_His', '20150310_114651'),
24 'sTuff' 25 'sTuff',
26 null,
27 'WDWyig'
25 ); 28 );
26 29
27 $this->addLink( 30 $this->addLink(
31 42,
32 'Note: I have a big ID but an old date',
33 '?WDWyig',
34 'Used to test links reordering.',
35 0,
36 DateTime::createFromFormat('Ymd_His', '20100310_101010'),
37 'ut'
38 );
39
40 $this->addLink(
41 8,
28 'Free as in Freedom 2.0 @website', 42 'Free as in Freedom 2.0 @website',
29 'https://static.fsf.org/nosvn/faif-2.0.pdf', 43 'https://static.fsf.org/nosvn/faif-2.0.pdf',
30 'Richard Stallman and the Free Software Revolution. Read this. #hashtag', 44 'Richard Stallman and the Free Software Revolution. Read this. #hashtag',
31 0, 45 0,
32 '20150310_114633', 46 DateTime::createFromFormat('Ymd_His', '20150310_114633'),
33 'free gnu software stallman -exclude stuff hashtag', 47 'free gnu software stallman -exclude stuff hashtag',
34 '20160803_093033' 48 DateTime::createFromFormat('Ymd_His', '20160803_093033')
35 ); 49 );
36 50
37 $this->addLink( 51 $this->addLink(
52 7,
38 'MediaGoblin', 53 'MediaGoblin',
39 'http://mediagoblin.org/', 54 'http://mediagoblin.org/',
40 'A free software media publishing platform #hashtagOther', 55 'A free software media publishing platform #hashtagOther',
41 0, 56 0,
42 '20130614_184135', 57 DateTime::createFromFormat('Ymd_His', '20130614_184135'),
43 'gnu media web .hidden hashtag' 58 'gnu media web .hidden hashtag',
59 null,
60 'IuWvgA'
44 ); 61 );
45 62
46 $this->addLink( 63 $this->addLink(
64 6,
47 'w3c-markup-validator', 65 'w3c-markup-validator',
48 'https://dvcs.w3.org/hg/markup-validator/summary', 66 'https://dvcs.w3.org/hg/markup-validator/summary',
49 'Mercurial repository for the W3C Validator #private', 67 'Mercurial repository for the W3C Validator #private',
50 1, 68 1,
51 '20141125_084734', 69 DateTime::createFromFormat('Ymd_His', '20141125_084734'),
52 'css html w3c web Mercurial' 70 'css html w3c web Mercurial'
53 ); 71 );
54 72
55 $this->addLink( 73 $this->addLink(
74 4,
56 'UserFriendly - Web Designer', 75 'UserFriendly - Web Designer',
57 'http://ars.userfriendly.org/cartoons/?id=20121206', 76 'http://ars.userfriendly.org/cartoons/?id=20121206',
58 'Naming conventions... #private', 77 'Naming conventions... #private',
59 0, 78 0,
60 '20121206_142300', 79 DateTime::createFromFormat('Ymd_His', '20121206_142300'),
61 'dev cartoon web' 80 'dev cartoon web'
62 ); 81 );
63 82
64 $this->addLink( 83 $this->addLink(
84 1,
65 'UserFriendly - Samba', 85 'UserFriendly - Samba',
66 'http://ars.userfriendly.org/cartoons/?id=20010306', 86 'http://ars.userfriendly.org/cartoons/?id=20010306',
67 'Tropical printing', 87 'Tropical printing',
68 0, 88 0,
69 '20121206_172539', 89 DateTime::createFromFormat('Ymd_His', '20121206_172539'),
70 'samba cartoon web' 90 'samba cartoon web'
71 ); 91 );
72 92
73 $this->addLink( 93 $this->addLink(
94 0,
74 'Geek and Poke', 95 'Geek and Poke',
75 'http://geek-and-poke.com/', 96 'http://geek-and-poke.com/',
76 '', 97 '',
77 1, 98 1,
78 '20121206_182539', 99 DateTime::createFromFormat('Ymd_His', '20121206_182539'),
79 'dev cartoon tag1 tag2 tag3 tag4 ' 100 'dev cartoon tag1 tag2 tag3 tag4 '
80 ); 101 );
81 } 102 }
@@ -83,18 +104,20 @@ class ReferenceLinkDB
83 /** 104 /**
84 * Adds a new link 105 * Adds a new link
85 */ 106 */
86 protected function addLink($title, $url, $description, $private, $date, $tags, $updated = '') 107 protected function addLink($id, $title, $url, $description, $private, $date, $tags, $updated = '', $shorturl = '')
87 { 108 {
88 $link = array( 109 $link = array(
110 'id' => $id,
89 'title' => $title, 111 'title' => $title,
90 'url' => $url, 112 'url' => $url,
91 'description' => $description, 113 'description' => $description,
92 'private' => $private, 114 'private' => $private,
93 'linkdate' => $date,
94 'tags' => $tags, 115 'tags' => $tags,
116 'created' => $date,
95 'updated' => $updated, 117 'updated' => $updated,
118 'shorturl' => $shorturl ? $shorturl : smallHash($date->format('Ymd_His') . $id),
96 ); 119 );
97 $this->_links[$date] = $link; 120 $this->_links[$id] = $link;
98 121
99 if ($private) { 122 if ($private) {
100 $this->_privateCount++; 123 $this->_privateCount++;
@@ -142,4 +165,14 @@ class ReferenceLinkDB
142 { 165 {
143 return $this->_links; 166 return $this->_links;
144 } 167 }
168
169 /**
170 * Setter to override link creation.
171 *
172 * @param array $links List of links.
173 */
174 public function setLinks($links)
175 {
176 $this->_links = $links;
177 }
145} 178}