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 & & 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 < st", Support::htmlEntityEncodeDecode(MODE_ENCODE, "te < st"));
$this->assertEquals("te > 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);
}
}