]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Tests/Helper/ContentProxyTest.php
Add missing use statement
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Tests / Helper / ContentProxyTest.php
CommitLineData
558d9aab
JB
1<?php
2
3namespace Wallabag\CoreBundle\Tests\Helper;
4
558d9aab 5use Wallabag\CoreBundle\Entity\Entry;
1210dae1 6use Wallabag\UserBundle\Entity\User;
558d9aab
JB
7use Wallabag\CoreBundle\Helper\ContentProxy;
8
8a493541 9class ContentProxyTest extends \PHPUnit_Framework_TestCase
558d9aab
JB
10{
11 public function testWithEmptyContent()
12 {
13 $graby = $this->getMockBuilder('Graby\Graby')
14 ->setMethods(array('fetchContent'))
15 ->disableOriginalConstructor()
16 ->getMock();
17
18 $graby->expects($this->any())
19 ->method('fetchContent')
98f0929f
JB
20 ->willReturn(array(
21 'html' => false,
22 'title' => '',
23 'url' => '',
24 'content_type' => '',
25 'language' => '',
26 ));
558d9aab
JB
27
28 $proxy = new ContentProxy($graby);
29 $entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
30
31 $this->assertEquals('http://0.0.0.0', $entry->getUrl());
32 $this->assertEmpty($entry->getTitle());
33 $this->assertEquals('<p>Unable to retrieve readable content.</p>', $entry->getContent());
34 $this->assertEmpty($entry->getPreviewPicture());
35 $this->assertEmpty($entry->getMimetype());
98f0929f 36 $this->assertEmpty($entry->getLanguage());
da3d4998
JB
37 $this->assertEquals(0.0, $entry->getReadingTime());
38 $this->assertEquals('0.0.0.0', $entry->getDomainName());
558d9aab
JB
39 }
40
41 public function testWithEmptyContentButOG()
42 {
43 $graby = $this->getMockBuilder('Graby\Graby')
44 ->setMethods(array('fetchContent'))
45 ->disableOriginalConstructor()
46 ->getMock();
47
48 $graby->expects($this->any())
49 ->method('fetchContent')
98f0929f
JB
50 ->willReturn(array(
51 'html' => false,
52 'title' => '',
53 'url' => '',
54 'content_type' => '',
55 'language' => '',
56 'open_graph' => array(
57 'og_title' => 'my title',
58 'og_description' => 'desc',
59 ),
60 ));
558d9aab
JB
61
62 $proxy = new ContentProxy($graby);
da3d4998 63 $entry = $proxy->updateEntry(new Entry(new User()), 'http://domain.io');
558d9aab 64
da3d4998 65 $this->assertEquals('http://domain.io', $entry->getUrl());
558d9aab
JB
66 $this->assertEquals('my title', $entry->getTitle());
67 $this->assertEquals('<p>Unable to retrieve readable content.</p><p><i>But we found a short description: </i></p>desc', $entry->getContent());
68 $this->assertEmpty($entry->getPreviewPicture());
98f0929f 69 $this->assertEmpty($entry->getLanguage());
558d9aab 70 $this->assertEmpty($entry->getMimetype());
da3d4998
JB
71 $this->assertEquals(0.0, $entry->getReadingTime());
72 $this->assertEquals('domain.io', $entry->getDomainName());
558d9aab
JB
73 }
74
75 public function testWithContent()
76 {
77 $graby = $this->getMockBuilder('Graby\Graby')
78 ->setMethods(array('fetchContent'))
79 ->disableOriginalConstructor()
80 ->getMock();
81
82 $graby->expects($this->any())
83 ->method('fetchContent')
84 ->willReturn(array(
da3d4998 85 'html' => str_repeat('this is my content', 325),
558d9aab
JB
86 'title' => 'this is my title',
87 'url' => 'http://1.1.1.1',
88 'content_type' => 'text/html',
98f0929f 89 'language' => 'fr',
558d9aab
JB
90 'open_graph' => array(
91 'og_title' => 'my OG title',
92 'og_description' => 'OG desc',
f1e29e69
JB
93 'og_image' => 'http://3.3.3.3/cover.jpg',
94 ),
558d9aab
JB
95 ));
96
97 $proxy = new ContentProxy($graby);
98 $entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
99
100 $this->assertEquals('http://1.1.1.1', $entry->getUrl());
101 $this->assertEquals('this is my title', $entry->getTitle());
da3d4998 102 $this->assertContains('this is my content', $entry->getContent());
558d9aab
JB
103 $this->assertEquals('http://3.3.3.3/cover.jpg', $entry->getPreviewPicture());
104 $this->assertEquals('text/html', $entry->getMimetype());
98f0929f 105 $this->assertEquals('fr', $entry->getLanguage());
da3d4998
JB
106 $this->assertEquals(4.0, $entry->getReadingTime());
107 $this->assertEquals('1.1.1.1', $entry->getDomainName());
558d9aab
JB
108 }
109}