first version of comment extraction
[stapibas.git] / tests / stapibas / Content / Extractor / CommentTest.php
1 <?php
2 namespace stapibas;
3 require_once 'stapibas/autoloader.php';
4
5 class Content_Extractor_CommentTest extends \PHPUnit_Framework_TestCase
6 {
7     public function testExtract()
8     {
9         $doc = new \DOMDocument();
10         @$doc->loadHtmlFile(__DIR__ . '/data/aaron-parecki.html');
11         $source = 'http://aaronparecki.com/replies/2013/04/19/2/indieweb';
12         $target = 'http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html';
13         
14         $logger = new Logger();
15         $logger->debug = true;
16         $cec = new Content_Extractor_Comment($logger);
17         $comment = $cec->extract($doc, $source, $target);
18         
19         $this->assertNotNull($comment, 'No extracted data');
20         $this->assertEquals(
21             'Aaron Parecki',
22             $comment['author_name'],
23             'author name error'
24         );
25         $this->assertEquals(
26             'http://aaronparecki.com/images/aaronpk.png',
27             $comment['author_image']
28         );
29         $this->assertEquals(
30             'http://aaronparecki.com/',
31             $comment['author_url']
32         );
33
34         $this->assertEquals(
35             <<<HTM
36 <a href="http://eschnou.com/">@eschnou</a> It worked! Now here's a reply! <a href="/tag/indieweb">#<span class="p-category">indieweb</span></a>
37 HTM
38             ,
39             $comment['content']
40         );
41     }
42 }
43 ?>