aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--application/LinkDB.php11
-rw-r--r--tests/FeedBuilderTest.php2
-rw-r--r--tests/LinkDBTest.php6
-rw-r--r--tests/utils/ReferenceLinkDB.php2
4 files changed, 15 insertions, 6 deletions
diff --git a/application/LinkDB.php b/application/LinkDB.php
index 1cb70de0..b1072e07 100644
--- a/application/LinkDB.php
+++ b/application/LinkDB.php
@@ -440,11 +440,18 @@ You use the community supported version of the original Shaarli project, by Seba
440 public function allTags() 440 public function allTags()
441 { 441 {
442 $tags = array(); 442 $tags = array();
443 $caseMapping = array();
443 foreach ($this->_links as $link) { 444 foreach ($this->_links as $link) {
444 foreach (explode(' ', $link['tags']) as $tag) { 445 foreach (explode(' ', $link['tags']) as $tag) {
445 if (!empty($tag)) { 446 if (empty($tag)) {
446 $tags[$tag] = (empty($tags[$tag]) ? 1 : $tags[$tag] + 1); 447 continue;
447 } 448 }
449 // The first case found will be displayed.
450 if (!isset($caseMapping[strtolower($tag)])) {
451 $caseMapping[strtolower($tag)] = $tag;
452 $tags[$caseMapping[strtolower($tag)]] = 0;
453 }
454 $tags[$caseMapping[strtolower($tag)]]++;
448 } 455 }
449 } 456 }
450 // Sort tags by usage (most used tag first) 457 // Sort tags by usage (most used tag first)
diff --git a/tests/FeedBuilderTest.php b/tests/FeedBuilderTest.php
index 069b1581..647b2db2 100644
--- a/tests/FeedBuilderTest.php
+++ b/tests/FeedBuilderTest.php
@@ -93,7 +93,7 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase
93 $this->assertContains('Permalink', $link['description']); 93 $this->assertContains('Permalink', $link['description']);
94 $this->assertContains('http://host.tld/?WDWyig', $link['description']); 94 $this->assertContains('http://host.tld/?WDWyig', $link['description']);
95 $this->assertEquals(1, count($link['taglist'])); 95 $this->assertEquals(1, count($link['taglist']));
96 $this->assertEquals('stuff', $link['taglist'][0]); 96 $this->assertEquals('sTuff', $link['taglist'][0]);
97 97
98 // Test URL with external link. 98 // Test URL with external link.
99 $this->assertEquals('https://static.fsf.org/nosvn/faif-2.0.pdf', $data['links']['20150310_114633']['url']); 99 $this->assertEquals('https://static.fsf.org/nosvn/faif-2.0.pdf', $data['links']['20150310_114633']['url']);
diff --git a/tests/LinkDBTest.php b/tests/LinkDBTest.php
index b055fe91..30ea4e01 100644
--- a/tests/LinkDBTest.php
+++ b/tests/LinkDBTest.php
@@ -290,7 +290,9 @@ class LinkDBTest extends PHPUnit_Framework_TestCase
290 'stallman' => 1, 290 'stallman' => 1,
291 'free' => 1, 291 'free' => 1,
292 '-exclude' => 1, 292 '-exclude' => 1,
293 'stuff' => 2, 293 // The DB contains a link with `sTuff` and another one with `stuff` tag.
294 // They need to be grouped with the first case found (`sTuff`).
295 'sTuff' => 2,
294 ), 296 ),
295 self::$publicLinkDB->allTags() 297 self::$publicLinkDB->allTags()
296 ); 298 );
@@ -310,7 +312,7 @@ class LinkDBTest extends PHPUnit_Framework_TestCase
310 'w3c' => 1, 312 'w3c' => 1,
311 'css' => 1, 313 'css' => 1,
312 'Mercurial' => 1, 314 'Mercurial' => 1,
313 'stuff' => 2, 315 'sTuff' => 2,
314 '-exclude' => 1, 316 '-exclude' => 1,
315 '.hidden' => 1, 317 '.hidden' => 1,
316 ), 318 ),
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php
index dc4f5dfa..46165b4d 100644
--- a/tests/utils/ReferenceLinkDB.php
+++ b/tests/utils/ReferenceLinkDB.php
@@ -21,7 +21,7 @@ class ReferenceLinkDB
21 'Stallman has a beard and is part of the Free Software Foundation (or not). Seriously, read this.', 21 'Stallman has a beard and is part of the Free Software Foundation (or not). Seriously, read this.',
22 0, 22 0,
23 '20150310_114651', 23 '20150310_114651',
24 'stuff' 24 'sTuff'
25 ); 25 );
26 26
27 $this->addLink( 27 $this->addLink(