Passed
Push — master ( cea13f...16712b )
by William
14:23 queued 04:25
created

TranslatorTest::testGetSetTranslations()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 21
c 1
b 0
f 0
dl 0
loc 24
rs 9.584
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\MoTranslator\Tests;
6
7
use PhpMyAdmin\MoTranslator\Translator;
8
use PHPUnit\Framework\TestCase;
9
10
/**
11
 * Test for translator API
12
 */
13
class TranslatorTest extends TestCase
14
{
15
    /**
16
     * Test on empty gettext
17
     */
18
    public function testGettext(): void
19
    {
20
        $translator = new Translator('');
21
        $this->assertEquals('Test', $translator->gettext('Test'));
22
    }
23
24
    /**
25
     * Test set a translation
26
     */
27
    public function testSetTranslation(): void
28
    {
29
        $translator = new Translator('');
30
        $translator->setTranslation('Test', 'Translation');
31
        $this->assertEquals('Translation', $translator->gettext('Test'));
32
    }
33
34
    /**
35
     * Test get and set all translations
36
     */
37
    public function testGetSetTranslations(): void
38
    {
39
        $transTable = ['Test' => 'Translation'];
40
        $translator = new Translator('');
41
        $translator->setTranslations($transTable);
42
        $this->assertEquals('Translation', $translator->gettext('Test'));
43
        $this->assertSame($transTable, $translator->getTranslations());
44
        $translator = new Translator(null);
45
        $translator->setTranslations($transTable);
46
        $this->assertSame($transTable, $translator->getTranslations());
47
        $this->assertEquals('Translation', $translator->gettext('Test'));
48
        $transTable = [
49
            'Test' => 'Translation',
50
            'shouldIWriteTests' => 'as much as possible',
51
            'is it hard' => 'it depends',
52
        ];
53
        $translator = new Translator('');
54
        $translator->setTranslations($transTable);
55
        $this->assertSame($transTable, $translator->getTranslations());
56
        $this->assertEquals('as much as possible', $translator->gettext('shouldIWriteTests'));
57
        $translator = new Translator(null);
58
        $translator->setTranslations($transTable);
59
        $this->assertSame($transTable, $translator->getTranslations());
60
        $this->assertEquals('it depends', $translator->gettext('is it hard'));
61
    }
62
}
63