@@ -18,6 +18,20 @@ public function testEchosAreConvertedProperly()
18
18
$ this ->assertEquals ('<?php echo e($a); ?> ' , Blade::compile_string ($ blade2 ));
19
19
}
20
20
21
+ /**
22
+ * Test the compilation of comments statements.
23
+ *
24
+ * @group laravel
25
+ */
26
+ public function testCommentsAreConvertedProperly ()
27
+ {
28
+ $ blade1 = "{{-- This is a comment --}} " ;
29
+ $ blade2 = "{{-- \nThis is a \nmulti-line \ncomment. \n--}} " ;
30
+
31
+ $ this ->assertEquals ("<?php /* This is a comment */ ?> \n" , Blade::compile_string ($ blade1 ));
32
+ $ this ->assertEquals ("<?php /* \nThis is a \nmulti-line \ncomment. \n */ ?> \n" , Blade::compile_string ($ blade2 ));
33
+ }
34
+
21
35
/**
22
36
* Test the compilation of control structures.
23
37
*
@@ -27,13 +41,28 @@ public function testControlStructuresAreCreatedCorrectly()
27
41
{
28
42
$ blade1 = "@if (true) \nfoo \n@endif " ;
29
43
$ blade2 = "@if (count( " .'$something ' .") > 0) \nfoo \n@endif " ;
30
- $ blade3 = "@if (true) \nfoo \n@elseif (false) \nbar \n@endif " ;
31
- $ blade4 = "@if (true) \nfoo \n@else \nbar \n@endif " ;
44
+ $ blade3 = "@if (true) \nfoo \n@elseif (false) \nbar \n@else \nfoobar \n@endif " ;
45
+ $ blade4 = "@if (true) \nfoo \n@elseif (false) \nbar \n@endif " ;
46
+ $ blade5 = "@if (true) \nfoo \n@else \nbar \n@endif " ;
47
+ $ blade6 = "@unless (count( " .'$something ' .") > 0) \nfoobar \n@endunless " ;
48
+ $ blade7 = "@for (Foo::all() as " .'$foo ' .") \nfoo \n@endfor " ;
49
+ $ blade8 = "@foreach (Foo::all() as " .'$foo ' .") \nfoo \n@endforeach " ;
50
+ $ blade9 = "@forelse (Foo::all() as " .'$foo ' .") \nfoo \n@empty \nbar \n@endforelse " ;
51
+ $ blade10 = "@while (true) \nfoo \n@endwhile " ;
52
+ $ blade11 = "@while (Foo::bar()) \nfoo \n@endwhile " ;
53
+
32
54
33
55
$ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php endif; ?> " , Blade::compile_string ($ blade1 ));
34
56
$ this ->assertEquals ("<?php if (count( " .'$something ' .") > 0): ?> \nfoo \n<?php endif; ?> " , Blade::compile_string ($ blade2 ));
35
- $ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php elseif (false): ?> \nbar \n<?php endif; ?> " , Blade::compile_string ($ blade3 ));
36
- $ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php else: ?> \nbar \n<?php endif; ?> " , Blade::compile_string ($ blade4 ));
57
+ $ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php elseif (false): ?> \nbar \n<?php else: ?> \nfoobar \n<?php endif; ?> " , Blade::compile_string ($ blade3 ));
58
+ $ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php elseif (false): ?> \nbar \n<?php endif; ?> " , Blade::compile_string ($ blade4 ));
59
+ $ this ->assertEquals ("<?php if (true): ?> \nfoo \n<?php else: ?> \nbar \n<?php endif; ?> " , Blade::compile_string ($ blade5 ));
60
+ $ this ->assertEquals ("<?php if ( ! ( (count( " .'$something ' .") > 0))): ?> \nfoobar \n<?php endif; ?> " , Blade::compile_string ($ blade6 ));
61
+ $ this ->assertEquals ("<?php for (Foo::all() as " .'$foo ' ."): ?> \nfoo \n<?php endfor; ?> " , Blade::compile_string ($ blade7 ));
62
+ $ this ->assertEquals ("<?php foreach (Foo::all() as " .'$foo ' ."): ?> \nfoo \n<?php endforeach; ?> " , Blade::compile_string ($ blade8 ));
63
+ $ this ->assertEquals ("<?php if (count(Foo::all()) > 0): ?><?php foreach (Foo::all() as " .'$foo ' ."): ?> \nfoo \n<?php endforeach; ?><?php else: ?> \nbar \n<?php endif; ?> " , Blade::compile_string ($ blade9 ));
64
+ $ this ->assertEquals ("<?php while (true): ?> \nfoo \n<?php endwhile; ?> " , Blade::compile_string ($ blade10 ));
65
+ $ this ->assertEquals ("<?php while (Foo::bar()): ?> \nfoo \n<?php endwhile; ?> " , Blade::compile_string ($ blade11 ));
37
66
}
38
67
39
68
/**
@@ -60,4 +89,33 @@ public function testSectionsAreCompiledCorrectly()
60
89
$ this ->assertEquals ("<?php \\Laravel \\Section::start('something'); ?> \nfoo \n<?php \\Laravel \\Section::stop(); ?> " , Blade::compile_string ($ blade ));
61
90
}
62
91
92
+ /**
93
+ * Test the compilation of include statements.
94
+ *
95
+ * @group laravel
96
+ */
97
+ public function testIncludesAreCompiledCorrectly ()
98
+ {
99
+ $ blade1 = "@include('user.profile') " ;
100
+ $ blade2 = "@include(Config::get('application.default_view', 'user.profile')) " ;
101
+
102
+ $ this ->assertEquals ("<?php echo view('user.profile')->with(get_defined_vars())->render(); ?> " , Blade::compile_string ($ blade1 ));
103
+ $ this ->assertEquals ("<?php echo view(Config::get('application.default_view', 'user.profile'))->with(get_defined_vars())->render(); ?> " , Blade::compile_string ($ blade2 ));
104
+ }
105
+
106
+ /**
107
+ * Test the compilation of render statements.
108
+ *
109
+ * @group laravel
110
+ */
111
+ public function testRendersAreCompiledCorrectly ()
112
+ {
113
+ $ blade1 = "@render('user.profile') " ;
114
+ $ blade2 = "@render(Config::get('application.default_view', 'user.profile')) " ;
115
+
116
+ $ this ->assertEquals ("<?php echo render('user.profile'); ?> " , Blade::compile_string ($ blade1 ));
117
+ $ this ->assertEquals ("<?php echo render(Config::get('application.default_view', 'user.profile')); ?> " , Blade::compile_string ($ blade2 ));
118
+
119
+ }
120
+
63
121
}
0 commit comments