|
<?php
|
|
class LibraryTest extends PHPUnit_Framework_TestCase {
|
|
|
|
public function testInputIsParsedMf2Array() {
|
|
$html = '<div class="h-entry"><p class="p-content p-name">Hello World</p><img src="/photo.jpg"></p></div>';
|
|
$mf2 = Mf2\parse($html, 'http://example.com/entry');
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->process('http://example.com/entry', $mf2);
|
|
|
|
$this->assertEquals('Hello World', $data['data']['content']['text']);
|
|
$this->assertEquals('http://example.com/photo.jpg', $data['data']['photo'][0]);
|
|
}
|
|
|
|
public function testInputIsParsedMf2JSON() {
|
|
$html = '<div class="h-entry"><p class="p-content p-name">Hello World</p><img src="/photo.jpg"></p></div>';
|
|
$mf2 = Mf2\parse($html, 'http://example.com/entry');
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->process('http://example.com/entry', json_encode($mf2));
|
|
|
|
$this->assertEquals('Hello World', $data['data']['content']['text']);
|
|
$this->assertEquals('http://example.com/photo.jpg', $data['data']['photo'][0]);
|
|
}
|
|
|
|
public function testInputIsParsedMf2HCard() {
|
|
$url = 'https://waterpigs.co.uk/';
|
|
$html = '<a class="h-card" href="https://waterpigs.co.uk/">Barnaby Walters</a>';
|
|
$mf2 = Mf2\parse($html, $url);
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->process($url, $mf2);
|
|
$this->assertEquals('card', $data['data']['type']);
|
|
$this->assertEquals('Barnaby Walters', $data['data']['name']);
|
|
}
|
|
|
|
public function testNoHEntryMarkupMF2JSON() {
|
|
$url = 'http://example.com/';
|
|
$html = '<p><a href="http://target.example.com/">Target</a></p>';
|
|
$mf2 = Mf2\parse($html, $url);
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->process($url, $mf2);
|
|
$this->assertEquals('unknown', $data['data']['type']);
|
|
}
|
|
|
|
public function testNoHEntryMarkup() {
|
|
$url = 'http://example.com/';
|
|
$html = '<p><a href="http://target.example.com/">Target</a></p>';
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->parse($url, $html);
|
|
$this->assertEquals('unknown', $data['data']['type']);
|
|
}
|
|
|
|
public function testNoHEntryMarkupWithTarget() {
|
|
$url = 'http://example.com/';
|
|
$html = '<p><a href="http://target.example.com/">Target</a></p>';
|
|
|
|
$xray = new p3k\XRay();
|
|
$data = $xray->parse($url, $html, ['target' => 'http://target.example.com/']);
|
|
$this->assertEquals('unknown', $data['data']['type']);
|
|
$this->assertArrayNotHasKey('error', $data);
|
|
$this->assertArrayNotHasKey('html', $data);
|
|
}
|
|
|
|
}
|