10        for (
$i = 0;
$i < 128;
$i++) $str .= chr(
$i);
 
   15            '%00%01%02%03%04%05%06%07%08%09%0a%0b%0c%0d%0e%0f' .
 
   16            '%10%11%12%13%14%15%16%17%18%19%1a%1b%1c%1d%1e%1f' .
 
   17            '%20%21%22%23%24%25%26%27()%2a%2b%2c-./' .
 
   18            '0123456789:%3b%3c%3d%3e%3f' .
 
   20            'PQRSTUVWXYZ%5b%5c%5d%5e_' .
 
   21            '%60abcdefghijklmno' .
 
   22            'pqrstuvwxyz%7b%7c%7d~%7f',
 
   32        for (
$i = 0;
$i < 128;
$i++) $str .= chr(
$i);
 
   39            '%00%01%02%03%04%05%06%07%08%09%0a%0b%0c%0d%0e%0f' .
 
   40            '%10%11%12%13%14%15%16%17%18%19%1a%1b%1c%1d%1e%1f' .
 
   41            '%20%21%22%23%24%25%26%27()%2a%2b%2c-.%2f' .
 
   42            '0123456789:%3b%3c%3d%3e%3f' .
 
   44            'PQRSTUVWXYZ%5b%5c%5d%5e_' .
 
   45            '%60abcdefghijklmno' .
 
   46            'pqrstuvwxyz%7b%7c%7d~%7f',
 
   55        $str = 
'Hello%20Test+Test2.txt';
 
   57        $this->assertEquals(
'Hello Test+Test2.txt', $newStr);
 
   66        $str = 
'Hello%C3%BC.txt';
 
   68        $this->assertEquals(
"Hello\xC3\xBC.txt", $newStr);
 
   77        $str = 
'Hello%FC.txt';
 
   79        $this->assertEquals(
"Hello\xC3\xBC.txt", $newStr);
 
   90        $str = 
'/webdav/%C3%A0fo%C3%B3';
 
  101            '/foo/bar'     => [
'/foo',
'bar'],
 
  102            '/foo/bar/'    => [
'/foo',
'bar'],
 
  103            'foo/bar/'     => [
'foo',
'bar'],
 
  104            'foo/bar'      => [
'foo',
'bar'],
 
  105            'foo/bar/baz'  => [
'foo/bar',
'baz'],
 
  106            'foo/bar/baz/' => [
'foo/bar',
'baz'],
 
  108            'foo/'         => [
'',
'foo'],
 
  109            '/foo/'        => [
'',
'foo'],
 
  110            '/foo'         => [
'',
'foo'],
 
  114            "/\xC3\xA0fo\xC3\xB3/bar"  => [
"/\xC3\xA0fo\xC3\xB3",
'bar'],
 
  115            "/\xC3\xA0foo/b\xC3\xBCr/" => [
"/\xC3\xA0foo",
"b\xC3\xBCr"],
 
  116            "foo/\xC3\xA0\xC3\xBCr"    => [
"foo",
"\xC3\xA0\xC3\xBCr"],
 
  120        foreach ($strings as 
$input => $expected) {
 
  123            $this->assertEquals($expected, 
$output, 
'The expected output for \'' . 
$input . 
'\' was incorrect
'); 
  133    function testResolve($base, $update, $expected) { 
  137            URLUtil::resolve($base, $update) 
  142    function resolveData() { 
  148                'http://example.org/bar',
 
  151                'https://example.org/foo',
 
  153                'https://example.net/',
 
  156                'https://example.org/foo',
 
  158                'https://example.org/foo?a=b',
 
  163                '//example.org/foo?a=b',
 
  167                'https://example.org:81/foo#hey',
 
  169                'https://example.org:81/foo?a=b#c=d',
 
  173                'http://example.org/foo/bar',
 
  175                'http://example.org/foo/bar2',
 
  179                'http://example.org/foo/bar/',
 
  181                'http://example.org/foo/bar/bar2/bar3',
 
An exception for terminatinating execution or to throw for unit testing.
testDecodeAccentsWindows7()
This testcase was sent by a bug reporter.
testDecodeUmlaut()
@depends testDecode
testDecodeUmlautLatin1()
@depends testDecodeUmlaut
static encodePath($path)
Encodes the path of a url.
static decodePathSegment($path)
Decodes a url-encoded path segment.
static encodePathSegment($pathSegment)
Encodes a 1 segment of a path.
static decodePath($path)
Decodes a url-encoded path.
static splitPath($path)
Returns the 'dirname' and 'basename' for a path.
static http()
Fetches the global http state from ILIAS.