Exemplo n.º 1
0
 public function testBuilder()
 {
     $type = "type";
     $classes = ["class1", "class2"];
     $contents = "example contents";
     $script = ScriptBuilder::begin()->setType($type)->addClass($classes[0])->addClass($classes[1])->setContents($contents)->build();
     $this->assertEquals($type, $script->getType());
     $this->assertEquals($contents, $script->getContents());
     $this->assertContains($classes[0], $script->getClasses());
     $this->assertContains($classes[1], $script->getClasses());
 }
 /**
  * @param string $contents
  * @return WritableBearerBuilder
  */
 public function addScript($contents)
 {
     $script = ScriptBuilder::begin()->setContents($contents)->build();
     $this->addWritable($script);
     return $this;
 }
Exemplo n.º 3
0
 public function testVisitScript()
 {
     $writer = new HTMLWriter();
     $contents = 'c' . (string) rand();
     $classes = ["class1", "class2"];
     $data = ['d' . (string) rand() => (string) rand(), 'd' . (string) rand() => (string) rand()];
     $script = ScriptBuilder::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])->setContents($contents)->build();
     // Get result and strip quotes, for easier analysis
     $result = $this->stripQuotes($writer->visitScript($script));
     $this->assertContains("<script", $result);
     $this->assertContains("{$contents}\n</script>", $result);
     $this->assertContains("class=script " . 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);
 }