Skip to content

Commit fbe9c50

Browse files
committed
tests: added new
1 parent 6722475 commit fbe9c50

File tree

2 files changed

+132
-0
lines changed

2 files changed

+132
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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+
});
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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+
});

0 commit comments

Comments
 (0)