22
33namespace LaravelViews \Test \Unit ;
44
5+ use DOMDocument ;
56use LaravelViews \Facades \UI ;
67use LaravelViews \Test \TestCase ;
78
@@ -10,45 +11,62 @@ class UITest extends TestCase
1011 public function testBagdeDefaultHelper ()
1112 {
1213 $ badge = UI ::badge ('active ' );
13- $ this ->blade ($ badge )
14- ->assertSeeText ('active ' );
14+ $ expected = '<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full ' .variants ('badges.default ' ).'">
15+ active
16+ </span> ' ;
17+
18+ $ this ->assertHtmlEquals ($ badge , $ expected );
1519 }
1620
1721 public function testBagdeSuccesstHelper ()
1822 {
1923 $ badge = UI ::badge ('active ' , 'success ' );
20- $ this ->blade ($ badge )
21- ->assertSeeText ('active ' )
22- ->assertSee (variants ('badges.success ' ));
24+ $ expected = '<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full ' .variants ('badges.success ' ).'">
25+ active
26+ </span> ' ;
27+
28+ $ this ->assertHtmlEquals ($ badge , $ expected );
2329 }
2430
2531 public function testAvatarHelper ()
2632 {
2733 $ avatar = UI ::avatar ('my-avatar-url ' );
28- $ this ->blade ($ avatar )
29- ->assertSee (variants ('images.avatar ' ));
34+ $ expected = '<img src="my-avatar-url" alt="my-avatar-url" class=" ' .variants ('images.avatar ' ).'"> ' ;
35+
36+ $ this ->assertHtmlEquals ($ avatar , $ expected );
3037 }
3138
3239 public function testLinkHelper ()
3340 {
3441 $ link = UI ::link ('title ' , '/ ' );
35- $ this ->blade ($ link )
36- ->assertSee (variants ('links.default ' ))
37- ->assertSeeText ('title ' );
42+ $ expected = '<a href="/" class=" ' .(variants ('links.default ' )).'">
43+ title
44+ </a> ' ;
45+
46+ $ this ->assertHtmlEquals ($ link , $ expected );
3847 }
3948
4049 public function testDefaultIconHelper ()
4150 {
4251 $ icon = UI ::icon ('activity ' );
43- $ this ->blade ($ icon )
44- ->assertSee ('activity ' );
52+ $ expected = '<i data-feather="activity" class=" "></i> ' ;
53+
54+ $ this ->assertHtmlEquals ($ icon , $ expected );
4555 }
4656
4757 public function testIconHelperWithVariant ()
4858 {
4959 $ icon = UI ::icon ('activity ' , 'success ' );
50- $ this ->blade ($ icon )
51- ->assertSee (variants ('icons.success ' ))
52- ->assertSee ('activity ' );
60+ $ expected = '<i data-feather="activity" class=" ' .variants ('icons.success ' ).' "></i> ' ;
61+
62+ $ this ->assertHtmlEquals ($ icon , $ expected );
63+ }
64+
65+ private function assertHtmlEquals ($ html , $ expected )
66+ {
67+ $ this ->assertEquals (
68+ preg_replace ('/^\s+|\n|\r|\s+$/m ' , '' , $ html ),
69+ preg_replace ('/^\s+|\n|\r|\s+$/m ' , '' , $ expected )
70+ );
5371 }
5472}
0 commit comments