| Conditions | 7 |
| Paths | 5 |
| Total Lines | 29 |
| Code Lines | 12 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 22 | * @param DOMElement $element |
||
| 23 | * @return bool |
||
| 24 | */ |
||
| 25 | protected function isFollowedByText(DOMElement $element) |
||
| 26 | { |
||
| 27 | return ($element->nextSibling && $element->nextSibling->nodeType === XML_TEXT_NODE); |
||
| 28 | } |
||
| 29 | |||
| 30 | /** |
||
| 31 | * Test whether an element is preceded by a text node |
||
| 32 | * |
||
| 33 | * @param DOMElement $element |
||
| 34 | * @return bool |
||
| 35 | */ |
||
| 36 | protected function isPrecededByText(DOMElement $element) |
||
| 37 | { |
||
| 38 | return ($element->previousSibling && $element->previousSibling->nodeType === XML_TEXT_NODE); |
||
| 39 | } |
||
| 40 | |||
| 41 | /** |
||
| 42 | * {@inheritdoc} |
||
| 43 | */ |
||
| 44 | protected function normalizeElement(DOMElement $element) |
||
| 45 | { |
||
| 46 | // If this node's content is whitespace, ensure it's preceded or followed by a text node |
||
| 47 | if (trim($element->textContent) === '') |
||
| 48 | { |
||
| 49 | if (!$this->isFollowedByText($element) && !$this->isPrecededByText($element)) |
||
| 50 | { |
||
| 51 | // This would become inter-element whitespace, therefore we can't inline |
||
| 57 | } |