| return true;␊ |
| }␊ |
| ␊ |
| function hello1()␊ |
| {␊ |
| return 1;␊ |
| }␊ |
| ␊ |
| function hello2()␊ |
| {␊ |
| return 2;␊ |
| }␊ |
| ␊ |
| function hello3()␊ |
| {␊ |
| return 3;␊ |
| }␊ |
| ␊ |
| function hello4()␊ |
| {␊ |
| return 4;␊ |
| }␊ |
| ␊ |
| function testSimple()␊ |
| {␊ |
| $GLOBALS['_PX_views'] = array(␊ |
|
| 'model' => 'Pluf_Tests_Dispatch_Dispatcher',␊ |
| 'method' => 'hello'␊ |
| )␊ |
| )␊ |
| ));␊ |
| ),␊ |
| ),␊ |
| array(␊ |
| 'regex' => '#^/hello1/#',␊ |
| 'base' => '',␊ |
| 'sub' => array(␊ |
| array(␊ |
| 'regex' => '#^world/$#',␊ |
| 'base' => '',␊ |
| 'model' => 'Pluf_Tests_Dispatch_Dispatcher',␊ |
| 'method' => 'hello1'␊ |
| )␊ |
| ),␊ |
| ),␊ |
| array(␊ |
| 'regex' => '#^/hello2/#',␊ |
| 'base' => '',␊ |
| 'sub' => array(␊ |
| array(␊ |
| 'regex' => '#^world/$#',␊ |
| 'base' => '',␊ |
| 'model' => 'Pluf_Tests_Dispatch_Dispatcher',␊ |
| 'method' => 'hello2'␊ |
| )␊ |
| ),␊ |
| ),␊ |
| );␊ |
| $req1 = (object) array('query' => '/hello/world/'); // match␊ |
| $req2 = (object) array('query' => '/hello/world'); // match second pass␊ |
| $req3 = (object) array('query' => '/hello/you/'); // no match␊ |
| $h1 = (object) array('query' => '/hello1/world/'); // match␊ |
| $h2 = (object) array('query' => '/hello2/world/'); // match␊ |
| $this->assertIdentical(true, Pluf_Dispatcher::match($req1));␊ |
| $this->assertIdentical(1, Pluf_Dispatcher::match($h1));␊ |
| $this->assertIdentical(2, Pluf_Dispatcher::match($h2));␊ |
| $this->assertIsA(Pluf_Dispatcher::match($req2), ␊ |
| 'Pluf_HTTP_Response_Redirect');␊ |
| $this->assertIsA(Pluf_Dispatcher::match($req3), ␊ |
|
| Pluf::loadFunction('Pluf_HTTP_URL_reverse');␊ |
| $this->assertEqual('/hello/world/',␊ |
| Pluf_HTTP_URL_reverse('Pluf_Tests_Dispatch_Dispatcher::hello'));␊ |
| $this->assertEqual('/hello1/world/',␊ |
| Pluf_HTTP_URL_reverse('Pluf_Tests_Dispatch_Dispatcher::hello1'));␊ |
| $this->assertEqual('/hello2/world/',␊ |
| Pluf_HTTP_URL_reverse('Pluf_Tests_Dispatch_Dispatcher::hello2'));␊ |
| }␊ |
| ␊ |
| ␊ |