// /** * Created by PhpStorm. * User: Eric * Date: 30/10/2017 * Time: 13:43 */ namespace Combodo\iTop\Test\UnitTest\Core; use Combodo\iTop\Test\UnitTest\ItopTestCase; use Dict; use Exception; /** * @runTestsInSeparateProcesses * @preserveGlobalState disabled * @backupGlobals disabled */ class dictTest extends ItopTestCase { private $sEnvName; protected function setUp() { parent::setUp(); require_once (APPROOT.'core'. DIRECTORY_SEPARATOR . 'coreexception.class.inc.php'); require_once (APPROOT.'core'. DIRECTORY_SEPARATOR . 'dict.class.inc.php'); require_once (APPROOT.'core'. DIRECTORY_SEPARATOR . 'apc-service.class.inc.php'); $this->sEnvName = time(); $sDictionaryFolder = APPROOT."env-$this->sEnvName" . DIRECTORY_SEPARATOR . "dictionaries"; @mkdir($sDictionaryFolder, 0777, true); $sContent = << 'gabu', )); PHP; file_put_contents($sDictionaryFolder . DIRECTORY_SEPARATOR . "fr-fr.dict.php", $sContent); $sContent = << 'zomeu', )); PHP; file_put_contents($sDictionaryFolder . DIRECTORY_SEPARATOR . "en-en.dict.php", $sContent); $_SESSION['itop_env'] = $this->sEnvName; //require_once 'mockDict.incphp'; } protected function tearDown() { foreach (glob(APPROOT."env-$this->sEnvName" . DIRECTORY_SEPARATOR . "dictionaries" . DIRECTORY_SEPARATOR . "*") as $sFile){ unlink($sFile); } rmdir(APPROOT."env-$this->sEnvName" . DIRECTORY_SEPARATOR . "dictionaries"); rmdir(APPROOT."env-$this->sEnvName"); } /** * @throws Exception */ public function testType() { $_SESSION['itop_env'] = 'production'; $this->assertInternalType('string', Dict::S('Core:AttributeURL')); $this->assertInternalType('string', Dict::Format('Change:AttName_SetTo', '1', '2')); } public function testInitLangIfNeeded_NoApc(){ $oApcService = $this->createMock(\ApcService::class); Dict::SetApcService($oApcService); Dict::EnableCache('toto'); $oApcService->expects($this->any()) ->method('function_exists') ->willReturn(false); $oApcService->expects($this->never()) ->method('apc_fetch') ->willReturn(false); $oApcService->expects($this->never()) ->method('apc_store') ->willReturn(false); Dict::SetLanguagesList(['FR FR' => 'fr', 'EN EN' => 'en']); Dict::SetUserLanguage('FR FR'); $this->assertEquals('gabu', Dict::S('label1')); Dict::SetUserLanguage('EN EN'); $this->assertEquals('zomeu', Dict::S('label1')); } }