public function testComplexMenu()
 {
     $acl = new Kwf_Acl();
     $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar1', array('text' => 'FooBar1', 'icon' => 'heart.png')));
     $acl->add(new Kwf_Acl_Resource_MenuUrl('foo1', array('text' => 'Foo1', 'icon' => 'heart.png', 'order' => -1), '/admin/foo'), 'fooBar1');
     $acl->add(new Kwf_Acl_Resource_MenuUrl('bar1', array('text' => 'Bar1', 'icon' => 'heart.png', 'order' => -2), '/admin/bar'), 'fooBar1');
     $acl->allow(null, 'fooBar1');
     $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar2', array('text' => 'FooBar2', 'icon' => 'heart.png', 'order' => 1)));
     $acl->add(new Kwf_Acl_Resource_MenuUrl('foo2', array('text' => 'Foo2', 'icon' => 'heart.png', 'order' => 1), '/admin/foo'), 'fooBar2');
     $acl->add(new Kwf_Acl_Resource_MenuUrl('bar2', array('text' => 'Bar2', 'icon' => 'heart.png'), '/admin/bar'), 'fooBar2');
     $acl->allow(null, 'fooBar2');
     $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar3', array('text' => 'FooBar3', 'icon' => 'heart.png', 'order' => -1)));
     $acl->add(new Kwf_Acl_Resource_MenuUrl('foo3', array('text' => 'Foo3', 'icon' => 'heart.png'), '/admin/foo'), 'fooBar3');
     $acl->add(new Kwf_Acl_Resource_MenuUrl('bar3', array('text' => 'Bar3', 'icon' => 'heart.png', 'order' => -1), '/admin/bar'), 'fooBar3');
     $acl->allow(null, 'fooBar3');
     $config = $acl->getMenuConfig(null);
     //order of the dropdowns
     $this->assertEquals('FooBar3', $config[0]['menuConfig']['text']);
     $this->assertEquals('FooBar1', $config[1]['menuConfig']['text']);
     //order of fooBar1 children
     $this->assertEquals('Bar1', $config[1]['children'][0]['menuConfig']['text']);
     //order of fooBar2 children
     $this->assertEquals('Bar2', $config[2]['children'][0]['menuConfig']['text']);
     //order of fooBar3 children
     $this->assertEquals('Bar3', $config[0]['children'][0]['menuConfig']['text']);
 }
Exemplo n.º 2
0
 public function testKwcAcl()
 {
     $acl = new Kwf_Acl();
     $acl->add(new Zend_Acl_Resource('misc'));
     $acl->allow(null, 'misc');
     $config = $acl->getMenuConfig(null);
     $this->assertEquals(1, count($config));
     $this->assertEquals('url', $config[0]['type']);
 }
 public function testBelowZendResourceGoesToParent()
 {
     $acl = new Kwf_Acl();
     $acl->add(new Zend_Acl_Resource('foo'));
     $acl->add(new Kwf_Acl_Resource_MenuUrl('misc_languages', array('text' => 'Sprachen', 'icon' => 'comment.png'), '/admin/misc/languages'), 'foo');
     $acl->allow(null, 'foo');
     $config = $acl->getMenuConfig(null);
     $this->assertEquals(1, count($config));
     $this->assertEquals('url', $config[0]['type']);
 }