Skip to content

Commit ea31783

Browse files
committed
Add support for PHP 8.2 and PHP 8.3.
1 parent b089967 commit ea31783

File tree

3 files changed

+41
-31
lines changed

3 files changed

+41
-31
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
}
1616
],
1717
"require": {
18-
"php": "7.0.*|7.1.*|7.2.*|7.3.*|7.4.*|8.0.*|8.1.*",
18+
"php": "7.0.*|7.1.*|7.2.*|7.3.*|7.4.*|8.0.*|8.1.*|8.2.*|8.3.*",
1919
"ivopetkov/html5-dom-document-php": "^2.5"
2020
},
2121
"require-dev": {

phpunit.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<phpunit bootstrap="vendor/autoload.php">
22
<testsuites>
3-
<testsuite name="">
3+
<testsuite name="Tests">
44
<directory>./tests/</directory>
55
</testsuite>
66
</testsuites>

tests/Test.php

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,21 @@ public function testProccessHTML()
2222

2323
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
2424
$result = $compiler->process('<component src="file:' . $fullFilename . '"/>');
25-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><meta custom="value"></head>' . "\n" . '<body>text1</body></html>';
26-
$this->assertTrue($result === $expectedResult);
25+
$expectedResult = '<!DOCTYPE html><html><head><meta custom="value"></head><body>text1</body></html>';
26+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
2727

2828
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
2929
$result = $compiler->process('<html><body>'
3030
. 'text0'
3131
. '<component src="file:' . $fullFilename . '"/>'
3232
. 'text2'
3333
. '</body></html>');
34-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><meta custom="value"></head><body>'
34+
$expectedResult = '<!DOCTYPE html><html><head><meta custom="value"></head><body>'
3535
. 'text0'
3636
. 'text1'
3737
. 'text2'
3838
. '</body></html>';
39-
$this->assertTrue($result === $expectedResult);
39+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
4040
}
4141

