public function testHasPage() { $page0 = Page\AbstractPage::factory(array('label' => 'Page 0', 'uri' => '#')); $page1 = Page\AbstractPage::factory(array('label' => 'Page 1', 'uri' => '#')); $page1_1 = Page\AbstractPage::factory(array('label' => 'Page 1.1', 'uri' => '#')); $page1_2 = Page\AbstractPage::factory(array('label' => 'Page 1.2', 'uri' => '#')); $page1_2_1 = Page\AbstractPage::factory(array('label' => 'Page 1.2.1', 'uri' => '#')); $page1_3 = Page\AbstractPage::factory(array('label' => 'Page 1.3', 'uri' => '#')); $page2 = Page\AbstractPage::factory(array('label' => 'Page 2', 'uri' => '#')); $page3 = Page\AbstractPage::factory(array('label' => 'Page 3', 'uri' => '#')); $nav = new Navigation\Navigation(array($page1, $page2, $page3)); $page1->addPage($page1_1); $page1->addPage($page1_2); $page1_2->addPage($page1_2_1); $page1->addPage($page1_3); $expected = array('haspage0' => false, 'haspage2' => true, 'haspage1_1' => false, 'haspage1_1recursive' => true); $actual = array('haspage0' => $nav->hasPage($page0), 'haspage2' => $nav->hasPage($page2), 'haspage1_1' => $nav->hasPage($page1_1), 'haspage1_1recursive' => $nav->hasPage($page1_1, true)); $this->assertEquals($expected, $actual); }