mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-06 10:11:38 +09:00
Add tests for Router::getURL() and Router::parseURL()
This commit is contained in:
parent
60247f7d53
commit
1bb7248e3e
3 changed files with 67 additions and 2 deletions
|
|
@ -30,7 +30,7 @@ class ModuleActionParser
|
|||
public static function loadXML(string $filename)
|
||||
{
|
||||
// Load the XML file.
|
||||
$xml = simplexml_load_file($filename);
|
||||
$xml = simplexml_load_string(file_get_contents($filename));
|
||||
if ($xml === false)
|
||||
{
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class ModuleInfoParser
|
|||
public static function loadXML(string $filename)
|
||||
{
|
||||
// Load the XML file.
|
||||
$xml = simplexml_load_file($filename);
|
||||
$xml = simplexml_load_string(file_get_contents($filename));
|
||||
if ($xml === false)
|
||||
{
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -23,11 +23,76 @@ class RouterTest extends \Codeception\TestCase\Test
|
|||
|
||||
public function testGetURL()
|
||||
{
|
||||
$info = Rhymix\Framework\Parsers\ModuleActionParser::loadXML(\RX_BASEDIR . 'modules/board/conf/module.xml');
|
||||
$this->assertEquals('dispBoardContent', $info->default_index_act);
|
||||
$this->assertFalse(isset($info->permission));
|
||||
$this->assertGreaterThan(0, count($info->route->GET));
|
||||
$this->assertGreaterThan(0, count($info->action->dispBoardContent->route));
|
||||
|
||||
$args = array('mid' => 'board', 'document_srl' => 123);
|
||||
$this->assertEquals('board/123', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('board/123', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?mid=board&document_srl=123', Rhymix\Framework\Router::getURL($args, 0));
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispBoardWrite', 'document_srl' => 123);
|
||||
$this->assertEquals('board/123/edit', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardWrite&document_srl=123', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardWrite&document_srl=123', Rhymix\Framework\Router::getURL($args, 0));
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispBoardWrite');
|
||||
$this->assertEquals('board/write', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardWrite', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardWrite', Rhymix\Framework\Router::getURL($args, 0));
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispBoardModifyComment', 'document_srl' => 123, 'comment_srl' => 456, 'extra_param' => 'foo bar');
|
||||
$this->assertEquals('board/comment/456/edit?extra_param=foo+bar', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardModifyComment&document_srl=123&comment_srl=456&extra_param=foo+bar', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?mid=board&act=dispBoardModifyComment&document_srl=123&comment_srl=456&extra_param=foo+bar', Rhymix\Framework\Router::getURL($args, 0));
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispMemberInfo');
|
||||
$this->assertEquals('board/member_info', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('index.php?mid=board&act=dispMemberInfo', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?mid=board&act=dispMemberInfo', Rhymix\Framework\Router::getURL($args, 0));
|
||||
|
||||
$args = array('module' => 'document', 'act' => 'procDocumentVoteUp');
|
||||
$this->assertEquals('document/procDocumentVoteUp', Rhymix\Framework\Router::getURL($args, 2));
|
||||
$this->assertEquals('index.php?module=document&act=procDocumentVoteUp', Rhymix\Framework\Router::getURL($args, 1));
|
||||
$this->assertEquals('index.php?module=document&act=procDocumentVoteUp', Rhymix\Framework\Router::getURL($args, 0));
|
||||
}
|
||||
|
||||
public function testParseURL()
|
||||
{
|
||||
$args = array('mid' => 'board', 'act' => 'dispBoardContent', 'document_srl' => '123');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'board/123', 2)->args);
|
||||
$this->assertEquals('board/123', Rhymix\Framework\Router::parseURL('GET', 'board/123', 2)->url);
|
||||
$this->assertEquals('board', Rhymix\Framework\Router::parseURL('GET', 'board/123', 2)->mid);
|
||||
$this->assertEquals('dispBoardContent', Rhymix\Framework\Router::parseURL('GET', 'board/123', 2)->act);
|
||||
|
||||
$args = array('mid' => 'board', 'document_srl' => '123');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'board/123', 1)->args);
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'index.php?mid=board&document_srl=123', 0)->args);
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', \RX_BASEURL . 'board/123', 1)->args);
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', \RX_BASEURL . 'index.php?mid=board&document_srl=123', 0)->args);
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispBoardModifyComment', 'comment_srl' => '456', 'extra_param' => 'foo bar');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'board/comment/456/edit?extra_param=foo+bar', 2)->args);
|
||||
$this->assertEquals('board', Rhymix\Framework\Router::parseURL('GET', 'board/comment/456/edit?extra_param=foo+bar', 2)->mid);
|
||||
$this->assertEquals('dispBoardModifyComment', Rhymix\Framework\Router::parseURL('GET', 'board/comment/456/edit?extra_param=foo+bar', 2)->act);
|
||||
$this->assertEquals('', Rhymix\Framework\Router::parseURL('GET', 'board/comment/456/edit?extra_param=foo+bar', 2)->document_srl);
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'index.php?mid=board&act=dispBoardModifyComment&comment_srl=456&extra_param=foo+bar', 1)->args);
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'index.php?mid=board&act=dispBoardModifyComment&comment_srl=456&extra_param=foo+bar', 0)->args);
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispMemberInfo');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'board/member_info', 2)->args);
|
||||
$this->assertEquals('board', Rhymix\Framework\Router::parseURL('GET', 'board/member_info', 2)->mid);
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'dispMemberLoginForm');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('GET', 'board/login', 2)->args);
|
||||
$this->assertEquals('member', Rhymix\Framework\Router::parseURL('GET', 'board/login', 2)->module);
|
||||
|
||||
$args = array('mid' => 'board', 'act' => 'procMemberLogin');
|
||||
$this->assertEquals($args, Rhymix\Framework\Router::parseURL('POST', 'board/login', 2)->args);
|
||||
$this->assertEquals('member', Rhymix\Framework\Router::parseURL('POST', 'board/login', 2)->module);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue