FunctionsTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 20
c 0
b 0
f 0
dl 0
loc 43
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 8 1
A testGettext() 0 17 1
A testDomain() 0 12 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\MoTranslator\Tests;
6
7
use PhpMyAdmin\MoTranslator\Loader;
8
use PHPUnit\Framework\TestCase;
9
10
use function __;
11
use function _bind_textdomain_codeset;
12
use function _bindtextdomain;
13
use function _dgettext;
14
use function _dngettext;
15
use function _dnpgettext;
16
use function _dpgettext;
17
use function _gettext;
18
use function _ngettext;
19
use function _npgettext;
20
use function _pgettext;
21
use function _setlocale;
22
use function _textdomain;
23
24
/**
25
 * Test for functions.
26
 */
27
class FunctionsTest extends TestCase
28
{
29
    public function setUp(): void
30
    {
31
        Loader::loadFunctions();
32
33
        _setlocale(0, 'cs');
34
        _textdomain('phpmyadmin');
35
        _bindtextdomain('phpmyadmin', __DIR__ . '/data/locale/');
36
        _bind_textdomain_codeset('phpmyadmin', 'UTF-8');
37
    }
38
39
    public function testGettext(): void
40
    {
41
        self::assertSame(
42
            'Typ',
43
            _gettext('Type'),
44
        );
45
46
        self::assertSame(
47
            'Typ',
48
            __('Type'),
49
        );
50
51
        self::assertSame('%d sekundy', _ngettext('%d second', '%d seconds', 2));
52
53
        self::assertSame('%d seconds', _npgettext('context', '%d second', '%d seconds', 2));
54
55
        self::assertSame('Tabulka', _pgettext('Display format', 'Table'));
56
    }
57
58
    public function testDomain(): void
59
    {
60
        self::assertSame(
61
            'Typ',
62
            _dgettext('phpmyadmin', 'Type'),
63
        );
64
65
        self::assertSame('%d sekundy', _dngettext('phpmyadmin', '%d second', '%d seconds', 2));
66
67
        self::assertSame('%d seconds', _dnpgettext('phpmyadmin', 'context', '%d second', '%d seconds', 2));
68
69
        self::assertSame('Tabulka', _dpgettext('phpmyadmin', 'Display format', 'Table'));
70
    }
71
}
72