Skip to content

Commit 49441bf

Browse files
vlastaveselydg
authored andcommitted
tests: added rendering + localization (#149)
1 parent 32d2cf0 commit 49441bf

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<form action="test" method="post">
2+
3+
<ul class="error">
4+
<li>LOGIN FAILED</li>
5+
</ul>
6+
7+
8+
<table>
9+
<tr class="required">
10+
<th><label for="frm-username" class="required">USERNAME</label></th>
11+
12+
<td><input type="text" name="username" id="frm-username" required data-nette-rules='[{"op":":filled","msg":"PLEASE ENTER YOUR USERNAME"}]' class="text"> <small>OR EMAIL</small></td>
13+
</tr>
14+
15+
<tr class="required">
16+
<th><label for="frm-password" class="required">PASSWORD</label></th>
17+
18+
<td><input type="password" name="password" id="frm-password" required data-nette-rules='[{"op":":filled","msg":"THIS FIELD IS REQUIRED."},{"op":":minLength","msg":"MINIMAL LENGTH IS %D CHARS","arg":8}]' class="text">
19+
20+
<span class="error">
21+
WEAK PASSWORD
22+
</span>
23+
</td>
24+
</tr>
25+
26+
<tr>
27+
<th></th>
28+
29+
<td><input type="submit" name="_submit" value="SEND" class="button"></td>
30+
</tr>
31+
</table>
32+
33+
</form>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
/**
4+
* Test: Nette\Forms default rendering with translator.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Nette\Forms\Form;
10+
use Nette\Localization\ITranslator;
11+
use Tester\Assert;
12+
13+
require __DIR__ . '/../bootstrap.php';
14+
15+
16+
class Translator implements ITranslator
17+
{
18+
function translate($message, int $count = NULL): string
19+
{
20+
return strtoupper($message);
21+
}
22+
}
23+
24+
25+
$form = new Form;
26+
$form->setTranslator(new Translator);
27+
28+
$form->setAction('test');
29+
$form->addError('Login failed');
30+
$form->addText('username', 'Username')
31+
->setOption('description', 'or email')
32+
->setRequired('Please enter your username');
33+
$form->addPassword('password', 'Password')
34+
->setRequired(TRUE)
35+
->addRule(Form::MIN_LENGTH, 'Minimal length is %d chars', 8)
36+
->addError('Weak password');
37+
$form->addSubmit('submit', 'Send');
38+
39+
40+
Assert::matchFile(__DIR__ . '/Forms.renderer.translate.expect', $form->__toString(TRUE));

0 commit comments

Comments
 (0)