protected function getLanguageHandler()
{
$languages = array(new Language(array('id' => 2, 'languageCode' => 'eng-US', 'name' => 'US english')), new Language(array('id' => 4, 'languageCode' => 'eng-GB', 'name' => 'British english')));
if (!isset($this->languageHandler)) {
$this->languageHandler = $this->getMock('eZ\\Publish\\SPI\\Persistence\\Content\\Language\\Handler');
$this->languageHandler->expects($this->any())->method('load')->will($this->returnCallback(function ($id) use($languages) {
foreach ($languages as $language) {
if ($language->id == $id) {
return $language;
}
}
}));
$this->languageHandler->expects($this->any())->method('loadByLanguageCode')->will($this->returnCallback(function ($languageCode) use($languages) {
foreach ($languages as $language) {
if ($language->languageCode == $languageCode) {
return $language;
}
}
}));
}
return $this->languageHandler;
}