4242
/**
@@ -49,13 +49,13 @@ public function testAlias()
4949
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
5050
$compiler->addAlias('component1', 'file:' . $fullFilename);
5151

52-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html>' . "\n" . '<body>text1</body></html>';
52+
$expectedResult = '<!DOCTYPE html><html><body>text1</body></html>';
5353

5454
$result = $compiler->process('<component src="file:' . $fullFilename . '" />');
55-
$this->assertTrue($result === $expectedResult);
55+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
5656

5757
$result = $compiler->process('<component src="component1" />');
58-
$this->assertTrue($result === $expectedResult);
58+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
5959
}
6060

6161
/**
@@ -71,13 +71,13 @@ public function testTags()
7171
$compiler->addTag('my-tag', 'component1');
7272

7373
$result = $compiler->process('<mytag value="text1"/>');
74-
$this->assertTrue($result === '<!DOCTYPE html>' . "\n" . '<html>' . "\n" . '<body>text1</body></html>');
74+
$this->assertEquals($this->removeNewLines($result), '<!DOCTYPE html><html><body>text1</body></html>');
7575

7676
$result = $compiler->process('<my-tag value="text2"/>');
77-
$this->assertTrue($result === '<!DOCTYPE html>' . "\n" . '<html>' . "\n" . '<body>text2</body></html>');
77+
$this->assertEquals($this->removeNewLines($result), '<!DOCTYPE html><html><body>text2</body></html>');
7878

7979
$result = $compiler->process('<mytag value="text1"/><my-tag value="text2"/><component src="component1" value="text3"/><component src="file:' . $fullFilename . '" value="text4"/>');
80-
$this->assertTrue($result === '<!DOCTYPE html>' . "\n" . '<html>' . "\n" . '<body>text1text2text3text4</body></html>');
80+
$this->assertEquals($this->removeNewLines($result), '<!DOCTYPE html><html><body>text1text2text3text4</body></html>');
8181
}
8282

8383
/**
@@ -91,7 +91,7 @@ public function testMakeComponent()
9191
$component = $compiler->makeComponent(['var1' => '1'], 'hi');
9292

9393
$expectedResult = '<component var1="1">hi</component>';
94-
$this->assertTrue((string) $component === $expectedResult);
94+
$this->assertEquals((string) $component, $expectedResult);
9595
}
9696

9797
/**
@@ -110,8 +110,8 @@ public function testVariables()
110110
'test2' => 2
111111
]
112112
]);
113-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><body>12</body></html>';
114-
$this->assertTrue($result === $expectedResult);
113+
$expectedResult = '<!DOCTYPE html><html><body>12</body></html>';
114+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
115115
}
116116

117117
/**
@@ -125,12 +125,12 @@ public function testProccessRecursion()
125125

126126
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
127127
$result = $compiler->process('<component src="file:' . $fullFilename3 . '"/>');
128-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><meta custom="value3"><meta custom="value2"><meta custom="value1"></head>' . "\n" . '<body>text1text2text3</body></html>';
129-
$this->assertTrue($result === $expectedResult);
128+
$expectedResult = '<!DOCTYPE html><html><head><meta custom="value3"><meta custom="value2"><meta custom="value1"></head><body>text1text2text3</body></html>';
129+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
130130

131131
$result = $compiler->process('<component src="file:' . $fullFilename3 . '"/>', ['recursive' => false]);
132-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><meta custom="value3"></head>' . "\n" . '<body><component src="file:' . urlencode($fullFilename2) . '"></component>text3</body></html>';
133-
$this->assertTrue($result === $expectedResult);
132+
$expectedResult = '<!DOCTYPE html><html><head><meta custom="value3"></head><body><component src="file:' . urlencode($fullFilename2) . '"></component>text3</body></html>';
133+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
134134
}
135135

136136
/**
@@ -141,8 +141,8 @@ public function testProccessData()
141141

142142
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
143143
$result = $compiler->process('<component src="data:base64,' . base64_encode('<html><body>text1</body></html>') . '" />');
144-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html>' . "\n" . '<body>text1</body></html>';
145-
$this->assertTrue($result === $expectedResult);
144+
$expectedResult = '<!DOCTYPE html><html><body>text1</body></html>';
145+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
146146
}
147147

148148
/**
@@ -156,8 +156,8 @@ public function testComponentInComponentInnerHTML()
156156

157157
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
158158
$result = $compiler->process('<component src="file:' . $fullFilename2 . '"><component src="file:' . $fullFilename1 . '"/></component>');
159-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><title>hi</title></head>' . "\n" . '<body>text1</body></html>';
160-
$this->assertTrue($result === $expectedResult);
159+
$expectedResult = '<!DOCTYPE html><html><head><title>hi</title></head><body>text1</body></html>';
160+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
161161
}
162162

163163
/**
@@ -180,8 +180,8 @@ public function testComponentAttribute()
180180
$component->src = 'file:' . $fullFilename;
181181
$component->test1 = '1';
182182
$result = $compiler->process($component);
183-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><body>1210</body></html>';
184-
$this->assertTrue($result === $expectedResult);
183+
$expectedResult = '<!DOCTYPE html><html><body>1210</body></html>';
184+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
185185
}
186186

187187
/**
@@ -194,7 +194,7 @@ public function testComponentSetAttributes()
194194
$component->setAttributes(['aTTR1' => 'value1', 'attr2' => 'value2']);
195195
$result = (string) $component;
196196
$expectedResult = '<component attr1="value1" attr2="value2"></component>';
197-
$this->assertTrue($result === $expectedResult);
197+
$this->assertEquals($result, $expectedResult);
198198
}
199199

200200
/**
@@ -208,7 +208,7 @@ public function testComponentRemoveAttributes()
208208
$component->removeAttributes(['attr1', 'Attr3']);
209209
$result = (string) $component;
210210
$expectedResult = '<component attr2="value2"></component>';
211-
$this->assertTrue($result === $expectedResult);
211+
$this->assertEquals($result, $expectedResult);
212212
}
213213

214214
/**
@@ -219,8 +219,8 @@ public function testHeadContent()
219219

220220
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
221221
$result = $compiler->process('<html><head><title>111</title></head><body><component src="data:base64,' . base64_encode('<html><head><title>222</title></head></html>') . '" /></body></html>');
222-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head><title>222</title></head><body></body></html>';
223-
$this->assertTrue($result === $expectedResult);
222+
$expectedResult = '<!DOCTYPE html><html><head><title>222</title></head><body></body></html>';
223+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
224224
}
225225

226226
/**
@@ -231,7 +231,17 @@ public function testDifferentComponentLocations()
231231

232232
$compiler = new \IvoPetkov\HTMLServerComponentsCompiler();
233233
$result = $compiler->process('<html><head><component src="data:base64,' . base64_encode('<body><script>var a1=1;</script><div>1</div></body>') . '" /></head><body><component src="data:base64,' . base64_encode('<script>var a2=2;</script><div>2</div>') . '" /></body></html>');
234-
$expectedResult = '<!DOCTYPE html>' . "\n" . '<html><head></head><body><script>var a2=2;</script><div>2</div><script>var a1=1;</script><div>1</div></body></html>';
235-
$this->assertTrue($result === $expectedResult);
234+
$expectedResult = '<!DOCTYPE html><html><head></head><body><script>var a2=2;</script><div>2</div><script>var a1=1;</script><div>1</div></body></html>';
235+
$this->assertEquals($this->removeNewLines($result), $expectedResult);
236+
}
237+
238+
/**
239+
*
240+
* @param string $text
241+
* @return string
242+
*/
243+
private function removeNewLines(string $text): string
244+
{
245+
return str_replace("\n", '', $text);
236246
}
237247
}

0 commit comments

Comments
 (0)