MultilingualTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 23
c 1
b 0
f 0
dl 0
loc 45
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testImportExport() 0 11 1
A testHelper() 0 7 1
A testCollector() 0 10 1
A testTranslator() 0 9 1
1
<?php
2
3
namespace LeKoala\Multilingual\Test;
4
5
use SilverStripe\Dev\SapphireTest;
6
use LeKoala\Multilingual\LangHelper;
7
use LeKoala\Multilingual\GoogleTranslateHelper;
8
use LeKoala\Multilingual\MultilingualTextCollector;
9
use LeKoala\Multilingual\TranslationsImportExportTask;
10
11
class MultilingualTest extends SapphireTest
12
{
13
    public function testHelper()
14
    {
15
        $lang = LangHelper::get_lang();
16
        $this->assertTrue(strlen($lang) == 2, "It is $lang");
17
18
        $locale = LangHelper::get_locale();
19
        $this->assertTrue(strlen($locale) > 2, "It is $locale");
20
    }
21
22
    public function testCollector()
23
    {
24
        // it says locale but it's a lang => looking for {lang}.yml
25
        $locale = LangHelper::get_lang();
26
        $collector = new MultilingualTextCollector($locale);
27
        $result = $collector->collect([
28
            'silverstripe/framework'
29
        ], true);
30
31
        $this->assertNotEmpty($result);
32
    }
33
34
    public function testImportExport()
35
    {
36
        $task = new TranslationsImportExportTask();
37
38
        ob_start();
39
        $task->debug = true;
40
        $task->exportTranslations('silverstripe/framework', false, ['en','fr']);
41
        $res = ob_get_contents();
42
        ob_end_clean();
43
44
        $this->assertStringContainsString("Éditer ce fichier", $res);
45
    }
46
47
    public function testTranslator()
48
    {
49
        $sourceText = 'Hello';
50
51
        $translation = GoogleTranslateHelper::google_translate($sourceText, 'fr', 'en');
52
        $this->assertEquals('Bonjour', $translation);
53
54
        $translation = GoogleTranslateHelper::proxy_translate($sourceText, 'fr', 'en');
55
        $this->assertEquals('Bonjour', $translation);
56
    }
57
}
58