diff options
author | ArthurHoaro <arthur@hoa.ro> | 2020-01-18 11:33:23 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2020-01-18 11:39:26 +0100 |
commit | a39acb2518f272df8a601af72c13eabe2719dcb8 (patch) | |
tree | fb8bda9de5bea9d73553c3d54610eb211d7de6fb /tests | |
parent | 3fb29fdda04ca86e04422d49b86cf646d53c4f9d (diff) | |
download | Shaarli-a39acb2518f272df8a601af72c13eabe2719dcb8.tar.gz Shaarli-a39acb2518f272df8a601af72c13eabe2719dcb8.tar.zst Shaarli-a39acb2518f272df8a601af72c13eabe2719dcb8.zip |
Fix an issue with private tags and fix nomarkdown tag
The new bookmark service wasn't handling private tags properly.
nomarkdown tag is now shown only for logged in user in bookmarks, and hidden for everyone in tag clouds/lists.
Fixes #726
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bookmark/BookmarkFileServiceTest.php | 41 | ||||
-rw-r--r-- | tests/feed/FeedBuilderTest.php | 2 | ||||
-rw-r--r-- | tests/formatter/BookmarkDefaultFormatterTest.php | 23 | ||||
-rw-r--r-- | tests/formatter/BookmarkMarkdownFormatterTest.php | 2 | ||||
-rw-r--r-- | tests/formatter/BookmarkRawFormatterTest.php | 2 | ||||
-rw-r--r-- | tests/formatter/FormatterFactoryTest.php | 2 | ||||
-rw-r--r-- | tests/netscape/BookmarkExportTest.php | 2 |
7 files changed, 68 insertions, 6 deletions
diff --git a/tests/bookmark/BookmarkFileServiceTest.php b/tests/bookmark/BookmarkFileServiceTest.php index 1b438a7f..4900d41d 100644 --- a/tests/bookmark/BookmarkFileServiceTest.php +++ b/tests/bookmark/BookmarkFileServiceTest.php | |||
@@ -12,6 +12,7 @@ use ReflectionClass; | |||
12 | use Shaarli; | 12 | use Shaarli; |
13 | use Shaarli\Bookmark\Exception\BookmarkNotFoundException; | 13 | use Shaarli\Bookmark\Exception\BookmarkNotFoundException; |
14 | use Shaarli\Config\ConfigManager; | 14 | use Shaarli\Config\ConfigManager; |
15 | use Shaarli\Formatter\BookmarkMarkdownFormatter; | ||
15 | use Shaarli\History; | 16 | use Shaarli\History; |
16 | 17 | ||
17 | /** | 18 | /** |
@@ -1026,6 +1027,46 @@ class BookmarkFileServiceTest extends TestCase | |||
1026 | } | 1027 | } |
1027 | 1028 | ||
1028 | /** | 1029 | /** |
1030 | * Test linksCountPerTag public tags with filter. | ||
1031 | * Equal occurrences should be sorted alphabetically. | ||
1032 | */ | ||
1033 | public function testCountTagsNoMarkdown() | ||
1034 | { | ||
1035 | $expected = [ | ||
1036 | 'cartoon' => 3, | ||
1037 | 'dev' => 2, | ||
1038 | 'tag1' => 1, | ||
1039 | 'tag2' => 1, | ||
1040 | 'tag3' => 1, | ||
1041 | 'tag4' => 1, | ||
1042 | 'web' => 4, | ||
1043 | 'gnu' => 2, | ||
1044 | 'hashtag' => 2, | ||
1045 | 'sTuff' => 2, | ||
1046 | '-exclude' => 1, | ||
1047 | '.hidden' => 1, | ||
1048 | 'Mercurial' => 1, | ||
1049 | 'css' => 1, | ||
1050 | 'free' => 1, | ||
1051 | 'html' => 1, | ||
1052 | 'media' => 1, | ||
1053 | 'newTagToCount' => 1, | ||
1054 | 'samba' => 1, | ||
1055 | 'software' => 1, | ||
1056 | 'stallman' => 1, | ||
1057 | 'ut' => 1, | ||
1058 | 'w3c' => 1, | ||
1059 | ]; | ||
1060 | $bookmark = new Bookmark(); | ||
1061 | $bookmark->setTags(['newTagToCount', BookmarkMarkdownFormatter::NO_MD_TAG]); | ||
1062 | $this->privateLinkDB->add($bookmark); | ||
1063 | |||
1064 | $tags = $this->privateLinkDB->bookmarksCountPerTag(); | ||
1065 | |||
1066 | $this->assertEquals($expected, $tags, var_export($tags, true)); | ||
1067 | } | ||
1068 | |||
1069 | /** | ||
1029 | * Allows to test LinkDB's private methods | 1070 | * Allows to test LinkDB's private methods |
1030 | * | 1071 | * |
1031 | * @see | 1072 | * @see |
diff --git a/tests/feed/FeedBuilderTest.php b/tests/feed/FeedBuilderTest.php index a43ff672..54671891 100644 --- a/tests/feed/FeedBuilderTest.php +++ b/tests/feed/FeedBuilderTest.php | |||
@@ -51,7 +51,7 @@ class FeedBuilderTest extends \PHPUnit\Framework\TestCase | |||
51 | $refLinkDB = new \ReferenceLinkDB(); | 51 | $refLinkDB = new \ReferenceLinkDB(); |
52 | $refLinkDB->write(self::$testDatastore); | 52 | $refLinkDB->write(self::$testDatastore); |
53 | $history = new History('sandbox/history.php'); | 53 | $history = new History('sandbox/history.php'); |
54 | $factory = new FormatterFactory($conf); | 54 | $factory = new FormatterFactory($conf, true); |
55 | self::$formatter = $factory->getFormatter(); | 55 | self::$formatter = $factory->getFormatter(); |
56 | self::$bookmarkService = new BookmarkFileService($conf, $history, true); | 56 | self::$bookmarkService = new BookmarkFileService($conf, $history, true); |
57 | 57 | ||
diff --git a/tests/formatter/BookmarkDefaultFormatterTest.php b/tests/formatter/BookmarkDefaultFormatterTest.php index fe42a208..382a560e 100644 --- a/tests/formatter/BookmarkDefaultFormatterTest.php +++ b/tests/formatter/BookmarkDefaultFormatterTest.php | |||
@@ -29,7 +29,7 @@ class BookmarkDefaultFormatterTest extends TestCase | |||
29 | { | 29 | { |
30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); | 30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); |
31 | $this->conf = new ConfigManager(self::$testConf); | 31 | $this->conf = new ConfigManager(self::$testConf); |
32 | $this->formatter = new BookmarkDefaultFormatter($this->conf); | 32 | $this->formatter = new BookmarkDefaultFormatter($this->conf, true); |
33 | } | 33 | } |
34 | 34 | ||
35 | /** | 35 | /** |
@@ -153,4 +153,25 @@ class BookmarkDefaultFormatterTest extends TestCase | |||
153 | $link['description'] | 153 | $link['description'] |
154 | ); | 154 | ); |
155 | } | 155 | } |
156 | |||
157 | /** | ||
158 | * Make sure that private tags are properly filtered out when the user is logged out. | ||
159 | */ | ||
160 | public function testFormatTagListRemovePrivate(): void | ||
161 | { | ||
162 | $this->formatter = new BookmarkDefaultFormatter($this->conf, false); | ||
163 | |||
164 | $bookmark = new Bookmark(); | ||
165 | $bookmark->setId($id = 11); | ||
166 | $bookmark->setTags($tags = ['bookmark', '.private', 'othertag']); | ||
167 | |||
168 | $link = $this->formatter->format($bookmark); | ||
169 | |||
170 | unset($tags[1]); | ||
171 | $tags = array_values($tags); | ||
172 | |||
173 | $this->assertSame(11, $link['id']); | ||
174 | $this->assertSame($tags, $link['taglist']); | ||
175 | $this->assertSame(implode(' ', $tags), $link['tags']); | ||
176 | } | ||
156 | } | 177 | } |
diff --git a/tests/formatter/BookmarkMarkdownFormatterTest.php b/tests/formatter/BookmarkMarkdownFormatterTest.php index 0ca7f802..f1f12c04 100644 --- a/tests/formatter/BookmarkMarkdownFormatterTest.php +++ b/tests/formatter/BookmarkMarkdownFormatterTest.php | |||
@@ -29,7 +29,7 @@ class BookmarkMarkdownFormatterTest extends TestCase | |||
29 | { | 29 | { |
30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); | 30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); |
31 | $this->conf = new ConfigManager(self::$testConf); | 31 | $this->conf = new ConfigManager(self::$testConf); |
32 | $this->formatter = new BookmarkMarkdownFormatter($this->conf); | 32 | $this->formatter = new BookmarkMarkdownFormatter($this->conf, true); |
33 | } | 33 | } |
34 | 34 | ||
35 | /** | 35 | /** |
diff --git a/tests/formatter/BookmarkRawFormatterTest.php b/tests/formatter/BookmarkRawFormatterTest.php index ceb6fb73..4491b035 100644 --- a/tests/formatter/BookmarkRawFormatterTest.php +++ b/tests/formatter/BookmarkRawFormatterTest.php | |||
@@ -29,7 +29,7 @@ class BookmarkRawFormatterTest extends TestCase | |||
29 | { | 29 | { |
30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); | 30 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); |
31 | $this->conf = new ConfigManager(self::$testConf); | 31 | $this->conf = new ConfigManager(self::$testConf); |
32 | $this->formatter = new BookmarkRawFormatter($this->conf); | 32 | $this->formatter = new BookmarkRawFormatter($this->conf, true); |
33 | } | 33 | } |
34 | 34 | ||
35 | /** | 35 | /** |
diff --git a/tests/formatter/FormatterFactoryTest.php b/tests/formatter/FormatterFactoryTest.php index 317c0b2d..5adf3ffd 100644 --- a/tests/formatter/FormatterFactoryTest.php +++ b/tests/formatter/FormatterFactoryTest.php | |||
@@ -28,7 +28,7 @@ class FormatterFactoryTest extends TestCase | |||
28 | { | 28 | { |
29 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); | 29 | copy('tests/utils/config/configJson.json.php', self::$testConf .'.json.php'); |
30 | $this->conf = new ConfigManager(self::$testConf); | 30 | $this->conf = new ConfigManager(self::$testConf); |
31 | $this->factory = new FormatterFactory($this->conf); | 31 | $this->factory = new FormatterFactory($this->conf, true); |
32 | } | 32 | } |
33 | 33 | ||
34 | /** | 34 | /** |
diff --git a/tests/netscape/BookmarkExportTest.php b/tests/netscape/BookmarkExportTest.php index 011d19ac..6c948bba 100644 --- a/tests/netscape/BookmarkExportTest.php +++ b/tests/netscape/BookmarkExportTest.php | |||
@@ -46,7 +46,7 @@ class BookmarkExportTest extends \PHPUnit\Framework\TestCase | |||
46 | self::$refDb->write(self::$testDatastore); | 46 | self::$refDb->write(self::$testDatastore); |
47 | $history = new History('sandbox/history.php'); | 47 | $history = new History('sandbox/history.php'); |
48 | self::$bookmarkService = new BookmarkFileService($conf, $history, true); | 48 | self::$bookmarkService = new BookmarkFileService($conf, $history, true); |
49 | $factory = new FormatterFactory($conf); | 49 | $factory = new FormatterFactory($conf, true); |
50 | self::$formatter = $factory->getFormatter('raw'); | 50 | self::$formatter = $factory->getFormatter('raw'); |
51 | } | 51 | } |
52 | 52 | ||