[DomCrawler] Fix handling file:// without a host

This commit is contained in:
Dmitrii Chekaliuk 2013-06-13 02:54:36 +03:00
parent 839047bafa
commit 41399360e8
2 changed files with 6 additions and 1 deletions

View File

@ -120,7 +120,7 @@ class Link
return $baseUri.$uri;
}
$baseUri = preg_replace('#^(.*?//[^/]+)(?:\/.*)?$#', '$1', $this->currentUri);
$baseUri = preg_replace('#^(.*?//[^/]*)(?:\/.*)?$#', '$1', $this->currentUri);
// absolute path
if ('/' === $uri[0]) {

View File

@ -118,6 +118,11 @@ class LinkTest extends \PHPUnit_Framework_TestCase
array('../bar/./../../foo', 'http://localhost/bar/foo/', 'http://localhost/foo'),
array('../../', 'http://localhost/', 'http://localhost/'),
array('../../', 'http://localhost', 'http://localhost/'),
array('/foo', 'file:///', 'file:///foo'),
array('/foo', 'file:///bar/baz', 'file:///foo'),
array('foo', 'file:///', 'file:///foo'),
array('foo', 'file:///bar/baz', 'file:///bar/foo'),
);
}
}