예제 #1
0
 /**
  * @expectedException              \Exception
  * @expectedExceptionMessageRegExp #Must use ::setText.*#
  */
 public function testBuilderNoLabelException()
 {
     LinkBuilder::begin()->setURI('example text')->build();
 }
예제 #2
0
 /**
  * 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();
 }
예제 #3
0
 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);
 }