File tree Expand file tree Collapse file tree 2 files changed +132
-0
lines changed Expand file tree Collapse file tree 2 files changed +132
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * Test: Control::formatTemplateClass.
5+ */
6+
7+ declare (strict_types=1 );
8+
9+ use Tester \Assert ;
10+
11+
12+ require __DIR__ . '/../bootstrap.php ' ;
13+
14+
15+ class AControl extends Nette \Application \UI \Control
16+ {
17+ }
18+
19+ class BControl extends Nette \Application \UI \Control
20+ {
21+ }
22+
23+ class BTemplate
24+ {
25+ }
26+
27+ class CControl extends Nette \Application \UI \Control
28+ {
29+ }
30+
31+ class CTemplate implements Nette \Application \UI \Template
32+ {
33+ public function render (): void
34+ {
35+ }
36+
37+
38+ public function setFile (string $ file )
39+ {
40+ }
41+
42+
43+ public function getFile (): ?string
44+ {
45+ }
46+ }
47+
48+
49+ test ('without template ' , function () {
50+ $ control = new AControl ;
51+ Assert::null ($ control ->formatTemplateClass ());
52+ });
53+
54+
55+ test ('with class ' , function () {
56+ Assert::error (function () {
57+ $ control = new BControl ;
58+ Assert::null ($ control ->formatTemplateClass ());
59+ }, E_USER_NOTICE , '%a% BTemplate was found but does not implement%a% ' );
60+ });
61+
62+
63+ test ('with template ' , function () {
64+ $ control = new CControl ;
65+ Assert::same (CTemplate::class, $ control ->formatTemplateClass ());
66+ });
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * Test: Presenter::formatTemplateClass.
5+ */
6+
7+ declare (strict_types=1 );
8+
9+ use Tester \Assert ;
10+
11+
12+ require __DIR__ . '/../bootstrap.php ' ;
13+
14+
15+ class APresenter extends Nette \Application \UI \Presenter
16+ {
17+ }
18+
19+ class BPresenter extends Nette \Application \UI \Presenter
20+ {
21+ }
22+
23+ class BTemplate
24+ {
25+ }
26+
27+ class CPresenter extends Nette \Application \UI \Presenter
28+ {
29+ }
30+
31+ class CTemplate implements Nette \Application \UI \Template
32+ {
33+ public function render (): void
34+ {
35+ }
36+
37+
38+ public function setFile (string $ file )
39+ {
40+ }
41+
42+
43+ public function getFile (): ?string
44+ {
45+ }
46+ }
47+
48+
49+ test ('without template ' , function () {
50+ $ presenter = new APresenter ;
51+ Assert::null ($ presenter ->formatTemplateClass ());
52+ });
53+
54+
55+ test ('with class ' , function () {
56+ Assert::error (function () {
57+ $ presenter = new BPresenter ;
58+ Assert::null ($ presenter ->formatTemplateClass ());
59+ }, E_USER_NOTICE , '%a% BTemplate was found but does not implement%a% ' );
60+ });
61+
62+
63+ test ('with template ' , function () {
64+ $ presenter = new CPresenter ;
65+ Assert::same (CTemplate::class, $ presenter ->formatTemplateClass ());
66+ });
You can’t perform that action at this time.
0 commit comments