/var/www/hkosl.com/b2b2c/webadmin/libraies/symfony/translation/Tests/LoggingTranslatorTest.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
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Translation\Tests;

use 
Symfony\Component\Translation\Translator;
use 
Symfony\Component\Translation\LoggingTranslator;
use 
Symfony\Component\Translation\Loader\ArrayLoader;

class 
LoggingTranslatorTest extends \PHPUnit_Framework_TestCase
{
    public function 
testTransWithNoTranslationIsLogged()
    {
        
$logger $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
        
$logger->expects($this->exactly(2))
            ->
method('warning')
            ->
with('Translation not found.')
        ;

        
$translator = new Translator('ar');
        
$loggableTranslator = new LoggingTranslator($translator$logger);
        
$loggableTranslator->transChoice('some_message2'10, array('%count%' => 10));
        
$loggableTranslator->trans('bar');
    }

    public function 
testTransChoiceFallbackIsLogged()
    {
        
$logger $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
        
$logger->expects($this->once())
            ->
method('debug')
            ->
with('Translation use fallback catalogue.')
        ;

        
$translator = new Translator('ar');
        
$translator->setFallbackLocales(array('en'));
        
$translator->addLoader('array', new ArrayLoader());
        
$translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en');
        
$loggableTranslator = new LoggingTranslator($translator$logger);
        
$loggableTranslator->transChoice('some_message2'10, array('%count%' => 10));
    }
}