/** * Get the breadcrumb container. * * @deprecated 0.2 Will be deleted. * @return array */ public function getContainer() { trigger_error('The ' . self::class . ':getContainer() function is deprecated since version 0.2 and will be removed in 1.0', E_USER_DEPRECATED); if (!count($this->breadcrumb_list)) { $this->addBreadcrumb(new Breadcrumb()); } $links = $this->lastbreadcrumb->getLinks(); $container = array(); foreach ($links as $link) { try { $url = $this->urlGenerator ? $this->urlGenerator->generate($link->getLink()) : $link->getLink(); } catch (RouteNotFoundException $e) { $url = $link->getLink(); } $container[] = array('title' => $link->getTitle(), 'url' => $url, 'glyphicon' => $link->getGlyphicon()); } return $container; }
/** * @cover Breadcrumb::offsetExists() * @cover Breadcrumb::offsetGet() * @cover Breadcrumb::offsetSet() * @cover Breadcrumb::offsetUnset() */ public function testArrayAccess() { $links = array(new BreadcrumbLink(), new BreadcrumbLink()); $breadcrumb = new Breadcrumb(); $breadcrumb[0] = $links[0]; $breadcrumb[1] = $links[1]; $this->assertEquals(2, count($breadcrumb->getLinks())); $this->assertSame($links[0], $breadcrumb[0]); $this->assertSame($links[1], $breadcrumb[1]); $link = new BreadcrumbLink(); $breadcrumb[] = $link; $this->assertEquals(3, count($breadcrumb->getLinks())); $this->assertSame($link, $breadcrumb[2]); $link = new BreadcrumbLink(); $breadcrumb[1] = $link; $this->assertEquals(3, count($breadcrumb->getLinks())); $this->assertNotSame($links[1], $breadcrumb[1]); $this->assertSame($link, $breadcrumb[1]); $link = new BreadcrumbLink(); $breadcrumb['0'] = $link; $this->assertEquals(3, count($breadcrumb->getLinks())); $this->assertNotSame($links[0], $breadcrumb[1]); $this->assertSame($link, $breadcrumb[0]); $this->assertSame($link, $breadcrumb['0']); $links = $breadcrumb->getLinks(); $breadcrumb[4] = new BreadcrumbLink(); $this->assertEquals(3, count($breadcrumb->getLinks())); foreach ($links as $key => $link) { $this->assertSame($link, $breadcrumb[$key]); } $breadcrumb[-1] = new BreadcrumbLink(); $this->assertEquals(3, count($breadcrumb->getLinks())); foreach ($links as $key => $link) { $this->assertSame($link, $breadcrumb[$key]); } $links = $breadcrumb->getLinks(); $breadcrumb['1_'] = new BreadcrumbLink(); $this->assertEquals(3, count($breadcrumb->getLinks())); foreach ($links as $key => $link) { $this->assertSame($link, $breadcrumb[$key]); } $this->assertNull($breadcrumb[4]); $this->assertNull($breadcrumb['0_']); $this->assertNull($breadcrumb[-1]); unset($breadcrumb[1]); unset($breadcrumb[3]); unset($breadcrumb[-1]); unset($breadcrumb["_0"]); $this->assertEquals(2, count($breadcrumb->getLinks())); $this->assertSame($links[0], $breadcrumb[0]); $this->assertNotSame($links[1], $breadcrumb[1]); $this->assertSame($links[2], $breadcrumb[1]); }