/** * @expectedException \Exception * @expectedExceptionMessageRegExp #Must use ::setText.*# */ public function testBuilderNoLabelException() { LinkBuilder::begin()->setURI('example text')->build(); }
/** * Build the bread crumbs, header, sub header, etc., of the page. * * @return SectionInterface */ protected function buildTopMatter() { $topMatterBuilder = SectionBuilder::begin()->setType(SectionBuilder::TYPE_SPAN); if ($this->breadCrumbTitles !== []) { $breadCrumbsBuilder = SectionBuilder::begin()->setType(SectionBuilder::TYPE_BREADCRUMBS); foreach ($this->breadCrumbTitles as $index => $breadCrumbTitle) { $breadCrumbLink = $this->breadCrumbLinks[$index]; if ($breadCrumbLink !== '') { $breadCrumbsBuilder->addWritable(LinkBuilder::begin()->setText($breadCrumbTitle)->setURI($breadCrumbLink)->build()); } else { $breadCrumbsBuilder->addContent($breadCrumbTitle); } } $topMatterBuilder->addWritable($breadCrumbsBuilder->build()); } if ($this->header !== null) { $topMatterBuilder->addWritable(SectionBuilder::begin()->setType(SectionBuilder::TYPE_HEADER)->addLiteralContent($this->header)->build()); } $topMatterBuilder->addWritable(SectionBuilder::begin()->setType(SectionBuilder::TYPE_DIV)->setId('top-filters')->build()); if ($this->subHeader !== null) { $topMatterBuilder->addWritable(SectionBuilder::begin()->setType(SectionBuilder::TYPE_SUBHEADER)->addLiteralContent($this->subHeader)->build()); } return $topMatterBuilder->build(); }
public function testVisitLink() { $writer = new HTMLWriter(); $uri = 'u' . (string) rand(); $text = 't' . (string) rand(); $classes = ["class1", "class2"]; $data = ['d' . (string) rand() => (string) rand(), 'd' . (string) rand() => (string) rand()]; $link = LinkBuilder::begin()->addClass($classes[0])->addClass($classes[1])->addData(array_keys($data)[0], array_values($data)[0])->addData(array_keys($data)[1], array_values($data)[1])->setURI($uri)->setText($text)->build(); // Get result and strip quotes, for easier analysis $result = $this->stripQuotes($writer->visitLink($link)); $this->assertContains("<a", $result); $this->assertContains("href={$uri}", $result); $this->assertContains(">{$text}</a>", $result); $this->assertContains("class=link " . implode(' ', $classes), $result); $this->assertContains("data-" . array_keys($data)[0] . "=" . array_values($data)[0], $result); $this->assertContains("data-" . array_keys($data)[1] . "=" . array_values($data)[1], $result); }