/
LanguageTest.php
84 lines (74 loc) · 3.01 KB
/
LanguageTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
namespace Punic\Test\Language;
use Punic\Language;
use Punic\Test\TestCase;
class LanguageTest extends TestCase
{
public function testGetAll()
{
$languages = Language::getAll(false, false);
$this->assertArrayHasKey('en', $languages);
$this->assertArrayHasKey('en-US', $languages);
$this->assertArrayHasKey('zh-Hans', $languages);
$languages = Language::getAll(false, true);
$this->assertArrayHasKey('en', $languages);
$this->assertArrayHasKey('en-US', $languages);
$this->assertArrayNotHasKey('zh-Hans', $languages);
$languages = Language::getAll(true, false);
$this->assertArrayHasKey('en', $languages);
$this->assertArrayNotHasKey('en-US', $languages);
$this->assertArrayHasKey('zh-Hans', $languages);
$languages = Language::getAll(true, true);
$this->assertArrayHasKey('en', $languages);
$this->assertArrayNotHasKey('en-US', $languages);
$this->assertArrayNotHasKey('zh-Hans', $languages);
$languages = Language::getAll(false, false, 'en');
$this->assertSame('English', $languages['en']);
$languages = Language::getAll(false, false, 'it');
$this->assertSame('inglese', $languages['en']);
}
/**
* @return string
*/
public function provideGetName()
{
return array(
array('English', 'en', 'en', false),
array('inglese', 'en', 'it', false),
array('Italian', 'it', 'en', false),
array('italiano', 'it', 'it', false),
array('italiano (Italia)', 'it-it', 'it', false),
array('italiano (Italia)', 'it-it', 'it', false),
array('italiano (Svizzera)', 'it-CH', 'it', false),
array('Italian (Switzerland)', 'it-CH', 'en', false),
array('inglese (Stati Uniti)', 'en_US', 'it-IT', false),
array('inglese americano (Stati Uniti)', 'en_US', 'it-IT', true),
array('English (United States)', 'en_US', 'en_US', false),
array('American English (United States)', 'en_US', 'en_US', true),
array('Italian (world)', 'it-001', 'en', false),
array('Italian (Europe)', 'it-150', 'en', false),
array('italiano (Mondo)', 'it-001', 'it-001', false),
array('italiano (Europa)', 'it-150', 'it-150', false),
array('italiano (Europa)', 'it-150', 'it-CH', false),
array('Azerbaijani (Azerbaijan)', 'az-Latn-AZ', 'en', false),
array('Azerbaijani (Azerbaijan)', 'az-Cyrl-AZ', 'en', false),
);
}
/**
* test getName.
*
* @dataProvider provideGetName
*
* @param string $result
* @param string $languageCode
* @param string $forLocale
* @param bool $allowCompoundNames
*/
public function testGetName($result, $languageCode, $forLocale, $allowCompoundNames)
{
$this->assertSame(
$result,
Language::getName($languageCode, $forLocale, $allowCompoundNames)
);
}
}