/** * Parse opening tag. * * @param resource $parser XML parser * @param string $tag Tag name * @param array $attributes Tag attributes */ public function startTag($parser, $tag, array $attributes) { $this->empty = true; if ($this->tag->isAllowed($tag, $attributes)) { $attributes = $this->attribute->filter($tag, $attributes); if ($this->attribute->hasRequiredAttributes($tag, $attributes)) { $attributes = $this->attribute->addAttributes($tag, $attributes); $this->output .= $this->tag->openHtmlTag($tag, $this->attribute->toHtml($attributes)); $this->empty = false; } } $this->empty_tags[] = $this->empty; }
public function testRequiredAttribute() { $filter = new Attribute(new Url('http://google.com')); $this->assertTrue($filter->hasRequiredAttributes('a', array('href' => 'bla'))); $this->assertTrue($filter->hasRequiredAttributes('img', array('src' => 'bla'))); $this->assertTrue($filter->hasRequiredAttributes('source', array('src' => 'bla'))); $this->assertTrue($filter->hasRequiredAttributes('audio', array('src' => 'bla'))); $this->assertTrue($filter->hasRequiredAttributes('iframe', array('src' => 'bla'))); $this->assertTrue($filter->hasRequiredAttributes('p', array('class' => 'bla'))); $this->assertFalse($filter->hasRequiredAttributes('a', array('title' => 'bla'))); }