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
|
<?php
namespace Gettext\Tests;
use Gettext\Translations;
use Gettext\Merge;
class MergeHeadersTest extends AbstractTestCase
{
protected $t1;
protected $t2;
protected function setUp(): void
{
$this->t1 = new Translations();
$this->t2 = new Translations();
$this->t1
->setLanguage('es')
->setDomain('app1')
->setHeader('Header1', 't1-value1')
->setHeader('Header2', '')
->setHeader('Header3', 't1-value3')
->setHeader('Header5', 't1-value5');
$this->t2
->setLanguage('gl')
->setDomain('app2')
->setHeader('Header1', '')
->setHeader('Header2', 't2-value2')
->setHeader('Header3', 't2-value3')
->setHeader('Header4', 't2-value4');
}
public function testHeadersAdd()
{
$options = Merge::HEADERS_ADD | Merge::LANGUAGE_OVERRIDE;
$this->t1->mergeWith($this->t2, $options);
$this->assertEquals('t1-value1', $this->t1->getHeader('Header1'));
$this->assertEquals('t2-value2', $this->t1->getHeader('Header2'));
$this->assertEquals('t1-value3', $this->t1->getHeader('Header3'));
$this->assertEquals('t2-value4', $this->t1->getHeader('Header4'));
$this->assertEquals('gl', $this->t1->getLanguage());
$this->assertEquals('app1', $this->t1->getDomain());
}
public function testHeadersOverride()
{
$options = Merge::HEADERS_ADD | Merge::HEADERS_OVERRIDE | Merge::DOMAIN_OVERRIDE;
$this->t1->mergeWith($this->t2, $options);
$this->assertEquals('t1-value1', $this->t1->getHeader('Header1'));
$this->assertEquals('t2-value2', $this->t1->getHeader('Header2'));
$this->assertEquals('t2-value3', $this->t1->getHeader('Header3'));
$this->assertEquals('t2-value4', $this->t1->getHeader('Header4'));
$this->assertEquals('es', $this->t1->getLanguage());
$this->assertEquals('app2', $this->t1->getDomain());
}
public function testHeadersRemove()
{
$options = Merge::HEADERS_REMOVE | Merge::DOMAIN_OVERRIDE | Merge::LANGUAGE_OVERRIDE;
$this->t1->mergeWith($this->t2, $options);
$this->assertEquals('t1-value1', $this->t1->getHeader('Header1'));
$this->assertEquals('', $this->t1->getHeader('Header2'));
$this->assertEquals('t1-value3', $this->t1->getHeader('Header3'));
$this->assertEquals(null, $this->t1->getHeader('Header5'));
$this->assertEquals('gl', $this->t1->getLanguage());
$this->assertEquals('app2', $this->t1->getDomain());
}
}
|