diff options
Diffstat (limited to 'tests/bookmark/BookmarkTest.php')
-rw-r--r-- | tests/bookmark/BookmarkTest.php | 94 |
1 files changed, 50 insertions, 44 deletions
diff --git a/tests/bookmark/BookmarkTest.php b/tests/bookmark/BookmarkTest.php index 9a3bbbfc..4c1ae25d 100644 --- a/tests/bookmark/BookmarkTest.php +++ b/tests/bookmark/BookmarkTest.php | |||
@@ -2,8 +2,8 @@ | |||
2 | 2 | ||
3 | namespace Shaarli\Bookmark; | 3 | namespace Shaarli\Bookmark; |
4 | 4 | ||
5 | use PHPUnit\Framework\TestCase; | ||
6 | use Shaarli\Bookmark\Exception\InvalidBookmarkException; | 5 | use Shaarli\Bookmark\Exception\InvalidBookmarkException; |
6 | use Shaarli\TestCase; | ||
7 | 7 | ||
8 | /** | 8 | /** |
9 | * Class BookmarkTest | 9 | * Class BookmarkTest |
@@ -124,8 +124,8 @@ class BookmarkTest extends TestCase | |||
124 | $this->assertEquals(1, $bookmark->getId()); | 124 | $this->assertEquals(1, $bookmark->getId()); |
125 | $this->assertEquals('abc', $bookmark->getShortUrl()); | 125 | $this->assertEquals('abc', $bookmark->getShortUrl()); |
126 | $this->assertEquals($date, $bookmark->getCreated()); | 126 | $this->assertEquals($date, $bookmark->getCreated()); |
127 | $this->assertEquals('?abc', $bookmark->getUrl()); | 127 | $this->assertEquals('/shaare/abc', $bookmark->getUrl()); |
128 | $this->assertEquals('?abc', $bookmark->getTitle()); | 128 | $this->assertEquals('/shaare/abc', $bookmark->getTitle()); |
129 | $this->assertEquals('', $bookmark->getDescription()); | 129 | $this->assertEquals('', $bookmark->getDescription()); |
130 | $this->assertEquals([], $bookmark->getTags()); | 130 | $this->assertEquals([], $bookmark->getTags()); |
131 | $this->assertEquals('', $bookmark->getTagsString()); | 131 | $this->assertEquals('', $bookmark->getTagsString()); |
@@ -150,26 +150,7 @@ class BookmarkTest extends TestCase | |||
150 | $exception = $e; | 150 | $exception = $e; |
151 | } | 151 | } |
152 | $this->assertNotNull($exception); | 152 | $this->assertNotNull($exception); |
153 | $this->assertContains('- ID: '. PHP_EOL, $exception->getMessage()); | 153 | $this->assertContainsPolyfill('- ID: '. PHP_EOL, $exception->getMessage()); |
154 | } | ||
155 | |||
156 | /** | ||
157 | * Test validate() with a a bookmark with a non integer ID. | ||
158 | */ | ||
159 | public function testValidateNotValidStringId() | ||
160 | { | ||
161 | $bookmark = new Bookmark(); | ||
162 | $bookmark->setId('str'); | ||
163 | $bookmark->setShortUrl('abc'); | ||
164 | $bookmark->setCreated(\DateTime::createFromFormat('Ymd_His', '20190514_200102')); | ||
165 | $exception = null; | ||
166 | try { | ||
167 | $bookmark->validate(); | ||
168 | } catch (InvalidBookmarkException $e) { | ||
169 | $exception = $e; | ||
170 | } | ||
171 | $this->assertNotNull($exception); | ||
172 | $this->assertContains('- ID: str'. PHP_EOL, $exception->getMessage()); | ||
173 | } | 154 | } |
174 | 155 | ||
175 | /** | 156 | /** |
@@ -188,7 +169,7 @@ class BookmarkTest extends TestCase | |||
188 | $exception = $e; | 169 | $exception = $e; |
189 | } | 170 | } |
190 | $this->assertNotNull($exception); | 171 | $this->assertNotNull($exception); |
191 | $this->assertContains('- ShortUrl: '. PHP_EOL, $exception->getMessage()); | 172 | $this->assertContainsPolyfill('- ShortUrl: '. PHP_EOL, $exception->getMessage()); |
192 | } | 173 | } |
193 | 174 | ||
194 | /** | 175 | /** |
@@ -207,26 +188,7 @@ class BookmarkTest extends TestCase | |||
207 | $exception = $e; | 188 | $exception = $e; |
208 | } | 189 | } |
209 | $this->assertNotNull($exception); | 190 | $this->assertNotNull($exception); |
210 | $this->assertContains('- Created: '. PHP_EOL, $exception->getMessage()); | 191 | $this->assertContainsPolyfill('- Created: '. PHP_EOL, $exception->getMessage()); |
211 | } | ||
212 | |||
213 | /** | ||
214 | * Test validate() with a a bookmark with a bad created datetime. | ||
215 | */ | ||
216 | public function testValidateNotValidBadCreated() | ||
217 | { | ||
218 | $bookmark = new Bookmark(); | ||
219 | $bookmark->setId(1); | ||
220 | $bookmark->setShortUrl('abc'); | ||
221 | $bookmark->setCreated('hi!'); | ||
222 | $exception = null; | ||
223 | try { | ||
224 | $bookmark->validate(); | ||
225 | } catch (InvalidBookmarkException $e) { | ||
226 | $exception = $e; | ||
227 | } | ||
228 | $this->assertNotNull($exception); | ||
229 | $this->assertContains('- Created: Not a DateTime object'. PHP_EOL, $exception->getMessage()); | ||
230 | } | 192 | } |
231 | 193 | ||
232 | /** | 194 | /** |
@@ -385,4 +347,48 @@ class BookmarkTest extends TestCase | |||
385 | $bookmark->deleteTag('nope'); | 347 | $bookmark->deleteTag('nope'); |
386 | $this->assertEquals(['tag1', 'tag2', 'chair'], $bookmark->getTags()); | 348 | $this->assertEquals(['tag1', 'tag2', 'chair'], $bookmark->getTags()); |
387 | } | 349 | } |
350 | |||
351 | /** | ||
352 | * Test shouldUpdateThumbnail() with bookmarks needing an update. | ||
353 | */ | ||
354 | public function testShouldUpdateThumbnail(): void | ||
355 | { | ||
356 | $bookmark = (new Bookmark())->setUrl('http://domain.tld/with-image'); | ||
357 | |||
358 | static::assertTrue($bookmark->shouldUpdateThumbnail()); | ||
359 | |||
360 | $bookmark = (new Bookmark()) | ||
361 | ->setUrl('http://domain.tld/with-image') | ||
362 | ->setThumbnail('unknown file') | ||
363 | ; | ||
364 | |||
365 | static::assertTrue($bookmark->shouldUpdateThumbnail()); | ||
366 | } | ||
367 | |||
368 | /** | ||
369 | * Test shouldUpdateThumbnail() with bookmarks that should not update. | ||
370 | */ | ||
371 | public function testShouldNotUpdateThumbnail(): void | ||
372 | { | ||
373 | $bookmark = (new Bookmark()); | ||
374 | |||
375 | static::assertFalse($bookmark->shouldUpdateThumbnail()); | ||
376 | |||
377 | $bookmark = (new Bookmark()) | ||
378 | ->setUrl('ftp://domain.tld/other-protocol', ['ftp']) | ||
379 | ; | ||
380 | |||
381 | static::assertFalse($bookmark->shouldUpdateThumbnail()); | ||
382 | |||
383 | $bookmark = (new Bookmark()) | ||
384 | ->setUrl('http://domain.tld/with-image') | ||
385 | ->setThumbnail(__FILE__) | ||
386 | ; | ||
387 | |||
388 | static::assertFalse($bookmark->shouldUpdateThumbnail()); | ||
389 | |||
390 | $bookmark = (new Bookmark())->setUrl('/shaare/abcdef'); | ||
391 | |||
392 | static::assertFalse($bookmark->shouldUpdateThumbnail()); | ||
393 | } | ||
388 | } | 394 | } |