/** * Decorates HtmlElement element. * @return void */ public function decorate(Texy $texy, HtmlElement $el) { $elAttrs =& $el->attrs; // tag & attibutes $tmp = $texy->allowedTags; // speed-up if (!$this->attrs) { } elseif ($tmp === $texy::ALL) { $elAttrs = $this->attrs; $el->validateAttrs($texy->dtd); } elseif (is_array($tmp) && isset($tmp[$el->getName()])) { $tmp = $tmp[$el->getName()]; if ($tmp === $texy::ALL) { $elAttrs = $this->attrs; } elseif (is_array($tmp) && count($tmp)) { $tmp = array_flip($tmp); foreach ($this->attrs as $key => $value) { if (isset($tmp[$key])) { $el->attrs[$key] = $value; } } } $el->validateAttrs($texy->dtd); } // title if ($this->title !== NULL) { $elAttrs['title'] = $texy->typographyModule->postLine($this->title); } // classes & ID if ($this->classes || $this->id !== NULL) { $tmp = $texy->_classes; // speed-up if ($tmp === $texy::ALL) { foreach ($this->classes as $value => $foo) { $elAttrs['class'][] = $value; } $elAttrs['id'] = $this->id; } elseif (is_array($tmp)) { foreach ($this->classes as $value => $foo) { if (isset($tmp[$value])) { $elAttrs['class'][] = $value; } } if (isset($tmp['#' . $this->id])) { $elAttrs['id'] = $this->id; } } } // styles if ($this->styles) { $tmp = $texy->_styles; // speed-up if ($tmp === $texy::ALL) { foreach ($this->styles as $prop => $value) { $elAttrs['style'][$prop] = $value; } } elseif (is_array($tmp)) { foreach ($this->styles as $prop => $value) { if (isset($tmp[$prop])) { $elAttrs['style'][$prop] = $value; } } } } // horizontal align if ($this->hAlign) { if (empty($texy->alignClasses[$this->hAlign])) { $elAttrs['style']['text-align'] = $this->hAlign; } else { $elAttrs['class'][] = $texy->alignClasses[$this->hAlign]; } } // vertical align if ($this->vAlign) { if (empty($texy->alignClasses[$this->vAlign])) { $elAttrs['style']['vertical-align'] = $this->vAlign; } else { $elAttrs['class'][] = $texy->alignClasses[$this->vAlign]; } } return $el; }
/** * @covers HtmlElement::getName */ public function testGetName() { $actual = $this->element->getName(); $excepted = 'sensorID'; $this->assertEquals($excepted, $actual); }