public function testSetLocale() { $transLoader = $this->util->createInterfaceMock('Symfony\\Component\\Translation\\Loader\\LoaderInterface'); $translator = $this->getTranslator($transLoader); $loader = new YamlFileLoader(); $arrayLoader1 = new ArrayLoader($translator); $name = 'YahooJapan\\ConfigCacheBundle\\ConfigCache\\Loader\\ArrayLoaderInterface'; $arrayLoader2 = $this->util->createInterfaceMock($name); $arrayLoader3 = new ArrayLoader($translator); $loader->addLoaders(array($arrayLoader1, $arrayLoader2, $arrayLoader3)); $loader->setLocale('ja'); $loaders = $this->util->getProperty($loader, 'loaders'); if (isset($loaders[0]) && isset($loaders[1]) && isset($loaders[2])) { // the same added loaders $this->assertSame($arrayLoader1, $loaders[0]); $this->assertSame($arrayLoader2, $loaders[1]); $this->assertSame($arrayLoader3, $loaders[2]); // the same locale $this->assertSame('ja', $this->util->getProperty($loaders[0], 'locale')); // nothing to be set $loaders[1] because of not TranslationLoader $this->assertSame('ja', $this->util->getProperty($loaders[2], 'locale')); } else { $this->fail('Unexpected setLocale.'); } }
/** * loader to be set ConfigCache (inner ArrayLoader) */ protected function getTranslationLoader() { $loader = new YamlFileTranslatingLoader(); $translator = $this->getTranslator($this->getLoaderOnTranslator()); $loader->addLoader(new ArrayLoader($translator)); return $loader; }