Example #1
0
 public function testGetHref()
 {
     $uri = 'spotify:album:4YzcWwBUSzibRsqD9Sgu4A';
     $page = new Page\Uri();
     $page->setUri($uri);
     $this->assertEquals($uri, $page->getHref());
 }
Example #2
0
 /**
  * @param   StructureInterface  $menu
  */
 public function onClose($menu)
 {
     $uri = $menu->getUri();
     $this->last = $this->cache[$menu->id]->setUri($uri);
     if ($menu->hasChildren()) {
         $this->last->setClass('has-children');
     }
     if ($menu->isActive()) {
         $this->last->setActive(true);
     }
     if (!empty($uri) && $uri[0] !== '#') {
         $this->last->set('changefreq', 'always');
     }
 }
Example #3
0
 /**
  * Testing that navigation order is done correctly
  *
  * @group   ZF-8337
  * @group   ZF-8313
  */
 public function testNavigationArraySortsCorrectly()
 {
     $page1 = new Page\Uri(array('uri' => 'page1'));
     $page2 = new Page\Uri(array('uri' => 'page2'));
     $page3 = new Page\Uri(array('uri' => 'page3'));
     $this->_navigation->setPages(array($page1, $page2, $page3));
     $page1->setOrder(1);
     $page3->setOrder(0);
     $page2->setOrder(2);
     $pages = $this->_navigation->toArray();
     $this->assertSame(3, count($pages));
     $this->assertEquals('page3', $pages[0]['uri'], var_export($pages, 1));
     $this->assertEquals('page1', $pages[1]['uri']);
     $this->assertEquals('page2', $pages[2]['uri']);
 }
Example #4
0
 /**
  * @group ZF-8922
  */
 public function testGetHrefWithFragmentIdentifier()
 {
     $uri = 'http://www.example.com/foo.html';
     $page = new Page\Uri();
     $page->setUri($uri);
     $page->setFragment('bar');
     $this->assertEquals($uri . '#bar', $page->getHref());
     $page->setUri('#');
     $this->assertEquals('#bar', $page->getHref());
 }
Example #5
0
 public function testSetVisibleShouldJuggleValue()
 {
     $page = new Page\Uri();
     $page->setVisible(1);
     $this->assertTrue($page->isVisible());
     $page->setVisible('true');
     $this->assertTrue($page->isVisible());
     $page->setVisible(0);
     $this->assertFalse($page->isVisible());
     /**
      * ZF-10146
      * 
      * @link http://framework.zend.com/issues/browse/ZF-10146
      */
     $page->setVisible('False');
     $this->assertFalse($page->isVisible());
     $page->setVisible(array());
     $this->assertFalse($page->isVisible());
 }
Example #6
0
 public function testSetVisibleShouldJuggleValue()
 {
     $page = new Page\Uri();
     $page->setVisible(1);
     $this->assertTrue($page->isVisible());
     $page->setVisible('true');
     $this->assertTrue($page->isVisible());
     $page->setVisible(0);
     $this->assertFalse($page->isVisible());
     $page->setVisible(array());
     $this->assertFalse($page->isVisible());
 }
Example #7
0
 public function testHideInvisible()
 {
     // Página Visível
     $subpage = new Page(['label' => 'A', 'visible' => true]);
     // Configurar Página Visível na Visível
     $subpage->addPage(new Page(['label' => 'AA', 'visible' => true]));
     // Configurar Página Invisível na Visível
     $subpage->addPage(new Page(['label' => 'AB', 'visible' => false]));
     // Configurações
     $this->page->addPage($subpage);
     // Página Invisível
     $subpage = new Page(['label' => 'B', 'visible' => false]);
     // Configurar Página Visível na Invisível
     $subpage->addPage(new Page(['label' => 'BA', 'visible' => true]));
     // Configurar Página Invisível na Invisível
     $subpage->addPage(new Page(['label' => 'BB', 'visible' => false]));
     // Configurações
     $this->page->addPage($subpage);
     // Camada de Visualização
     $this->view->setTemplate('layout/navigation');
     // Renderização
     $content = $this->renderer->render($this->view);
     // Conteúdo Visível
     $visible = $this->getVisiblePagesText($content);
     // Verificações
     $this->assertContains('A', $visible);
     $this->assertContains('AA', $visible);
     $this->assertNotContains('AB', $visible);
     $this->assertNotContains('B', $visible);
     $this->assertNotContains('BA', $visible);
     $this->assertNotContains('BB', $visible);
 }
Example #8
0
 /**
  * {@inheritDoc}
  */
 public function isActive($recursive = false)
 {
     /**#@+
      * Modified by Taiwen Jiang
      */
     if (null === $this->active) {
         if ($this->getRequest() instanceof Request) {
             if ($this->getRequest()->getUri()->getPath() == $this->getUri()) {
                 $this->active = true;
                 return true;
             } else {
                 $this->active = false;
             }
         }
     }
     if (!$this->active && $recursive) {
         foreach ($this->pages as $page) {
             if ($page->isActive(true)) {
                 return true;
             }
         }
     }
     return $this->active;
     /**#@-*/
     if (!$this->active) {
         if ($this->getRequest() instanceof Request) {
             if ($this->getRequest()->getUri()->getPath() == $this->getUri()) {
                 $this->active = true;
                 return true;
             }
         }
     }
     return parent::isActive($recursive);
 }