[limb-svn] r5820 - in 3.x/trunk/limb/web_app: src/template/tags/request tests/cases/plain/template/tags/request

svn at limb-project.com svn at limb-project.com
Mon May 7 14:34:13 MSD 2007


Author: dan82
Date: 2007-05-07 14:34:13 +0400 (Mon, 07 May 2007)
New Revision: 5820
URL: http://fisheye.limb-project.com/changelog/limb/?cs=5820

Modified:
   3.x/trunk/limb/web_app/src/template/tags/request/route_url.tag.php
   3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlSetTagTest.class.php
   3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlTagTest.class.php
Log:
-- <route_url> tag now can optionally accepts "skip_controller" attribute. If this attribute has "true" value then dispatched controller will not be attached to params array what passed to lmbToolkit :: instance()->getRouteUrl() method.

Modified: 3.x/trunk/limb/web_app/src/template/tags/request/route_url.tag.php
===================================================================
--- 3.x/trunk/limb/web_app/src/template/tags/request/route_url.tag.php	2007-05-07 09:08:30 UTC (rev 5819)
+++ 3.x/trunk/limb/web_app/src/template/tags/request/route_url.tag.php	2007-05-07 10:34:13 UTC (rev 5820)
@@ -11,7 +11,7 @@
  */
 /**
 * @tag route_url
-* @suppress_attributes params route extra
+* @suppress_attributes params route extra skip_controller
 */
 class lmbRouteURLTag extends WactRuntimeComponentHTMLTag
 {
@@ -34,6 +34,8 @@
     $params = '$' . $code->getTempVariable();
     $code->writePhp($params . ' = array();');
 
+    
+    
     if(isset($this->attributeNodes['params']))
     {
       $this->attributeNodes['params']->generatePreStatement($code);
@@ -43,8 +45,12 @@
       $this->attributeNodes['params']->generatePostStatement($code);
     }
 
-    $code->writePhp($href . '= lmbToolkit :: instance()->getRoutesUrl(' . $params . ', ' . $route .');');
-
+    if($this->getBoolAttribute('skip_controller')) $skip_controller = 'true';
+    else $skip_controller = 'false';
+    
+    $this->removeAttribute('skip_controller');
+    $code->writePhp($href . '= lmbToolkit :: instance()->getRoutesUrl(' . $params . ', ' . $route .', ' . $skip_controller .');');
+   
     $this->removeAttribute('route');
     $this->removeAttribute('params');
 

Modified: 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlSetTagTest.class.php
===================================================================
--- 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlSetTagTest.class.php	2007-05-07 09:08:30 UTC (rev 5819)
+++ 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlSetTagTest.class.php	2007-05-07 10:34:13 UTC (rev 5820)
@@ -105,9 +105,9 @@
     $template = '<route_url_set field="url" params="action:archive" skip_controller="true"/>' .
                 '{$url}';
 
-    $this->registerTestingTemplate('/limb/routes_tag_route_with_skip_controller.html', $template);
+    $this->registerTestingTemplate('/limb/route_url_tag_with_skip_controller.html', $template);
 
-    $page = $this->initTemplate('/limb/routes_tag_route_with_skip_controller.html');
+    $page = $this->initTemplate('/limb/route_url_tag_with_skip_controller.html');
 
     $expected = $toolkit->getRoutesUrl(array('action' => 'archive'), null, $skip_controller = true);
     $this->assertEqual($page->capture(), $expected);

Modified: 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlTagTest.class.php
===================================================================
--- 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlTagTest.class.php	2007-05-07 09:08:30 UTC (rev 5819)
+++ 3.x/trunk/limb/web_app/tests/cases/plain/template/tags/request/lmbRouteUrlTagTest.class.php	2007-05-07 10:34:13 UTC (rev 5820)
@@ -10,6 +10,7 @@
  * @package    web_app
  */
 lmb_require('limb/web_app/src/request/lmbRoutes.class.php');
+lmb_require('limb/web_app/src/controller/lmbController.class.php');
 
 class lmbRouteUrlTagTest extends lmbWactTestCase
 {
@@ -111,6 +112,31 @@
     $this->assertEqual($page->capture(), $expected);
   }
 
+  
+  function testRouteWithSkipController()
+  {
+    $toolkit = lmbToolkit :: instance();
+    $toolkit->setDispatchedController(new lmbController());
+
+    $config = array('blog' => array('path' => '/blog/:action'));
+
+    $routes = $this->_createRoutes($config);
+
+    $template = '<route_url params="action:archive" skip_controller="true"/>';
+
+    $this->registerTestingTemplate('/limb/routes_tag_route_with_skip_controller.html', $template);
+
+    $page = $this->initTemplate('/limb/routes_tag_route_with_skip_controller.html');
+
+    
+    $url = $toolkit->getRoutesUrl(array('action' => 'archive'), null, $skip_controller = true);
+    $expected = '<a href="'. $url . '" />';
+    
+    
+    $this->assertEqual($page->capture(), $expected);
+  }
+  
+  
   function _createRoutes($config)
   {
     $routes = new lmbRoutes($config);



More information about the limb-svn mailing list