1<?php 2 3namespace Sabre\Uri; 4 5class SplitTest extends \PHPUnit_Framework_TestCase{ 6 7 function testSplit() { 8 9 $strings = [ 10 11 // input // expected result 12 '/foo/bar' => ['/foo','bar'], 13 '/foo/bar/' => ['/foo','bar'], 14 'foo/bar/' => ['foo','bar'], 15 'foo/bar' => ['foo','bar'], 16 'foo/bar/baz' => ['foo/bar','baz'], 17 'foo/bar/baz/' => ['foo/bar','baz'], 18 'foo' => ['','foo'], 19 'foo/' => ['','foo'], 20 '/foo/' => ['','foo'], 21 '/foo' => ['','foo'], 22 '' => [null,null], 23 24 // UTF-8 25 "/\xC3\xA0fo\xC3\xB3/bar" => ["/\xC3\xA0fo\xC3\xB3",'bar'], 26 "/\xC3\xA0foo/b\xC3\xBCr/" => ["/\xC3\xA0foo","b\xC3\xBCr"], 27 "foo/\xC3\xA0\xC3\xBCr" => ["foo","\xC3\xA0\xC3\xBCr"], 28 29 ]; 30 31 foreach ($strings as $input => $expected) { 32 33 $output = split($input); 34 $this->assertEquals($expected, $output, 'The expected output for \'' . $input . '\' was incorrect'); 35 36 37 } 38 39 } 40 41} 42