public function testSetAndGetItemsAndAddItem() { $list = new Ol(['item 1', 'item 2']); $list->addItem('item 3', ['class' => 'teste']); $list->addItem(['class' => 'teste']); $list->addItem(['content' => 'item 5', 'class' => 'teste']); $expected = '<ol><li>item 1</li><li>item 2</li>' . '<li class="teste">item 3</li>' . '<li class="teste"></li>' . '<li class="teste">item 5</li></ol>'; $items = $list->getItems(); $this->assertCount(5, $items); $this->assertInstanceOf('\\PhpBootstrap\\Html\\Tag', $items[0]); $this->assertEquals('li', $items[0]->getTag()); $this->assertEquals($expected, $list->render()); }
public function addItem($item, $description = null, $title = null, $active = false) { if (is_array($item)) { if (isset($item['description'])) { $description = $item['description']; } if (isset($item['title'])) { $title = $item['title']; } if (isset($item['active']) && $item['active']) { $active = true; } if (isset($item['img'])) { $item = $item['img']; } } if ($item instanceof Img) { $img = $item; } elseif (is_string($item)) { $img = new Img($item); } $div = new Tag('div', $img, ['class' => 'item']); if ($active) { $div->addClass('active'); } if ($title || $description) { $caption = new Tag('div', '', ['class' => 'carousel-caption']); if ($title) { $caption->append(new Tag('h3', $title)); } if ($description) { $caption->append(new Tag('p', $description)); } $div->append($caption); } $this->inner->append($div); $indicatorOptions = $active ? ['class' => 'active'] : null; $this->indicators->addItem('', $indicatorOptions); return $this; }