add unit tests for fix_url() and fix a bug I discovered because of them - protocols longer than "http" broke url fixing
This commit is contained in:
parent
8a7f576735
commit
444537736b
|
@ -6622,7 +6622,7 @@
|
||||||
|
|
||||||
//prepend slash if the URL has no slash in it
|
//prepend slash if the URL has no slash in it
|
||||||
// "http://www.example" -> "http://www.example/"
|
// "http://www.example" -> "http://www.example/"
|
||||||
if (strpos($url, '/', 7) === false) {
|
if (strpos($url, '/', strpos($url, ':') + 3) === false) {
|
||||||
$url .= '/';
|
$url .= '/';
|
||||||
}
|
}
|
||||||
return $url;
|
return $url;
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
require_once dirname(__FILE__) . '/../functions.php';
|
||||||
|
/**
|
||||||
|
* Unit tests for functions.php
|
||||||
|
*
|
||||||
|
* @author Christian Weiske <cweiske@php.net>
|
||||||
|
*/
|
||||||
|
class FunctionsTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Test fix_url with feed:// urls
|
||||||
|
*/
|
||||||
|
public function testFixUrlFeed()
|
||||||
|
{
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('feed://tt-rss.org'));
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('feed://tt-rss.org/'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test fix_url with non-http protocols
|
||||||
|
*/
|
||||||
|
public function testFixUrlProtocols()
|
||||||
|
{
|
||||||
|
$this->assertEquals('https://tt-rss.org/', fix_url('https://tt-rss.org'));
|
||||||
|
$this->assertEquals('ftp://tt-rss.org/', fix_url('ftp://tt-rss.org/'));
|
||||||
|
$this->assertEquals(
|
||||||
|
'reallylongprotocolisthat://tt-rss.org/',
|
||||||
|
fix_url('reallylongprotocolisthat://tt-rss.org')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test fix_url with domain names only
|
||||||
|
*/
|
||||||
|
public function testFixUrlDomainOnly()
|
||||||
|
{
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('tt-rss.org'));
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('tt-rss.org/'));
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('http://tt-rss.org'));
|
||||||
|
$this->assertEquals('http://tt-rss.org/', fix_url('http://tt-rss.org/'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test fix_url with domain + paths
|
||||||
|
*/
|
||||||
|
public function testFixUrlWithPaths()
|
||||||
|
{
|
||||||
|
$this->assertEquals('http://tt-rss.org/foo', fix_url('tt-rss.org/foo'));
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
'http://tt-rss.org/foo/bar/baz',
|
||||||
|
fix_url('tt-rss.org/foo/bar/baz')
|
||||||
|
);
|
||||||
|
$this->assertEquals(
|
||||||
|
'http://tt-rss.org/foo/bar/baz/',
|
||||||
|
fix_url('tt-rss.org/foo/bar/baz/')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
Loading…
Reference in New Issue