UtilityTest.php
1.75 KB
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
<?php
namespace Stichoza\GoogleTranslate\Tests;
use ReflectionClass;
use PHPUnit\Framework\TestCase;
use Stichoza\GoogleTranslate\GoogleTranslate;
class UtilityTest extends TestCase
{
public $tr;
public $method;
public function setUp()
{
$this->tr = new GoogleTranslate();
$reflection = new ReflectionClass(get_class($this->tr));
$this->method = $reflection->getMethod('isValidLocale');
$this->method->setAccessible(true);
}
public function testIsValidLocale()
{
$m = $this->method;
$t = $this->tr;
$booleanAssertions = [
'ab' => true,
'ab-CD' => true,
'ab-CDE' => false,
'abc-DE' => false,
'abc-DEF' => false,
'abc' => false,
'ab-' => false,
'a' => false,
];
foreach ($booleanAssertions as $key => $value) {
$this->assertEquals($m->invokeArgs($t, [$key]), $value);
}
}
public function testSetOptions()
{
$res = fopen('php://memory', 'r+');
$this->tr->setOptions([
'debug' => $res,
'headers' => [
'User-Agent' => 'Foo',
],
])->translate('hello');
rewind($res);
$output = str_replace("\r", '', stream_get_contents($res));
$this->assertContains('User-Agent: Foo', $output);
GoogleTranslate::trans('world', 'en', null, [
'debug' => $res,
'headers' => [
'User-Agent' => 'Bar',
],
]);
rewind($res);
$output = str_replace("\r", '', stream_get_contents($res));
$this->assertContains('User-Agent: Bar', $output);
fclose($res);
}
}