assertEquals(['id' => 1, 'type' => 2, 'L' => 3], $queryArray); $queryArray = array(); $this->store->setVar(TYPO3_PAGE_LANGUAGE, 0, STORE_TYPO3, true); Support::appendTypo3ParameterToArray($queryArray); $this->assertEquals(['id' => 1, 'type' => 2], $queryArray); $queryArray = array(); $this->store->setVar(TYPO3_PAGE_TYPE, 0, STORE_TYPO3, true); Support::appendTypo3ParameterToArray($queryArray); $this->assertEquals(['id' => 1], $queryArray); $queryArray = ['a' => '100']; $expected = ['a' => '100', 'id' => 1]; Support::appendTypo3ParameterToArray($queryArray); $this->assertEquals($expected, $queryArray); } public function testArrayToQueryString() { $actual = Support::arrayToQueryString(array()); $expected = ''; $this->assertEquals($expected, $actual); $actual = Support::arrayToQueryString(['id', 'name']); $expected = ''; $this->assertEquals('id&name', $actual); $actual = Support::arrayToQueryString(['id' => '55', 'name']); $expected = ''; $this->assertEquals('id=55&name', $actual); $actual = Support::arrayToQueryString(['id' => '55', 'name' => 'Heinz']); $expected = ''; $this->assertEquals('id=55&name=Heinz', $actual); $actual = Support::arrayToQueryString(['id' => '55', 'name' => 'Heinz']); $expected = ''; $this->assertEquals('id=55&name=He%3Cb%3Einz', $actual); } public function testWrapTag() { // $build = new \qfq\BuildFormPlain(array(), array(), array()); $result = Support::wrapTag("", ''); $this->assertEquals('', $result); $result = Support::wrapTag(" ", ''); $this->assertEquals('', $result); $result = Support::wrapTag("", ' '); $this->assertEquals(' ', $result); $result = Support::wrapTag(" ", ' '); $this->assertEquals(' ', $result); $result = Support::wrapTag("", '', true); $this->assertEquals('', $result); $result = Support::wrapTag(" ", '', true); $this->assertEquals('', $result); $result = Support::wrapTag("", ' ', true); $this->assertEquals(' ', $result); $result = Support::wrapTag(" ", ' ', true); $this->assertEquals(' ', $result); $result = Support::wrapTag("

", '', true); $this->assertEquals('', $result); $result = Support::wrapTag("

", '', false); $this->assertEquals('

', $result); $result = Support::wrapTag("

", '', true); $this->assertEquals('', $result); $result = Support::wrapTag("

", '', false); $this->assertEquals('

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals("

Hello World

", $result); $result = Support::wrapTag("

", 'Hello World', true); $this->assertEquals("

Hello World

", $result); $result = Support::wrapTag("

", '', false); $this->assertEquals("

", $result); $result = Support::wrapTag("

", '', true); $this->assertEquals('', $result); $result = Support::wrapTag("

", 'Hello World', true); $this->assertEquals('

Hello World

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals('

Hello World

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals('

Hello World

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals('

Hello World

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals('

Hello World

', $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals("

Hello World

", $result); $result = Support::wrapTag("

", 'Hello World', false); $this->assertEquals("

Hello World

", $result); } public function testDateTime2mysql() { // date $this->assertEquals('0000-00-00 00:00:00', Support::dateTimeGermanToInternational('')); $this->assertEquals('2069-12-31 00:00:00', Support::dateTimeGermanToInternational('31.12.69')); $this->assertEquals('1970-01-01 00:00:00', Support::dateTimeGermanToInternational('1.1.70')); $this->assertEquals('1999-02-01 00:00:00', Support::dateTimeGermanToInternational('01.02.99')); $this->assertEquals('2079-02-01 00:00:00', Support::dateTimeGermanToInternational('1.2.2079')); $this->assertEquals('2079-02-01 00:00:00', Support::dateTimeGermanToInternational('01.02.2079')); $this->assertEquals('1234-01-02 00:00:00', Support::dateTimeGermanToInternational('1234-01-02')); // time $this->assertEquals('0000-00-00 03:04:00', Support::dateTimeGermanToInternational('3:4')); $this->assertEquals('0000-00-00 03:04:00', Support::dateTimeGermanToInternational('03:04')); $this->assertEquals('0000-00-00 03:14:00', Support::dateTimeGermanToInternational('3:14')); $this->assertEquals('0000-00-00 13:14:00', Support::dateTimeGermanToInternational('13:14')); $this->assertEquals('0000-00-00 13:14:01', Support::dateTimeGermanToInternational('13:14:1')); $this->assertEquals('0000-00-00 13:14:41', Support::dateTimeGermanToInternational('13:14:41')); // date time $this->assertEquals('2069-02-01 01:02:00', Support::dateTimeGermanToInternational('1.2.69 1:2')); $this->assertEquals('2016-12-31 23:48:59', Support::dateTimeGermanToInternational('31.12.2016 23:48:59')); $this->assertEquals('2016-12-31 23:48:59', Support::dateTimeGermanToInternational('2016-12-31 23:48:59')); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException01() { Support::dateTimeGermanToInternational('1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException02() { Support::dateTimeGermanToInternational('1.'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException03() { Support::dateTimeGermanToInternational('1.1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException04() { Support::dateTimeGermanToInternational('1.1.'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException05() { Support::dateTimeGermanToInternational('1.1.1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException06() { Support::dateTimeGermanToInternational('1.1.1.'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException07() { Support::dateTimeGermanToInternational('1.1.1.1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException08() { Support::dateTimeGermanToInternational('123.1.11'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException09() { Support::dateTimeGermanToInternational('1.123.11'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException10() { Support::dateTimeGermanToInternational('1.1.123'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException11() { Support::dateTimeGermanToInternational('1.1.12345'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException12() { Support::dateTimeGermanToInternational('1-01-01'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException13() { Support::dateTimeGermanToInternational('12-01-01'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException14() { Support::dateTimeGermanToInternational('123-01-01'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException15() { Support::dateTimeGermanToInternational('12345-01-01'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException16() { Support::dateTimeGermanToInternational('1234-1-01'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException17() { Support::dateTimeGermanToInternational('1234-01-1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException18() { Support::dateTimeGermanToInternational('1:'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException19() { Support::dateTimeGermanToInternational('1:1:'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException20() { Support::dateTimeGermanToInternational('1:1:1:1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException21() { Support::dateTimeGermanToInternational('123:1:1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException22() { Support::dateTimeGermanToInternational('1:123:1'); } /** * @expectedException \qfq\UserFormException */ public function testDateTime2mysqlException23() { Support::dateTimeGermanToInternational('1:1:123'); } public function testEncryptDoubleCurlyBraces() { #/+open+/# #/+close+/# $arr = [ ['', ''], ['1', '1'], ["1\n2", "1\n2"], ['{', '{'], ['#/+open+/#', '{{'], ['-\{-', '-\{-'], ['#/+open+/##/+close+/#-#/+open+/##/+close+/#', '{{}}-{{}}'], ['#/+open+/#hello#/+open+/#world#/+close+/##/+close+/#', '{{hello{{world}}}}'], ["\n\n##/+open+/#\n#/+close+/#", "\n\n#{{\n}}"], ]; foreach ($arr as $tuple) { $this->assertEquals($tuple[0], Support::encryptDoubleCurlyBraces($tuple[1])); $this->assertEquals($tuple[1], Support::decryptDoubleCurlyBraces($tuple[0])); } } public function testConcatUrlParam() { $url = Support::concatUrlParam('', ''); $this->assertEquals('', $url); $url = Support::concatUrlParam('http://example.com', ''); $this->assertEquals('http://example.com', $url); $url = Support::concatUrlParam('', 'a=1'); $this->assertEquals('?a=1', $url); $url = Support::concatUrlParam('http://example.com', 'a=100'); $this->assertEquals('http://example.com?a=100', $url); $url = Support::concatUrlParam('http://example.com?id=2', 'a=100'); $this->assertEquals('http://example.com?id=2&a=100', $url); $url = Support::concatUrlParam('http://example.com', 'a=100&b=201'); $this->assertEquals('http://example.com?a=100&b=201', $url); $url = Support::concatUrlParam('http://example.com?id=34', 'a=100&b=201'); $this->assertEquals('http://example.com?id=34&a=100&b=201', $url); } public function testSetIfNotSet() { $new = array(); Support::setIfNotSet($new, 'id'); $this->assertEquals(['id' => ''], $new); $new = array(); $new['id'] = 1; Support::setIfNotSet($new, 'id'); $this->assertEquals(['id' => 1], $new); $new = array(); Support::setIfNotSet($new, 'id', 2); $this->assertEquals(['id' => 2], $new); } public function testEscapeDoubleTick() { // PLAIN // empty string $new = Support::escapeDoubleTick(''); $this->assertEquals('', $new); // nothing to replace $new = Support::escapeDoubleTick('hello world'); $this->assertEquals('hello world', $new); // last word $new = Support::escapeDoubleTick('hello "world"'); $this->assertEquals('hello \\"world\\"', $new); // first word $new = Support::escapeDoubleTick('"hello" world'); $this->assertEquals('\\"hello\\" world', $new); // three double tick $new = Support::escapeDoubleTick('"""'); $this->assertEquals('\\"\\"\\"', $new); // just " $new = Support::escapeDoubleTick('"'); $this->assertEquals('\\"', $new); // already ESCAPED // just \" $new = Support::escapeDoubleTick('\\"'); $this->assertEquals('\\"', $new); // already escaped: middle $new = Support::escapeDoubleTick('hello \\"T world'); $this->assertEquals('hello \\"T world', $new); // already escaped: start $new = Support::escapeDoubleTick('\\"T hello world'); $this->assertEquals('\\"T hello world', $new); // already escaped: end $new = Support::escapeDoubleTick('hello world \\"'); $this->assertEquals('hello world \\"', $new); // three double tick $new = Support::escapeDoubleTick('\\"\\"\\"'); $this->assertEquals('\\"\\"\\"', $new); } public function testInsertAttribute() { $new = Support::insertAttribute('', 'class', 'qfq'); $this->assertEquals('', $new); $new = Support::insertAttribute('
', 'class', 'qfq'); $this->assertEquals('
', $new); $new = Support::insertAttribute('
', 'class', 'qfq'); $this->assertEquals('
', $new); $new = Support::insertAttribute('
', 'class', 'qfq'); $this->assertEquals('
', $new); $new = Support::insertAttribute('
', 'class', 'qfq'); $this->assertEquals('
', $new); } public function testunEscapeNComment() { $this->assertEquals('', Support::handleEscapeSpaceComment('')); $this->assertEquals('', Support::handleEscapeSpaceComment(' ')); $this->assertEquals('Hello world.', Support::handleEscapeSpaceComment('Hello world.')); $this->assertEquals('Hello world.', Support::handleEscapeSpaceComment(' Hello world. ')); $this->assertEquals('', Support::handleEscapeSpaceComment('#Hello world.')); $this->assertEquals('', Support::handleEscapeSpaceComment(' #Hello world. ')); $this->assertEquals('', Support::handleEscapeSpaceComment(' # Hello world. ')); $this->assertEquals('# Hello world.', Support::handleEscapeSpaceComment('\# Hello world. ')); $this->assertEquals('Hello world. ', Support::handleEscapeSpaceComment('Hello world. \\')); $this->assertEquals('Hello world. ', Support::handleEscapeSpaceComment('Hello world. \ ')); $this->assertEquals(' Hello world.', Support::handleEscapeSpaceComment('\ Hello world.')); $this->assertEquals(' Hello world. ', Support::handleEscapeSpaceComment('\ Hello world. \ ')); } /** * @expectedException \qfq\CodeException */ public function testInsertAttributeException1() { Support::insertAttribute('<>', 'class', 'qfq'); } /** * @expectedException \qfq\CodeException */ public function testMergeUrlComponentsException() { Support::mergeUrlComponents('', '', 'sub?id=1'); } public function testMergeUrlComponents() { $this->assertEquals('', Support::mergeUrlComponents('', '', '')); $this->assertEquals('example.com/', Support::mergeUrlComponents('example.com', '', '')); $this->assertEquals('example.com/', Support::mergeUrlComponents('example.com/', '', '')); $this->assertEquals('http://example.com/', Support::mergeUrlComponents('http://example.com', '', '')); $this->assertEquals('example.com/sub', Support::mergeUrlComponents('example.com', 'sub', '')); $this->assertEquals('example.com/sub', Support::mergeUrlComponents('example.com/', 'sub', '')); $this->assertEquals('example.com/sub', Support::mergeUrlComponents('example.com', '/sub', '')); $this->assertEquals('example.com/sub', Support::mergeUrlComponents('example.com/', '/sub', '')); $this->assertEquals('example.com/', Support::mergeUrlComponents('example.com/', '/', '')); $this->assertEquals('example.com/sub/sub2', Support::mergeUrlComponents('example.com/sub', 'sub2', '')); $this->assertEquals('example.com/sub/sub2', Support::mergeUrlComponents('example.com/sub/', 'sub2', '')); $this->assertEquals('example.com/sub/sub2', Support::mergeUrlComponents('example.com/sub', '/sub2', '')); $this->assertEquals('example.com/sub/sub2', Support::mergeUrlComponents('example.com/sub/', '/sub2', '')); $this->assertEquals('http://example.com/sub', Support::mergeUrlComponents('http://example.com', 'sub', '')); $this->assertEquals('http://example.com/sub', Support::mergeUrlComponents('http://example.com/', 'sub', '')); $this->assertEquals('http://example.com/sub', Support::mergeUrlComponents('http://example.com/', '/sub', '')); $this->assertEquals('http://example.com/sub', Support::mergeUrlComponents('http://example.com', '/sub', '')); $this->assertEquals('sub', Support::mergeUrlComponents('', 'sub', '')); $this->assertEquals('/sub', Support::mergeUrlComponents('', '/sub', '')); $this->assertEquals('/sub/', Support::mergeUrlComponents('', '/sub/', '')); $this->assertEquals('/', Support::mergeUrlComponents('', '/', '')); $this->assertEquals('example.com/sub?id=1', Support::mergeUrlComponents('example.com', 'sub', 'id=1')); $this->assertEquals('example.com/sub?id=1', Support::mergeUrlComponents('example.com', 'sub', '?id=1')); $this->assertEquals('example.com/sub/?id=1', Support::mergeUrlComponents('example.com', 'sub/', 'id=1')); $this->assertEquals('example.com/sub/?id=1', Support::mergeUrlComponents('example.com', 'sub/', '?id=1')); $this->assertEquals('sub?id=1', Support::mergeUrlComponents('', 'sub', 'id=1')); $this->assertEquals('/sub?id=1', Support::mergeUrlComponents('', '/sub', '?id=1')); $this->assertEquals('sub/?id=1', Support::mergeUrlComponents('', 'sub/', 'id=1')); $this->assertEquals('/sub/?id=1', Support::mergeUrlComponents('', '/sub/', '?id=1')); $this->assertEquals('example.com/sub/index.php?id=1', Support::mergeUrlComponents('example.com', 'sub/index.php', 'id=1')); $this->assertEquals('example.com/sub/index.php?id=1', Support::mergeUrlComponents('example.com', 'sub/index.php', '?id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com', '', 'id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com', '', '?id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com/', '', 'id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com/', '', '?id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com', '/', 'id=1')); $this->assertEquals('example.com/?id=1', Support::mergeUrlComponents('example.com', '/', '?id=1')); $this->assertEquals('?', Support::mergeUrlComponents('', '', '?')); $this->assertEquals('?id=1', Support::mergeUrlComponents('', '', 'id=1')); $this->assertEquals('?id=1', Support::mergeUrlComponents('', '', '?id=1')); $this->assertEquals('', Support::mergeUrlComponents('', '', 'index.php')); $this->assertEquals('?', Support::mergeUrlComponents('', '', 'index.php?')); $this->assertEquals('?id=1', Support::mergeUrlComponents('', '', 'index.php?id=1')); } public function testUnWrapTag() { $this->assertEquals('', Support::unWrapTag('', '')); $this->assertEquals('', Support::unWrapTag('

', '')); $this->assertEquals('Hello World', Support::unWrapTag('

', 'Hello World')); $this->assertEquals('Hello World', Support::unWrapTag('

', '

Hello World

')); } public function testHtmlEntityEncodeDecode() { $this->assertEquals('', Support::htmlEntityEncodeDecode(MODE_NONE, '')); $this->assertEquals('test', Support::htmlEntityEncodeDecode(MODE_NONE, 'test')); $this->assertEquals('te"st', Support::htmlEntityEncodeDecode(MODE_NONE, 'te"st')); $this->assertEquals("te'st", Support::htmlEntityEncodeDecode(MODE_NONE, "te'st")); $this->assertEquals("te's\\'t", Support::htmlEntityEncodeDecode(MODE_NONE, "te's\\'t")); $this->assertEquals("te & st", Support::htmlEntityEncodeDecode(MODE_NONE, "te & st")); $this->assertEquals("te & & st", Support::htmlEntityEncodeDecode(MODE_NONE, "te & & st")); $this->assertEquals("te < st", Support::htmlEntityEncodeDecode(MODE_NONE, "te < st")); $this->assertEquals("te > st", Support::htmlEntityEncodeDecode(MODE_NONE, "te > st")); $this->assertEquals("te < st", Support::htmlEntityEncodeDecode(MODE_NONE, "te < st")); $this->assertEquals("te > st", Support::htmlEntityEncodeDecode(MODE_NONE, "te > st")); $this->assertEquals('', Support::htmlEntityEncodeDecode(MODE_ENCODE, '')); $this->assertEquals('test', Support::htmlEntityEncodeDecode(MODE_ENCODE, 'test')); $this->assertEquals('te"st', Support::htmlEntityEncodeDecode(MODE_ENCODE, 'te"st')); $this->assertEquals('te'st', Support::htmlEntityEncodeDecode(MODE_ENCODE, "te'st")); $this->assertEquals('te's\'t', Support::htmlEntityEncodeDecode(MODE_ENCODE, "te's\\'t")); $this->assertEquals('te & st', Support::htmlEntityEncodeDecode(MODE_ENCODE, "te & st")); $this->assertEquals('te & &amp; st', Support::htmlEntityEncodeDecode(MODE_ENCODE, "te & & st")); $this->assertEquals("te < st", Support::htmlEntityEncodeDecode(MODE_ENCODE, "te < st")); $this->assertEquals("te > st", Support::htmlEntityEncodeDecode(MODE_ENCODE, "te > st")); $this->assertEquals("te &lt; st", Support::htmlEntityEncodeDecode(MODE_ENCODE, "te < st")); $this->assertEquals("te &gt; st", Support::htmlEntityEncodeDecode(MODE_ENCODE, "te > st")); $this->assertEquals('', Support::htmlEntityEncodeDecode(MODE_DECODE, '')); $this->assertEquals('test', Support::htmlEntityEncodeDecode(MODE_DECODE, 'test')); $this->assertEquals('te"st', Support::htmlEntityEncodeDecode(MODE_DECODE, 'te"st')); $this->assertEquals("te'st", Support::htmlEntityEncodeDecode(MODE_DECODE, "te'st")); $this->assertEquals("te's\\'t", Support::htmlEntityEncodeDecode(MODE_DECODE, "te's\\'t")); $this->assertEquals('te & st', Support::htmlEntityEncodeDecode(MODE_DECODE, "te & st")); $this->assertEquals('te & & st', Support::htmlEntityEncodeDecode(MODE_DECODE, "te & & st")); $this->assertEquals("te < st", Support::htmlEntityEncodeDecode(MODE_DECODE, "te < st")); $this->assertEquals("te > st", Support::htmlEntityEncodeDecode(MODE_DECODE, "te > st")); } public function testJoinPath() { $this->assertEquals('', Support::joinPath('', '')); $this->assertEquals('etc', Support::joinPath('etc', '')); $this->assertEquals('file', Support::joinPath('', 'file')); $this->assertEquals('/etc', Support::joinPath('/etc', '')); $this->assertEquals('/file', Support::joinPath('', '/file')); $this->assertEquals('etc/', Support::joinPath('etc/', '')); $this->assertEquals('file/', Support::joinPath('', 'file/')); $this->assertEquals('/etc/', Support::joinPath('/etc/', '')); $this->assertEquals('/file/', Support::joinPath('', '/file/')); $this->assertEquals('etc/file', Support::joinPath('etc', 'file')); $this->assertEquals('/etc/file', Support::joinPath('/etc', 'file')); $this->assertEquals('/file', Support::joinPath('etc', '/file')); $this->assertEquals('/file', Support::joinPath('/etc', '/file')); $this->assertEquals('/file', Support::joinPath('/etc/', '/file')); $this->assertEquals('/file/', Support::joinPath('/etc/', '/file/')); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2', 'file/file2')); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2/', 'file/file2')); $this->assertEquals('/file/file2', Support::joinPath('/etc/etc2/', '/file/file2')); #-- $this->assertEquals('', Support::joinPath('', '', FILE_PRIORITY)); $this->assertEquals('etc', Support::joinPath('etc', '', FILE_PRIORITY)); $this->assertEquals('file', Support::joinPath('', 'file', FILE_PRIORITY)); $this->assertEquals('/etc', Support::joinPath('/etc', '', FILE_PRIORITY)); $this->assertEquals('/file', Support::joinPath('', '/file', FILE_PRIORITY)); $this->assertEquals('etc/', Support::joinPath('etc/', '', FILE_PRIORITY)); $this->assertEquals('file/', Support::joinPath('', 'file/', FILE_PRIORITY)); $this->assertEquals('/etc/', Support::joinPath('/etc/', '', FILE_PRIORITY)); $this->assertEquals('/file/', Support::joinPath('', '/file/', FILE_PRIORITY)); $this->assertEquals('etc/file', Support::joinPath('etc', 'file', FILE_PRIORITY)); $this->assertEquals('/etc/file', Support::joinPath('/etc', 'file', FILE_PRIORITY)); $this->assertEquals('/file', Support::joinPath('etc', '/file', FILE_PRIORITY)); $this->assertEquals('/file', Support::joinPath('/etc', '/file', FILE_PRIORITY)); $this->assertEquals('/file', Support::joinPath('/etc/', '/file', FILE_PRIORITY)); $this->assertEquals('/file/', Support::joinPath('/etc/', '/file/', FILE_PRIORITY)); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2', 'file/file2', FILE_PRIORITY)); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2/', 'file/file2', FILE_PRIORITY)); $this->assertEquals('/file/file2', Support::joinPath('/etc/etc2/', '/file/file2', FILE_PRIORITY)); #-- $this->assertEquals('', Support::joinPath('', '', PATH_FILE_CONCAT)); $this->assertEquals('etc', Support::joinPath('etc', '', PATH_FILE_CONCAT)); $this->assertEquals('file', Support::joinPath('', 'file', PATH_FILE_CONCAT)); $this->assertEquals('/etc', Support::joinPath('/etc', '', PATH_FILE_CONCAT)); $this->assertEquals('/file', Support::joinPath('', '/file', PATH_FILE_CONCAT)); $this->assertEquals('etc/', Support::joinPath('etc/', '', PATH_FILE_CONCAT)); $this->assertEquals('file/', Support::joinPath('', 'file/', PATH_FILE_CONCAT)); $this->assertEquals('/etc/', Support::joinPath('/etc/', '', PATH_FILE_CONCAT)); $this->assertEquals('/file/', Support::joinPath('', '/file/', PATH_FILE_CONCAT)); $this->assertEquals('etc/file', Support::joinPath('etc', 'file', PATH_FILE_CONCAT)); $this->assertEquals('/etc/file', Support::joinPath('/etc', 'file', PATH_FILE_CONCAT)); $this->assertEquals('etc/file', Support::joinPath('etc', '/file', PATH_FILE_CONCAT)); $this->assertEquals('/etc/file', Support::joinPath('/etc', '/file', PATH_FILE_CONCAT)); $this->assertEquals('/etc/file', Support::joinPath('/etc/', '/file', PATH_FILE_CONCAT)); $this->assertEquals('/etc/file/', Support::joinPath('/etc/', '/file/', PATH_FILE_CONCAT)); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2', 'file/file2', PATH_FILE_CONCAT)); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2/', 'file/file2', PATH_FILE_CONCAT)); $this->assertEquals('/etc/etc2/file/file2', Support::joinPath('/etc/etc2/', '/file/file2', PATH_FILE_CONCAT)); } protected function setUp() { parent::setUp(); $GLOBALS["TSFE"] = new FakeTSFE(); $this->store = Store::getInstance('', true); } }