diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/LinkDBTest.php | 33 | ||||
-rw-r--r-- | tests/LinkFilterTest.php | 19 | ||||
-rw-r--r-- | tests/UtilsTest.php | 112 | ||||
-rw-r--r-- | tests/api/controllers/GetLinksTest.php | 4 | ||||
-rw-r--r-- | tests/api/controllers/InfoTest.php | 4 | ||||
-rw-r--r-- | tests/utils/ReferenceLinkDB.php | 26 |
6 files changed, 187 insertions, 11 deletions
diff --git a/tests/LinkDBTest.php b/tests/LinkDBTest.php index 7bf98f92..25438277 100644 --- a/tests/LinkDBTest.php +++ b/tests/LinkDBTest.php | |||
@@ -297,7 +297,7 @@ class LinkDBTest extends PHPUnit_Framework_TestCase | |||
297 | 'sTuff' => 2, | 297 | 'sTuff' => 2, |
298 | 'ut' => 1, | 298 | 'ut' => 1, |
299 | ), | 299 | ), |
300 | self::$publicLinkDB->allTags() | 300 | self::$publicLinkDB->linksCountPerTag() |
301 | ); | 301 | ); |
302 | 302 | ||
303 | $this->assertEquals( | 303 | $this->assertEquals( |
@@ -325,7 +325,34 @@ class LinkDBTest extends PHPUnit_Framework_TestCase | |||
325 | 'tag4' => 1, | 325 | 'tag4' => 1, |
326 | 'ut' => 1, | 326 | 'ut' => 1, |
327 | ), | 327 | ), |
328 | self::$privateLinkDB->allTags() | 328 | self::$privateLinkDB->linksCountPerTag() |
329 | ); | ||
330 | $this->assertEquals( | ||
331 | array( | ||
332 | 'web' => 4, | ||
333 | 'cartoon' => 2, | ||
334 | 'gnu' => 1, | ||
335 | 'dev' => 1, | ||
336 | 'samba' => 1, | ||
337 | 'media' => 1, | ||
338 | 'html' => 1, | ||
339 | 'w3c' => 1, | ||
340 | 'css' => 1, | ||
341 | 'Mercurial' => 1, | ||
342 | '.hidden' => 1, | ||
343 | 'hashtag' => 1, | ||
344 | ), | ||
345 | self::$privateLinkDB->linksCountPerTag(['web']) | ||
346 | ); | ||
347 | $this->assertEquals( | ||
348 | array( | ||
349 | 'web' => 1, | ||
350 | 'html' => 1, | ||
351 | 'w3c' => 1, | ||
352 | 'css' => 1, | ||
353 | 'Mercurial' => 1, | ||
354 | ), | ||
355 | self::$privateLinkDB->linksCountPerTag(['web'], 'private') | ||
329 | ); | 356 | ); |
330 | } | 357 | } |
331 | 358 | ||
@@ -448,7 +475,7 @@ class LinkDBTest extends PHPUnit_Framework_TestCase | |||
448 | public function testReorderLinksDesc() | 475 | public function testReorderLinksDesc() |
449 | { | 476 | { |
450 | self::$privateLinkDB->reorder('ASC'); | 477 | self::$privateLinkDB->reorder('ASC'); |
451 | $linkIds = array(42, 4, 1, 0, 7, 6, 8, 41); | 478 | $linkIds = array(42, 4, 9, 1, 0, 7, 6, 8, 41); |
452 | $cpt = 0; | 479 | $cpt = 0; |
453 | foreach (self::$privateLinkDB as $key => $value) { | 480 | foreach (self::$privateLinkDB as $key => $value) { |
454 | $this->assertEquals($linkIds[$cpt++], $key); | 481 | $this->assertEquals($linkIds[$cpt++], $key); |
diff --git a/tests/LinkFilterTest.php b/tests/LinkFilterTest.php index 37d5ca30..74162358 100644 --- a/tests/LinkFilterTest.php +++ b/tests/LinkFilterTest.php | |||
@@ -63,6 +63,12 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
63 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '')) | 63 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '')) |
64 | ); | 64 | ); |
65 | 65 | ||
66 | // Untagged only | ||
67 | $this->assertEquals( | ||
68 | self::$refDB->countUntaggedLinks(), | ||
69 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, false)) | ||
70 | ); | ||
71 | |||
66 | $this->assertEquals( | 72 | $this->assertEquals( |
67 | ReferenceLinkDB::$NB_LINKS_TOTAL, | 73 | ReferenceLinkDB::$NB_LINKS_TOTAL, |
68 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '')) | 74 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '')) |
@@ -146,7 +152,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
146 | public function testFilterDay() | 152 | public function testFilterDay() |
147 | { | 153 | { |
148 | $this->assertEquals( | 154 | $this->assertEquals( |
149 | 3, | 155 | 4, |
150 | count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20121206')) | 156 | count(self::$linkFilter->filter(LinkFilter::$FILTER_DAY, '20121206')) |
151 | ); | 157 | ); |
152 | } | 158 | } |
@@ -339,7 +345,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
339 | ); | 345 | ); |
340 | 346 | ||
341 | $this->assertEquals( | 347 | $this->assertEquals( |
342 | 7, | 348 | ReferenceLinkDB::$NB_LINKS_TOTAL - 1, |
343 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-revolution')) | 349 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-revolution')) |
344 | ); | 350 | ); |
345 | } | 351 | } |
@@ -399,7 +405,7 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
399 | ); | 405 | ); |
400 | 406 | ||
401 | $this->assertEquals( | 407 | $this->assertEquals( |
402 | 7, | 408 | ReferenceLinkDB::$NB_LINKS_TOTAL - 1, |
403 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free')) | 409 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free')) |
404 | ); | 410 | ); |
405 | } | 411 | } |
@@ -429,6 +435,13 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
429 | 1, | 435 | 1, |
430 | count(self::$linkFilter->filter( | 436 | count(self::$linkFilter->filter( |
431 | LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT, | 437 | LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT, |
438 | array(false, 'PSR-2') | ||
439 | )) | ||
440 | ); | ||
441 | $this->assertEquals( | ||
442 | 1, | ||
443 | count(self::$linkFilter->filter( | ||
444 | LinkFilter::$FILTER_TAG | LinkFilter::$FILTER_TEXT, | ||
432 | array($tags, '') | 445 | array($tags, '') |
433 | )) | 446 | )) |
434 | ); | 447 | ); |
diff --git a/tests/UtilsTest.php b/tests/UtilsTest.php index d6a0aad5..3d1aa653 100644 --- a/tests/UtilsTest.php +++ b/tests/UtilsTest.php | |||
@@ -417,4 +417,116 @@ class UtilsTest extends PHPUnit_Framework_TestCase | |||
417 | $this->assertEquals('1048576', get_max_upload_size('1m', '2m', false)); | 417 | $this->assertEquals('1048576', get_max_upload_size('1m', '2m', false)); |
418 | $this->assertEquals('100', get_max_upload_size(100, 100, false)); | 418 | $this->assertEquals('100', get_max_upload_size(100, 100, false)); |
419 | } | 419 | } |
420 | |||
421 | /** | ||
422 | * Test alphabetical_sort by value, not reversed, with php-intl. | ||
423 | */ | ||
424 | public function testAlphabeticalSortByValue() | ||
425 | { | ||
426 | $arr = [ | ||
427 | 'zZz', | ||
428 | 'éee', | ||
429 | 'éae', | ||
430 | 'eee', | ||
431 | 'A', | ||
432 | 'a', | ||
433 | 'zzz', | ||
434 | ]; | ||
435 | $expected = [ | ||
436 | 'a', | ||
437 | 'A', | ||
438 | 'éae', | ||
439 | 'eee', | ||
440 | 'éee', | ||
441 | 'zzz', | ||
442 | 'zZz', | ||
443 | ]; | ||
444 | |||
445 | alphabetical_sort($arr); | ||
446 | $this->assertEquals($expected, $arr); | ||
447 | } | ||
448 | |||
449 | /** | ||
450 | * Test alphabetical_sort by value, reversed, with php-intl. | ||
451 | */ | ||
452 | public function testAlphabeticalSortByValueReversed() | ||
453 | { | ||
454 | $arr = [ | ||
455 | 'zZz', | ||
456 | 'éee', | ||
457 | 'éae', | ||
458 | 'eee', | ||
459 | 'A', | ||
460 | 'a', | ||
461 | 'zzz', | ||
462 | ]; | ||
463 | $expected = [ | ||
464 | 'zZz', | ||
465 | 'zzz', | ||
466 | 'éee', | ||
467 | 'eee', | ||
468 | 'éae', | ||
469 | 'A', | ||
470 | 'a', | ||
471 | ]; | ||
472 | |||
473 | alphabetical_sort($arr, true); | ||
474 | $this->assertEquals($expected, $arr); | ||
475 | } | ||
476 | |||
477 | /** | ||
478 | * Test alphabetical_sort by keys, not reversed, with php-intl. | ||
479 | */ | ||
480 | public function testAlphabeticalSortByKeys() | ||
481 | { | ||
482 | $arr = [ | ||
483 | 'zZz' => true, | ||
484 | 'éee' => true, | ||
485 | 'éae' => true, | ||
486 | 'eee' => true, | ||
487 | 'A' => true, | ||
488 | 'a' => true, | ||
489 | 'zzz' => true, | ||
490 | ]; | ||
491 | $expected = [ | ||
492 | 'a' => true, | ||
493 | 'A' => true, | ||
494 | 'éae' => true, | ||
495 | 'eee' => true, | ||
496 | 'éee' => true, | ||
497 | 'zzz' => true, | ||
498 | 'zZz' => true, | ||
499 | ]; | ||
500 | |||
501 | alphabetical_sort($arr, true, true); | ||
502 | $this->assertEquals($expected, $arr); | ||
503 | } | ||
504 | |||
505 | /** | ||
506 | * Test alphabetical_sort by keys, reversed, with php-intl. | ||
507 | */ | ||
508 | public function testAlphabeticalSortByKeysReversed() | ||
509 | { | ||
510 | $arr = [ | ||
511 | 'zZz' => true, | ||
512 | 'éee' => true, | ||
513 | 'éae' => true, | ||
514 | 'eee' => true, | ||
515 | 'A' => true, | ||
516 | 'a' => true, | ||
517 | 'zzz' => true, | ||
518 | ]; | ||
519 | $expected = [ | ||
520 | 'zZz' => true, | ||
521 | 'zzz' => true, | ||
522 | 'éee' => true, | ||
523 | 'eee' => true, | ||
524 | 'éae' => true, | ||
525 | 'A' => true, | ||
526 | 'a' => true, | ||
527 | ]; | ||
528 | |||
529 | alphabetical_sort($arr, true, true); | ||
530 | $this->assertEquals($expected, $arr); | ||
531 | } | ||
420 | } | 532 | } |
diff --git a/tests/api/controllers/GetLinksTest.php b/tests/api/controllers/GetLinksTest.php index 84ae7f7a..4cb70224 100644 --- a/tests/api/controllers/GetLinksTest.php +++ b/tests/api/controllers/GetLinksTest.php | |||
@@ -95,7 +95,7 @@ class GetLinksTest extends \PHPUnit_Framework_TestCase | |||
95 | $this->assertEquals($this->refDB->countLinks(), count($data)); | 95 | $this->assertEquals($this->refDB->countLinks(), count($data)); |
96 | 96 | ||
97 | // Check order | 97 | // Check order |
98 | $order = [41, 8, 6, 7, 0, 1, 4, 42]; | 98 | $order = [41, 8, 6, 7, 0, 1, 9, 4, 42]; |
99 | $cpt = 0; | 99 | $cpt = 0; |
100 | foreach ($data as $link) { | 100 | foreach ($data as $link) { |
101 | $this->assertEquals(self::NB_FIELDS_LINK, count($link)); | 101 | $this->assertEquals(self::NB_FIELDS_LINK, count($link)); |
@@ -164,7 +164,7 @@ class GetLinksTest extends \PHPUnit_Framework_TestCase | |||
164 | $data = json_decode((string) $response->getBody(), true); | 164 | $data = json_decode((string) $response->getBody(), true); |
165 | $this->assertEquals($this->refDB->countLinks(), count($data)); | 165 | $this->assertEquals($this->refDB->countLinks(), count($data)); |
166 | // Check order | 166 | // Check order |
167 | $order = [41, 8, 6, 7, 0, 1, 4, 42]; | 167 | $order = [41, 8, 6, 7, 0, 1, 9, 4, 42]; |
168 | $cpt = 0; | 168 | $cpt = 0; |
169 | foreach ($data as $link) { | 169 | foreach ($data as $link) { |
170 | $this->assertEquals(self::NB_FIELDS_LINK, count($link)); | 170 | $this->assertEquals(self::NB_FIELDS_LINK, count($link)); |
diff --git a/tests/api/controllers/InfoTest.php b/tests/api/controllers/InfoTest.php index e85eb281..f7e63bfa 100644 --- a/tests/api/controllers/InfoTest.php +++ b/tests/api/controllers/InfoTest.php | |||
@@ -81,7 +81,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase | |||
81 | $this->assertEquals(200, $response->getStatusCode()); | 81 | $this->assertEquals(200, $response->getStatusCode()); |
82 | $data = json_decode((string) $response->getBody(), true); | 82 | $data = json_decode((string) $response->getBody(), true); |
83 | 83 | ||
84 | $this->assertEquals(8, $data['global_counter']); | 84 | $this->assertEquals(\ReferenceLinkDB::$NB_LINKS_TOTAL, $data['global_counter']); |
85 | $this->assertEquals(2, $data['private_counter']); | 85 | $this->assertEquals(2, $data['private_counter']); |
86 | $this->assertEquals('Shaarli', $data['settings']['title']); | 86 | $this->assertEquals('Shaarli', $data['settings']['title']); |
87 | $this->assertEquals('?', $data['settings']['header_link']); | 87 | $this->assertEquals('?', $data['settings']['header_link']); |
@@ -104,7 +104,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase | |||
104 | $this->assertEquals(200, $response->getStatusCode()); | 104 | $this->assertEquals(200, $response->getStatusCode()); |
105 | $data = json_decode((string) $response->getBody(), true); | 105 | $data = json_decode((string) $response->getBody(), true); |
106 | 106 | ||
107 | $this->assertEquals(8, $data['global_counter']); | 107 | $this->assertEquals(\ReferenceLinkDB::$NB_LINKS_TOTAL, $data['global_counter']); |
108 | $this->assertEquals(2, $data['private_counter']); | 108 | $this->assertEquals(2, $data['private_counter']); |
109 | $this->assertEquals($title, $data['settings']['title']); | 109 | $this->assertEquals($title, $data['settings']['title']); |
110 | $this->assertEquals($headerLink, $data['settings']['header_link']); | 110 | $this->assertEquals($headerLink, $data['settings']['header_link']); |
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php index 1f4b3063..f09eebc1 100644 --- a/tests/utils/ReferenceLinkDB.php +++ b/tests/utils/ReferenceLinkDB.php | |||
@@ -4,7 +4,7 @@ | |||
4 | */ | 4 | */ |
5 | class ReferenceLinkDB | 5 | class ReferenceLinkDB |
6 | { | 6 | { |
7 | public static $NB_LINKS_TOTAL = 8; | 7 | public static $NB_LINKS_TOTAL = 9; |
8 | 8 | ||
9 | private $_links = array(); | 9 | private $_links = array(); |
10 | private $_publicCount = 0; | 10 | private $_publicCount = 0; |
@@ -38,6 +38,16 @@ class ReferenceLinkDB | |||
38 | ); | 38 | ); |
39 | 39 | ||
40 | $this->addLink( | 40 | $this->addLink( |
41 | 9, | ||
42 | 'PSR-2: Coding Style Guide', | ||
43 | 'http://www.php-fig.org/psr/psr-2/', | ||
44 | 'This guide extends and expands on PSR-1, the basic coding standard.', | ||
45 | 0, | ||
46 | DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, '20121206_152312'), | ||
47 | '' | ||
48 | ); | ||
49 | |||
50 | $this->addLink( | ||
41 | 8, | 51 | 8, |
42 | 'Free as in Freedom 2.0 @website', | 52 | 'Free as in Freedom 2.0 @website', |
43 | 'https://static.fsf.org/nosvn/faif-2.0.pdf', | 53 | 'https://static.fsf.org/nosvn/faif-2.0.pdf', |
@@ -161,6 +171,20 @@ class ReferenceLinkDB | |||
161 | return $this->_privateCount; | 171 | return $this->_privateCount; |
162 | } | 172 | } |
163 | 173 | ||
174 | /** | ||
175 | * Returns the number of links without tag | ||
176 | */ | ||
177 | public function countUntaggedLinks() | ||
178 | { | ||
179 | $cpt = 0; | ||
180 | foreach ($this->_links as $link) { | ||
181 | if (empty($link['tags'])) { | ||
182 | ++$cpt; | ||
183 | } | ||
184 | } | ||
185 | return $cpt; | ||
186 | } | ||
187 | |||
164 | public function getLinks() | 188 | public function getLinks() |
165 | { | 189 | { |
166 | return $this->_links; | 190 | return $this->_links; |