Author: ornicar2
Date: 2010-01-18 17:43:35 +0100 (Mon, 18 Jan 2010)
New Revision: 26825

Modified:
   plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/lib/dmMenu.php
   
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/test/unit/dmMenuTest.php
Log:
[Diem]
- added dmMenu->notAuthenticated method
- added unit tests for not_athenticated menu items

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/lib/dmMenu.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/lib/dmMenu.php   
2010-01-18 16:19:15 UTC (rev 26824)
+++ plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/lib/dmMenu.php   
2010-01-18 16:43:35 UTC (rev 26825)
@@ -36,11 +36,11 @@
   public function getDefaultOptions()
   {
     return array(
-      'ul_class'        => null,
-      'li_class'        => null,
-      'show_id'         => false,
-      'show_children'   => true,
-      'translate'       => true
+      'ul_class'          => null,
+      'li_class'          => null,
+      'show_id'           => false,
+      'show_children'     => true,
+      'translate'         => true
     );
   }
 
@@ -74,6 +74,11 @@
     return $this->setOption('secure', (bool) $bool);
   }
 
+  public function notAuthenticated($bool)
+  {
+    return $this->setOption('not_authenticated', (bool) $bool);
+  }
+
   public function translate($bool)
   {
     return $this->setOption('translate', (bool) $bool);
@@ -220,6 +225,11 @@
 
   public function checkUserAccess()
   {
+    if (!empty($this->options['not_authenticated']) && 
$this->user->isAuthenticated())
+    {
+      return false;
+    }
+
     if(empty($this->options['secure']) && empty($this->options['credentials']))
     {
       return true;

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/test/unit/dmMenuTest.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/test/unit/dmMenuTest.php
 2010-01-18 16:19:15 UTC (rev 26824)
+++ 
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmMenuPlugin/test/unit/dmMenuTest.php
 2010-01-18 16:43:35 UTC (rev 26825)
@@ -8,7 +8,7 @@
 $helper = new dmUnitTestHelper();
 $helper->boot('front');
 
-$t = new lime_test(42);
+$t = new lime_test(44);
 
 dm::loadHelpers(array('Dm', 'I18N'));
 
@@ -63,6 +63,13 @@
 $t->is($menu['Test']['With Route']->checkUserAccess($user), true, 'Test 
checkUserAccess()');
 $t->is((string) $menu['Test'], '<ul id="test-menu"><li 
id="test-menu-with-route" class="first last"><a class="link" 
href="http://www.google.com"; target="_blank">With Route</a></li></ul>', 'Test 
authentication');
 
+$t->comment('test notAuthenticated');
+$menu['Test']['With Route']->secure(false)->notAuthenticated(true);
+$t->is($menu['Test']['With Route']->checkUserAccess($user), false, 'Test 
checkUserAccess()');
+$user->setAuthenticated(false);
+$t->is($menu['Test']['With Route']->checkUserAccess($user), true, 'Test 
checkUserAccess()');
+
+$t->comment('misc tests');
 $t->is($menu->getLevel(), -1, 'Test getLevel()');
 $t->is($menu['Test']['With Route']->getParent()->getLabel(), 
$menu['Test']->getLabel(), 'Test getLabel()');
 

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.


Reply via email to