Passed
Push — master ( b38e2c...95ad23 )
by smiley
02:15
created
src/NodeTraversalTrait.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
 /**
18 18
  * @extends \DOMNode
19 19
  */
20
-trait NodeTraversalTrait{
20
+trait NodeTraversalTrait {
21 21
 
22 22
 	/**
23 23
 	 * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument
@@ -46,9 +46,9 @@  discard block
 block discarded – undo
46 46
 	 *
47 47
 	 * @return \DOMNode|null
48 48
 	 */
49
-	public function _recursivelyFind($selector, $index, string $property, int $nodeType = XML_ELEMENT_NODE){
49
+	public function _recursivelyFind($selector, $index, string $property, int $nodeType = XML_ELEMENT_NODE) {
50 50
 
51
-		if(is_numeric($selector)){
51
+		if (is_numeric($selector)) {
52 52
 			$index    = $selector;
53 53
 			$selector = null;
54 54
 		}
@@ -91,13 +91,13 @@  discard block
 block discarded – undo
91 91
 	 *
92 92
 	 * @return \DOMNode|null
93 93
 	 */
94
-	public function down($expression = null, int $index = 0){
94
+	public function down($expression = null, int $index = 0) {
95 95
 
96
-		if(count(func_get_args()) === 0){
96
+		if (count(func_get_args()) === 0) {
97 97
 			return $this->firstDescendant();
98 98
 		}
99 99
 
100
-		if(is_numeric($expression)){
100
+		if (is_numeric($expression)) {
101 101
 			$index      = $expression;
102 102
 			$expression = '*';
103 103
 		}
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
 	 *
112 112
 	 * @return \DOMNode|null
113 113
 	 */
114
-	public function up($expression = null, int $index = null){
114
+	public function up($expression = null, int $index = null) {
115 115
 		return $this->_recursivelyFind($expression, $index, 'parentNode');
116 116
 	}
117 117
 
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	 *
122 122
 	 * @return \DOMNode|null
123 123
 	 */
124
-	public function previous($expression = null, int $index = null){
124
+	public function previous($expression = null, int $index = null) {
125 125
 		return $this->_recursivelyFind($expression, $index, 'previousSibling');
126 126
 	}
127 127
 
@@ -131,7 +131,7 @@  discard block
 block discarded – undo
131 131
 	 *
132 132
 	 * @return \DOMNode|null
133 133
 	 */
134
-	public function next($expression = null, int $index = null){
134
+	public function next($expression = null, int $index = null) {
135 135
 		return $this->_recursivelyFind($expression, $index, 'nextSibling');
136 136
 	}
137 137
 
@@ -143,11 +143,11 @@  discard block
 block discarded – undo
143 143
 	public function childElements(int $nodeType = XML_ELEMENT_NODE):array{
144 144
 		$children = [];
145 145
 
146
-		if($this->hasChildNodes()){
146
+		if ($this->hasChildNodes()) {
147 147
 
148
-			foreach($this->childNodes as $child){
148
+			foreach ($this->childNodes as $child) {
149 149
 
150
-				if($child->nodeType === $nodeType){
150
+				if ($child->nodeType === $nodeType) {
151 151
 					$children[] = $child;
152 152
 				}
153 153
 
@@ -165,9 +165,9 @@  discard block
 block discarded – undo
165 165
 	 */
166 166
 	public function descendantOf(DOMNode $ancestor):bool{
167 167
 
168
-		foreach($this->ancestors() as $match){
168
+		foreach ($this->ancestors() as $match) {
169 169
 
170
-			if($ancestor->isSameNode($match)){
170
+			if ($ancestor->isSameNode($match)) {
171 171
 				return true;
172 172
 			}
173 173
 
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
 	/**
201 201
 	 * @return \DOMNode|null
202 202
 	 */
203
-	public function firstDescendant(){
203
+	public function firstDescendant() {
204 204
 		return $this->descendants()[0] ?? null;
205 205
 	}
206 206
 
Please login to merge, or discard this patch.
src/Element.php 1 patch
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
14 14
 
15 15
 use DOMElement, DOMNode, DOMNodeList;
16 16
 
17
-class Element extends DOMElement{
17
+class Element extends DOMElement {
18 18
 	use NodeTraversalTrait, NodeManipulationTrait;
19 19
 
20 20
 	/**
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
 	public function id(string $newID = null):string {
26 26
 		$oldID = $this->getAttribute('id');
27 27
 
28
-		if($newID){
28
+		if ($newID) {
29 29
 			$this->setAttribute('id', $newID);
30 30
 		}
31 31
 
@@ -38,14 +38,14 @@  discard block
 block discarded – undo
38 38
 	public function getClassNames():array{
39 39
 		$currentClassnames = [];
40 40
 
41
-		if($this->hasAttributes()){
41
+		if ($this->hasAttributes()) {
42 42
 			$classnames = explode(' ', trim($this->getAttribute('class')));
43 43
 
44
-			if(!empty($classnames)){
44
+			if (!empty($classnames)) {
45 45
 
46
-				foreach($classnames as $classname){
46
+				foreach ($classnames as $classname) {
47 47
 
48
-					if(empty($classname)){
48
+					if (empty($classname)) {
49 49
 						continue;
50 50
 					}
51 51
 
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
 	public function addClassNames(array $classnames):Element{
77 77
 		$currentClassnames = $this->getClassNames();
78 78
 
79
-		foreach($classnames as $classname){
79
+		foreach ($classnames as $classname) {
80 80
 
81
-			if(!in_array($classname, $currentClassnames, true)){
81
+			if (!in_array($classname, $currentClassnames, true)) {
82 82
 				array_push($currentClassnames, $classname);
83 83
 			}
84 84
 
@@ -97,12 +97,12 @@  discard block
 block discarded – undo
97 97
 	public function removeClassNames(array $classnames):Element{
98 98
 		$currentClassnames = $this->getClassNames();
99 99
 
100
-		foreach($classnames as $classname){
100
+		foreach ($classnames as $classname) {
101 101
 			$keys = array_keys($currentClassnames, $classname);
102 102
 
103
-			if(!empty($keys)){
103
+			if (!empty($keys)) {
104 104
 
105
-				foreach($keys as $key){
105
+				foreach ($keys as $key) {
106 106
 					unset($currentClassnames[$key]);
107 107
 				}
108 108
 
@@ -151,15 +151,15 @@  discard block
 block discarded – undo
151 151
 	public function getStyle():array{
152 152
 		$currentStyle = [];
153 153
 
154
-		if($this->hasAttributes()){
154
+		if ($this->hasAttributes()) {
155 155
 			$styles = explode(';', trim($this->getAttribute('style')));
156 156
 
157
-			if(!empty($styles)){
157
+			if (!empty($styles)) {
158 158
 
159
-				foreach($styles as $style){
159
+				foreach ($styles as $style) {
160 160
 					$s = explode(':', $style);
161 161
 
162
-					if(count($s) === 2){
162
+					if (count($s) === 2) {
163 163
 						$currentStyle[strtolower(trim($s[0]))] = trim($s[1]);
164 164
 					}
165 165
 
@@ -177,10 +177,10 @@  discard block
 block discarded – undo
177 177
 	 *
178 178
 	 * @return bool|string
179 179
 	 */
180
-	public function hasStyle(string $property){
180
+	public function hasStyle(string $property) {
181 181
 		$currentStyle = $this->getStyle();
182 182
 
183
-		if(array_key_exists(strtolower($property), $currentStyle)){
183
+		if (array_key_exists(strtolower($property), $currentStyle)) {
184 184
 			return $currentStyle[$property];
185 185
 		}
186 186
 
@@ -196,11 +196,11 @@  discard block
 block discarded – undo
196 196
 	public function setStyle(array $style, bool $replace = false):Element{
197 197
 		$currentStyle = $this->getStyle();
198 198
 
199
-		if(!$replace){
199
+		if (!$replace) {
200 200
 			$style = array_merge($currentStyle, $style);
201 201
 		}
202 202
 
203
-		foreach($style as $property => $value){
203
+		foreach ($style as $property => $value) {
204 204
 			$style[$property] = $property.': '.$value.';';
205 205
 		}
206 206
 
@@ -215,7 +215,7 @@  discard block
 block discarded – undo
215 215
 	public function getAttributes():array{
216 216
 		$attributes = [];
217 217
 
218
-		foreach($this->attributes as $attribute){
218
+		foreach ($this->attributes as $attribute) {
219 219
 			$attributes[$attribute->nodeName] = $attribute->nodeValue;
220 220
 		}
221 221
 
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
 	 */
230 230
 	public function setAttributes(array $attributes):Element{
231 231
 
232
-		foreach($attributes as $name => $value){
232
+		foreach ($attributes as $name => $value) {
233 233
 			$this->setAttribute($name, $value);
234 234
 		}
235 235
 
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 	 */
244 244
 	public function removeAttributes(array $attributes):Element{
245 245
 
246
-		foreach($attributes as $name){
246
+		foreach ($attributes as $name) {
247 247
 			$this->removeAttribute($name);
248 248
 		}
249 249
 
Please login to merge, or discard this patch.
src/NodeManipulationTrait.php 2 patches
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
 /**
18 18
  * @extends \DOMNode
19 19
  */
20
-trait NodeManipulationTrait{
20
+trait NodeManipulationTrait {
21 21
 
22 22
 	/**
23 23
 	 * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
 	 */
47 47
 	public function remove():DOMNode{
48 48
 
49
-		if(!$this->parentNode){
49
+		if (!$this->parentNode) {
50 50
 			/** @var \chillerlan\PrototypeDOM\Element $this */
51 51
 			return $this;
52 52
 		}
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	 */
63 63
 	public function replace(DOMNode $newnode):DOMNode{
64 64
 
65
-		if(!$this->parentNode){
65
+		if (!$this->parentNode) {
66 66
 			/** @var \chillerlan\PrototypeDOM\Element $this */
67 67
 			return $this;
68 68
 		}
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	 */
87 87
 	public function empty():DOMNode{
88 88
 
89
-		while($this->hasChildNodes()){
89
+		while ($this->hasChildNodes()) {
90 90
 			$this->firstChild->remove();
91 91
 		}
92 92
 
@@ -113,10 +113,10 @@  discard block
 block discarded – undo
113 113
 	public function cleanWhitespace():DOMNode{
114 114
 		$node = $this->firstChild;
115 115
 
116
-		while($node){
116
+		while ($node) {
117 117
 			$nextNode = $node->nextSibling;
118 118
 
119
-			if($node->nodeType === XML_TEXT_NODE && empty(trim($node->nodeValue))){
119
+			if ($node->nodeType === XML_TEXT_NODE && empty(trim($node->nodeValue))) {
120 120
 				$node->remove();
121 121
 			}
122 122
 
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
 	 */
144 144
 	public function _insertBottom(DOMNodeList $nodes):DOMNode{
145 145
 
146
-		foreach($nodes as $node){
146
+		foreach ($nodes as $node) {
147 147
 			$this->appendChild($this->_importNode($node));
148 148
 		}
149 149
 
@@ -156,11 +156,11 @@  discard block
 block discarded – undo
156 156
 	 *
157 157
 	 * @return \DOMNode
158 158
 	 */
159
-	public function _insertBefore(DOMNodeList $nodes){
159
+	public function _insertBefore(DOMNodeList $nodes) {
160 160
 
161
-		if($this->parentNode){
161
+		if ($this->parentNode) {
162 162
 
163
-			foreach($nodes as $node){
163
+			foreach ($nodes as $node) {
164 164
 				$this->parentNode->insertBefore($this->_importNode($node), $this);
165 165
 			}
166 166
 
@@ -205,14 +205,14 @@  discard block
 block discarded – undo
205 205
 	 */
206 206
 	public function insert($content):DOMNode{
207 207
 
208
-		if(is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList){
208
+		if (is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList) {
209 209
 			$this->_insertBottom($this->ownerDocument->_toDOMNodeList($content));
210 210
 		}
211
-		elseif(is_array($content)){
211
+		elseif (is_array($content)) {
212 212
 
213
-			foreach(['before', 'after', 'top', 'bottom'] as $pos){
213
+			foreach (['before', 'after', 'top', 'bottom'] as $pos) {
214 214
 
215
-				if(array_key_exists($pos, $content)){
215
+				if (array_key_exists($pos, $content)) {
216 216
 					call_user_func_array(
217 217
 						[$this, '_insert'.ucfirst($pos)],
218 218
 						[$this->ownerDocument->_toDOMNodeList($content[$pos])]
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -207,8 +207,7 @@
 block discarded – undo
207 207
 
208 208
 		if(is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList){
209 209
 			$this->_insertBottom($this->ownerDocument->_toDOMNodeList($content));
210
-		}
211
-		elseif(is_array($content)){
210
+		} elseif(is_array($content)){
212 211
 
213 212
 			foreach(['before', 'after', 'top', 'bottom'] as $pos){
214 213
 
Please login to merge, or discard this patch.
src/Document.php 2 patches
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
 use DOMDocument, DOMNode, DOMNodeList, DOMXPath;
16 16
 use Symfony\Component\CssSelector\CssSelectorConverter;
17 17
 
18
-class Document extends DOMDocument{
18
+class Document extends DOMDocument {
19 19
 
20 20
 	/**
21 21
 	 * Document constructor.
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
 	 * @param string|null $version
24 24
 	 * @param string|null $encoding
25 25
 	 */
26
-	public function __construct($version = null, $encoding = null){
26
+	public function __construct($version = null, $encoding = null) {
27 27
 		parent::__construct($version, $encoding);
28 28
 
29 29
 		$this->registerNodeClass('DOMElement', Element::class);
@@ -73,21 +73,21 @@  discard block
 block discarded – undo
73 73
 	 */
74 74
 	public function select($selectors = null, DOMNode $contextNode = null, string $axis = 'descendant-or-self::', int $nodeType = XML_ELEMENT_NODE):array{
75 75
 
76
-		if(is_string($selectors)){
76
+		if (is_string($selectors)) {
77 77
 			$selectors = [trim($selectors)];
78 78
 		}
79 79
 
80
-		if(!is_array($selectors) || empty($selectors)){
80
+		if (!is_array($selectors) || empty($selectors)) {
81 81
 			$selectors = ['*'];
82 82
 		}
83 83
 
84 84
 		$elements = [];
85 85
 
86
-		foreach($selectors as $selector){
86
+		foreach ($selectors as $selector) {
87 87
 
88
-			foreach($this->getElementsBySelector($selector, $contextNode, $axis) as $element){
88
+			foreach ($this->getElementsBySelector($selector, $contextNode, $axis) as $element) {
89 89
 
90
-				if($element->nodeType === $nodeType){
90
+				if ($element->nodeType === $nodeType) {
91 91
 					$elements[] = $element;
92 92
 				}
93 93
 
@@ -120,9 +120,9 @@  discard block
 block discarded – undo
120 120
 	public function removeElementsBySelector($selectors, DOMNode $contextNode = null, string $axis = 'descendant-or-self::'):Document{
121 121
 		$nodes = $this->select($selectors, $contextNode, $axis);
122 122
 
123
-		if(count($nodes) > 0){
123
+		if (count($nodes) > 0) {
124 124
 			/** @var \chillerlan\PrototypeDOM\Element $node */
125
-			foreach($nodes as $node){
125
+			foreach ($nodes as $node) {
126 126
 				$node->remove();
127 127
 			}
128 128
 
@@ -139,21 +139,21 @@  discard block
 block discarded – undo
139 139
 	 */
140 140
 	public function _toDOMNodeList($content):DOMNodeList{
141 141
 
142
-		if($content instanceof DOMNodeList){
142
+		if ($content instanceof DOMNodeList) {
143 143
 			return $content;
144 144
 		}
145 145
 
146 146
 		$document = new Document;
147 147
 
148
-		if($content instanceof DOMNode){
148
+		if ($content instanceof DOMNode) {
149 149
 			$document->loadHTML('<html><body id="content"></body></html>');
150 150
 
151 151
 			$document->getElementById('content')->appendChild($document->importNode($content, true));
152 152
 		}
153
-		elseif(is_string($content)){
153
+		elseif (is_string($content)) {
154 154
 			$document->loadHTML('<html><body id="content">'.$content.'</body></html>');
155 155
 		}
156
-		else{
156
+		else {
157 157
 			throw new \Exception('invalid content'); // @codeCoverageIgnore
158 158
 		}
159 159
 
@@ -171,15 +171,15 @@  discard block
 block discarded – undo
171 171
 	public function recursivelyCollect(DOMNode $element, string $property, int $maxLength = -1, int $nodeType = XML_ELEMENT_NODE):array{
172 172
 		$nodes = [];
173 173
 
174
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
174
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
175 175
 
176
-			while($element = $element->{$property}){
176
+			while ($element = $element->{$property}) {
177 177
 
178
-				if($element->nodeType === $nodeType){
178
+				if ($element->nodeType === $nodeType) {
179 179
 					$nodes[] = $element;
180 180
 				}
181 181
 
182
-				if(count($nodes) === $maxLength){
182
+				if (count($nodes) === $maxLength) {
183 183
 					break;
184 184
 				}
185 185
 
@@ -199,14 +199,14 @@  discard block
 block discarded – undo
199 199
 	 *
200 200
 	 * @return \chillerlan\PrototypeDOM\Element|\DOMNode|null
201 201
 	 */
202
-	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE){
202
+	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE) {
203 203
 
204
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
204
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
205 205
 
206
-			while($element = $element->{$property}){
206
+			while ($element = $element->{$property}) {
207 207
 
208 208
 				/** @var \chillerlan\PrototypeDOM\Element $element */
209
-				if($element->nodeType !== $nodeType || $selector && !$element->match($selector) || --$index >= 0){
209
+				if ($element->nodeType !== $nodeType || $selector && !$element->match($selector) || --$index >= 0) {
210 210
 					continue;
211 211
 				}
212 212
 
@@ -226,9 +226,9 @@  discard block
 block discarded – undo
226 226
 	 */
227 227
 	public function match(DOMNode $element, string $selector):bool{
228 228
 
229
-		foreach($this->select($selector) as $match){
229
+		foreach ($this->select($selector) as $match) {
230 230
 
231
-			if($element->isSameNode($match)){
231
+			if ($element->isSameNode($match)) {
232 232
 				return true;
233 233
 			}
234 234
 
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
 		/** @var \chillerlan\PrototypeDOM\Element $element */
248 248
 		$element = $this->createElement($tag);
249 249
 
250
-		if($attributes){
250
+		if ($attributes) {
251 251
 			$element->setAttributes($attributes);
252 252
 		}
253 253
 
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -149,11 +149,9 @@
 block discarded – undo
149 149
 			$document->loadHTML('<html><body id="content"></body></html>');
150 150
 
151 151
 			$document->getElementById('content')->appendChild($document->importNode($content, true));
152
-		}
153
-		elseif(is_string($content)){
152
+		} elseif(is_string($content)){
154 153
 			$document->loadHTML('<html><body id="content">'.$content.'</body></html>');
155
-		}
156
-		else{
154
+		} else{
157 155
 			throw new \Exception('invalid content'); // @codeCoverageIgnore
158 156
 		}
159 157
 
Please login to merge, or discard this patch.