Skip to content

Commit a01033e

Browse files
committed
test: add unit tests for InlineCss middleware
1 parent ee6ee84 commit a01033e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace DotNinth\LaravelPageSpeed\Middleware;
4+
5+
it('applies inline css transformation to html content', function () {
6+
$middleware = new InlineCss();
7+
$buffer = '<html><head></head><body><h1 style="color: red;">Hello, world!</h1><p style="font-size: 14px;">Lorem ipsum dolor sit amet.</p></body></html>';
8+
9+
$result = $middleware->apply($buffer);
10+
11+
expect($result)->toContain('<style>');
12+
expect($result)->toContain('</style>');
13+
expect($result)->toContain('.page_speed_');
14+
expect($result)->toContain('color: red;');
15+
expect($result)->toContain('font-size: 14px;');
16+
});
17+
18+
it('injects inline css styles into html head section', function () {
19+
$middleware = new InlineCss();
20+
$buffer = '<html><head></head><body><h1 style="color: red;">Hello, world!</h1><p style="font-size: 14px;">Lorem ipsum dolor sit amet.</p></body></html>';
21+
22+
$result = $middleware->apply($buffer);
23+
24+
expect($result)->toContain('<style>');
25+
expect($result)->toContain('</style>');
26+
expect($result)->toContain('.page_speed_');
27+
expect($result)->toContain('color: red;');
28+
expect($result)->toContain('font-size: 14px;');
29+
});
30+
31+
it('injects class attributes into html tags', function () {
32+
$middleware = new InlineCss();
33+
$buffer = '<html><head></head><body><h1 style="color: red;">Hello, world!</h1><p style="font-size: 14px;">Lorem ipsum dolor sit amet.</p></body></html>';
34+
35+
$result = $middleware->apply($buffer);
36+
37+
expect($result)->not()->toContain('style="');
38+
expect($result)->toContain('class="');
39+
expect($result)->toContain('page_speed_');
40+
});

0 commit comments

Comments
 (0)