You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

63 lines
1.9 KiB

<?php
class HelpersTest extends PHPUnit\Framework\TestCase
{
public function testLowercaseHostname()
{
$url = 'http://Example.com/';
$result = p3k\XRay\normalize_url($url);
$this->assertEquals('http://example.com/', $result);
}
public function testAddsSlashToBareDomain()
{
$url = 'http://example.com';
$result = p3k\XRay\normalize_url($url);
$this->assertEquals('http://example.com/', $result);
}
public function testDoesNotModify()
{
$url = 'https://example.com/';
$result = p3k\XRay\normalize_url($url);
$this->assertEquals('https://example.com/', $result);
}
public function testURLEquality()
{
$url1 = 'https://example.com/';
$url2 = 'https://example.com';
$result = p3k\XRay\urls_are_equal($url1, $url2);
$this->assertEquals(true, $result);
}
public function testFindMicroformatsByType()
{
$html = <<<EOF
<div class="h-feed">
<div class="u-author h-card">
<a href="/1" class="u-url p-name">Author</a>
</div>
<div class="h-entry">
<div class="u-author h-card">
<a href="/2" class="u-url p-name">Author</a>
</div>
</div>
<div class="h-card">
<a href="/3" class="u-url p-name">Author</a>
</div>
</div>
<div class="h-card">
<a href="/4" class="u-url p-name">Author</a>
</div>
EOF;
$mf2 = \Mf2\parse($html);
$hcards = \p3k\XRay\Formats\Mf2::findAllMicroformatsByType($mf2, 'h-card');
$this->assertEquals('/1', $hcards[0]['properties']['url'][0]);
$this->assertEquals('/2', $hcards[1]['properties']['url'][0]);
$this->assertEquals('/3', $hcards[2]['properties']['url'][0]);
$this->assertEquals('/4', $hcards[3]['properties']['url'][0]);
}
}