diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-01-20 23:34:33 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-02-15 20:40:39 +0100 |
commit | 21979ff11ceee0042642ac17147858a4155d54c5 (patch) | |
tree | 9527f3dbb2a23e0b42a2f9ce4cc7d4c7580da455 /tests | |
parent | 6e607ca613b47e17f7516e94adfee930d4f3e1e8 (diff) | |
download | Shaarli-21979ff11ceee0042642ac17147858a4155d54c5.tar.gz Shaarli-21979ff11ceee0042642ac17147858a4155d54c5.tar.zst Shaarli-21979ff11ceee0042642ac17147858a4155d54c5.zip |
Add exclusion in tag search
* Searching '-mytag' will now exlude all shaares with 'mytag' tag.
* All tags starting with a '-' are renamed without it (through the Updater).
* Unit tests.
Minor code changes:
* LinkDB->filter() can now take no parameters (get all link depending on logged status).
* tagsStrToArray() is now static and filters blank tags.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/LinkDBTest.php | 6 | ||||
-rw-r--r-- | tests/LinkFilterTest.php | 16 | ||||
-rw-r--r-- | tests/Updater/UpdaterTest.php | 18 | ||||
-rw-r--r-- | tests/utils/ReferenceLinkDB.php | 2 |
4 files changed, 39 insertions, 3 deletions
diff --git a/tests/LinkDBTest.php b/tests/LinkDBTest.php index 3b1a2057..06edea79 100644 --- a/tests/LinkDBTest.php +++ b/tests/LinkDBTest.php | |||
@@ -276,7 +276,8 @@ class LinkDBTest extends PHPUnit_Framework_TestCase | |||
276 | 'media' => 1, | 276 | 'media' => 1, |
277 | 'software' => 1, | 277 | 'software' => 1, |
278 | 'stallman' => 1, | 278 | 'stallman' => 1, |
279 | 'free' => 1 | 279 | 'free' => 1, |
280 | '-exclude' => 1, | ||
280 | ), | 281 | ), |
281 | self::$publicLinkDB->allTags() | 282 | self::$publicLinkDB->allTags() |
282 | ); | 283 | ); |
@@ -295,7 +296,8 @@ class LinkDBTest extends PHPUnit_Framework_TestCase | |||
295 | 'html' => 1, | 296 | 'html' => 1, |
296 | 'w3c' => 1, | 297 | 'w3c' => 1, |
297 | 'css' => 1, | 298 | 'css' => 1, |
298 | 'Mercurial' => 1 | 299 | 'Mercurial' => 1, |
300 | '-exclude' => 1, | ||
299 | ), | 301 | ), |
300 | self::$privateLinkDB->allTags() | 302 | self::$privateLinkDB->allTags() |
301 | ); | 303 | ); |
diff --git a/tests/LinkFilterTest.php b/tests/LinkFilterTest.php index 5fb2423f..164af0d4 100644 --- a/tests/LinkFilterTest.php +++ b/tests/LinkFilterTest.php | |||
@@ -254,4 +254,20 @@ class LinkFilterTest extends PHPUnit_Framework_TestCase | |||
254 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free software')) | 254 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free software')) |
255 | ); | 255 | ); |
256 | } | 256 | } |
257 | |||
258 | /** | ||
259 | * Tag search with exclusion. | ||
260 | */ | ||
261 | public function testTagFilterWithExclusion() | ||
262 | { | ||
263 | $this->assertEquals( | ||
264 | 1, | ||
265 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, 'gnu -free')) | ||
266 | ); | ||
267 | |||
268 | $this->assertEquals( | ||
269 | 5, | ||
270 | count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free')) | ||
271 | ); | ||
272 | } | ||
257 | } | 273 | } |
diff --git a/tests/Updater/UpdaterTest.php b/tests/Updater/UpdaterTest.php index 63ed5e03..84b82350 100644 --- a/tests/Updater/UpdaterTest.php +++ b/tests/Updater/UpdaterTest.php | |||
@@ -14,6 +14,11 @@ class UpdaterTest extends PHPUnit_Framework_TestCase | |||
14 | private static $configFields; | 14 | private static $configFields; |
15 | 15 | ||
16 | /** | 16 | /** |
17 | * @var string Path to test datastore. | ||
18 | */ | ||
19 | protected static $testDatastore = 'sandbox/datastore.php'; | ||
20 | |||
21 | /** | ||
17 | * Executed before each test. | 22 | * Executed before each test. |
18 | */ | 23 | */ |
19 | public function setUp() | 24 | public function setUp() |
@@ -31,6 +36,7 @@ class UpdaterTest extends PHPUnit_Framework_TestCase | |||
31 | 'config' => array( | 36 | 'config' => array( |
32 | 'CONFIG_FILE' => 'tests/Updater/config.php', | 37 | 'CONFIG_FILE' => 'tests/Updater/config.php', |
33 | 'DATADIR' => 'tests/Updater', | 38 | 'DATADIR' => 'tests/Updater', |
39 | 'PAGECACHE' => 'sandbox/pagecache', | ||
34 | 'config1' => 'config1data', | 40 | 'config1' => 'config1data', |
35 | 'config2' => 'config2data', | 41 | 'config2' => 'config2data', |
36 | ) | 42 | ) |
@@ -224,4 +230,16 @@ class UpdaterTest extends PHPUnit_Framework_TestCase | |||
224 | include self::$configFields['config']['CONFIG_FILE']; | 230 | include self::$configFields['config']['CONFIG_FILE']; |
225 | $this->assertEquals(self::$configFields['login'], $GLOBALS['login']); | 231 | $this->assertEquals(self::$configFields['login'], $GLOBALS['login']); |
226 | } | 232 | } |
233 | |||
234 | public function testRenameDashTags() | ||
235 | { | ||
236 | $refDB = new ReferenceLinkDB(); | ||
237 | $refDB->write(self::$testDatastore); | ||
238 | $linkDB = new LinkDB(self::$testDatastore, true, false); | ||
239 | $this->assertEmpty($linkDB->filter(LinkFilter::$FILTER_TAG, 'exclude')); | ||
240 | $updater = new Updater(array(), self::$configFields, $linkDB, true); | ||
241 | $updater->updateMethodRenameDashTags(); | ||
242 | var_dump($linkDB->filter(LinkFilter::$FILTER_TAG, 'exclude')); | ||
243 | $this->assertNotEmpty($linkDB->filter(LinkFilter::$FILTER_TAG, 'exclude')); | ||
244 | } | ||
227 | } | 245 | } |
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php index 011317ef..2f188d29 100644 --- a/tests/utils/ReferenceLinkDB.php +++ b/tests/utils/ReferenceLinkDB.php | |||
@@ -19,7 +19,7 @@ class ReferenceLinkDB | |||
19 | 'Richard Stallman and the Free Software Revolution', | 19 | 'Richard Stallman and the Free Software Revolution', |
20 | 0, | 20 | 0, |
21 | '20150310_114633', | 21 | '20150310_114633', |
22 | 'free gnu software stallman' | 22 | 'free gnu software stallman -exclude' |
23 | ); | 23 | ); |
24 | 24 | ||
25 | $this->addLink( | 25 | $this->addLink( |