diff options
Diffstat (limited to 'tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php')
-rw-r--r-- | tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php | 100 |
1 files changed, 92 insertions, 8 deletions
diff --git a/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php b/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php index 3dd9273c..c7caac1d 100644 --- a/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php +++ b/tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php | |||
@@ -163,7 +163,7 @@ class ContentProxyTest extends TestCase | |||
163 | 163 | ||
164 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 164 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
165 | $this->assertSame('this is my title', $entry->getTitle()); | 165 | $this->assertSame('this is my title', $entry->getTitle()); |
166 | $this->assertContains('this is my content', $entry->getContent()); | 166 | $this->assertContains('content', $entry->getContent()); |
167 | $this->assertSame('http://3.3.3.3/cover.jpg', $entry->getPreviewPicture()); | 167 | $this->assertSame('http://3.3.3.3/cover.jpg', $entry->getPreviewPicture()); |
168 | $this->assertSame('text/html', $entry->getMimetype()); | 168 | $this->assertSame('text/html', $entry->getMimetype()); |
169 | $this->assertSame('fr', $entry->getLanguage()); | 169 | $this->assertSame('fr', $entry->getLanguage()); |
@@ -205,7 +205,7 @@ class ContentProxyTest extends TestCase | |||
205 | 205 | ||
206 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 206 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
207 | $this->assertSame('this is my title', $entry->getTitle()); | 207 | $this->assertSame('this is my title', $entry->getTitle()); |
208 | $this->assertContains('this is my content', $entry->getContent()); | 208 | $this->assertContains('content', $entry->getContent()); |
209 | $this->assertNull($entry->getPreviewPicture()); | 209 | $this->assertNull($entry->getPreviewPicture()); |
210 | $this->assertSame('text/html', $entry->getMimetype()); | 210 | $this->assertSame('text/html', $entry->getMimetype()); |
211 | $this->assertSame('fr', $entry->getLanguage()); | 211 | $this->assertSame('fr', $entry->getLanguage()); |
@@ -214,6 +214,90 @@ class ContentProxyTest extends TestCase | |||
214 | $this->assertSame('1.1.1.1', $entry->getDomainName()); | 214 | $this->assertSame('1.1.1.1', $entry->getDomainName()); |
215 | } | 215 | } |
216 | 216 | ||
217 | public function testWithContentAndContentImage() | ||
218 | { | ||
219 | $tagger = $this->getTaggerMock(); | ||
220 | $tagger->expects($this->once()) | ||
221 | ->method('tag'); | ||
222 | |||
223 | $graby = $this->getMockBuilder('Graby\Graby') | ||
224 | ->setMethods(['fetchContent']) | ||
225 | ->disableOriginalConstructor() | ||
226 | ->getMock(); | ||
227 | |||
228 | $graby->expects($this->any()) | ||
229 | ->method('fetchContent') | ||
230 | ->willReturn([ | ||
231 | 'html' => "<h1>Test</h1><p><img src='http://3.3.3.3/cover.jpg'/></p>", | ||
232 | 'title' => 'this is my title', | ||
233 | 'url' => 'http://1.1.1.1', | ||
234 | 'content_type' => 'text/html', | ||
235 | 'language' => 'fr', | ||
236 | 'status' => '200', | ||
237 | 'open_graph' => [ | ||
238 | 'og_title' => 'my OG title', | ||
239 | 'og_description' => 'OG desc', | ||
240 | 'og_image' => null, | ||
241 | ], | ||
242 | ]); | ||
243 | |||
244 | $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage); | ||
245 | $entry = new Entry(new User()); | ||
246 | $proxy->updateEntry($entry, 'http://0.0.0.0'); | ||
247 | |||
248 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | ||
249 | $this->assertSame('this is my title', $entry->getTitle()); | ||
250 | $this->assertSame("<h1>Test</h1><p><img src='http://3.3.3.3/cover.jpg'/></p>", $entry->getContent()); | ||
251 | $this->assertSame('http://3.3.3.3/cover.jpg', $entry->getPreviewPicture()); | ||
252 | $this->assertSame('text/html', $entry->getMimetype()); | ||
253 | $this->assertSame('fr', $entry->getLanguage()); | ||
254 | $this->assertSame('200', $entry->getHttpStatus()); | ||
255 | $this->assertSame(0.0, $entry->getReadingTime()); | ||
256 | $this->assertSame('1.1.1.1', $entry->getDomainName()); | ||
257 | } | ||
258 | |||
259 | public function testWithContentImageAndOgImage() | ||
260 | { | ||
261 | $tagger = $this->getTaggerMock(); | ||
262 | $tagger->expects($this->once()) | ||
263 | ->method('tag'); | ||
264 | |||
265 | $graby = $this->getMockBuilder('Graby\Graby') | ||
266 | ->setMethods(['fetchContent']) | ||
267 | ->disableOriginalConstructor() | ||
268 | ->getMock(); | ||
269 | |||
270 | $graby->expects($this->any()) | ||
271 | ->method('fetchContent') | ||
272 | ->willReturn([ | ||
273 | 'html' => "<h1>Test</h1><p><img src='http://3.3.3.3/nevermind.jpg'/></p>", | ||
274 | 'title' => 'this is my title', | ||
275 | 'url' => 'http://1.1.1.1', | ||
276 | 'content_type' => 'text/html', | ||
277 | 'language' => 'fr', | ||
278 | 'status' => '200', | ||
279 | 'open_graph' => [ | ||
280 | 'og_title' => 'my OG title', | ||
281 | 'og_description' => 'OG desc', | ||
282 | 'og_image' => 'http://3.3.3.3/cover.jpg', | ||
283 | ], | ||
284 | ]); | ||
285 | |||
286 | $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage); | ||
287 | $entry = new Entry(new User()); | ||
288 | $proxy->updateEntry($entry, 'http://0.0.0.0'); | ||
289 | |||
290 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | ||
291 | $this->assertSame('this is my title', $entry->getTitle()); | ||
292 | $this->assertSame("<h1>Test</h1><p><img src='http://3.3.3.3/nevermind.jpg'/></p>", $entry->getContent()); | ||
293 | $this->assertSame('http://3.3.3.3/cover.jpg', $entry->getPreviewPicture()); | ||
294 | $this->assertSame('text/html', $entry->getMimetype()); | ||
295 | $this->assertSame('fr', $entry->getLanguage()); | ||
296 | $this->assertSame('200', $entry->getHttpStatus()); | ||
297 | $this->assertSame(0.0, $entry->getReadingTime()); | ||
298 | $this->assertSame('1.1.1.1', $entry->getDomainName()); | ||
299 | } | ||
300 | |||
217 | public function testWithContentAndBadLanguage() | 301 | public function testWithContentAndBadLanguage() |
218 | { | 302 | { |
219 | $tagger = $this->getTaggerMock(); | 303 | $tagger = $this->getTaggerMock(); |
@@ -247,7 +331,7 @@ class ContentProxyTest extends TestCase | |||
247 | 331 | ||
248 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 332 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
249 | $this->assertSame('this is my title', $entry->getTitle()); | 333 | $this->assertSame('this is my title', $entry->getTitle()); |
250 | $this->assertContains('this is my content', $entry->getContent()); | 334 | $this->assertContains('content', $entry->getContent()); |
251 | $this->assertSame('text/html', $entry->getMimetype()); | 335 | $this->assertSame('text/html', $entry->getMimetype()); |
252 | $this->assertNull($entry->getLanguage()); | 336 | $this->assertNull($entry->getLanguage()); |
253 | $this->assertSame('200', $entry->getHttpStatus()); | 337 | $this->assertSame('200', $entry->getHttpStatus()); |
@@ -296,7 +380,7 @@ class ContentProxyTest extends TestCase | |||
296 | 380 | ||
297 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 381 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
298 | $this->assertSame('this is my title', $entry->getTitle()); | 382 | $this->assertSame('this is my title', $entry->getTitle()); |
299 | $this->assertContains('this is my content', $entry->getContent()); | 383 | $this->assertContains('content', $entry->getContent()); |
300 | $this->assertNull($entry->getPreviewPicture()); | 384 | $this->assertNull($entry->getPreviewPicture()); |
301 | $this->assertSame('text/html', $entry->getMimetype()); | 385 | $this->assertSame('text/html', $entry->getMimetype()); |
302 | $this->assertSame('fr', $entry->getLanguage()); | 386 | $this->assertSame('fr', $entry->getLanguage()); |
@@ -332,7 +416,7 @@ class ContentProxyTest extends TestCase | |||
332 | 416 | ||
333 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 417 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
334 | $this->assertSame('this is my title', $entry->getTitle()); | 418 | $this->assertSame('this is my title', $entry->getTitle()); |
335 | $this->assertContains('this is my content', $entry->getContent()); | 419 | $this->assertContains('content', $entry->getContent()); |
336 | $this->assertSame('text/html', $entry->getMimetype()); | 420 | $this->assertSame('text/html', $entry->getMimetype()); |
337 | $this->assertSame('fr', $entry->getLanguage()); | 421 | $this->assertSame('fr', $entry->getLanguage()); |
338 | $this->assertSame(4.0, $entry->getReadingTime()); | 422 | $this->assertSame(4.0, $entry->getReadingTime()); |
@@ -371,7 +455,7 @@ class ContentProxyTest extends TestCase | |||
371 | 455 | ||
372 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 456 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
373 | $this->assertSame('this is my title', $entry->getTitle()); | 457 | $this->assertSame('this is my title', $entry->getTitle()); |
374 | $this->assertContains('this is my content', $entry->getContent()); | 458 | $this->assertContains('content', $entry->getContent()); |
375 | $this->assertSame('text/html', $entry->getMimetype()); | 459 | $this->assertSame('text/html', $entry->getMimetype()); |
376 | $this->assertSame('fr', $entry->getLanguage()); | 460 | $this->assertSame('fr', $entry->getLanguage()); |
377 | $this->assertSame(4.0, $entry->getReadingTime()); | 461 | $this->assertSame(4.0, $entry->getReadingTime()); |
@@ -406,7 +490,7 @@ class ContentProxyTest extends TestCase | |||
406 | 490 | ||
407 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); | 491 | $this->assertSame('http://1.1.1.1', $entry->getUrl()); |
408 | $this->assertSame('this is my title', $entry->getTitle()); | 492 | $this->assertSame('this is my title', $entry->getTitle()); |
409 | $this->assertContains('this is my content', $entry->getContent()); | 493 | $this->assertContains('content', $entry->getContent()); |
410 | $this->assertSame('text/html', $entry->getMimetype()); | 494 | $this->assertSame('text/html', $entry->getMimetype()); |
411 | $this->assertSame('fr', $entry->getLanguage()); | 495 | $this->assertSame('fr', $entry->getLanguage()); |
412 | $this->assertSame(4.0, $entry->getReadingTime()); | 496 | $this->assertSame(4.0, $entry->getReadingTime()); |
@@ -415,7 +499,7 @@ class ContentProxyTest extends TestCase | |||
415 | 499 | ||
416 | $records = $handler->getRecords(); | 500 | $records = $handler->getRecords(); |
417 | 501 | ||
418 | $this->assertCount(1, $records); | 502 | $this->assertCount(3, $records); |
419 | $this->assertContains('Error while defining date', $records[0]['message']); | 503 | $this->assertContains('Error while defining date', $records[0]['message']); |
420 | } | 504 | } |
421 | 505 | ||