/** * @dataProvider providerGetAllLocalesSortsLocalesAccordingToConfigValue */ public function testGetAllLocalesSortsLocalesAccordingToConfigValue($orderConfig, $codeA, $codeB = null, $codeC = null, $codeD = null) { $this->configIOMock->setValues('i18n', array('locale' => array('io' => 'zibo\\library\\i18n\\locale\\io\\IOMock', 'order' => $orderConfig))); Zibo::getInstance($this->browser, $this->configIOMock); $manager = new Manager(); $locales = $manager->getAllLocales(); $this->assertEquals(4, count($locales)); $i = 0; foreach ($locales as $key => $locale) { switch ($i) { case 0: $this->assertEquals($codeA, $key); $this->assertEquals($codeA, $locale->getCode()); break; case 1: if ($codeB) { $this->assertEquals($codeB, $key); $this->assertEquals($codeB, $locale->getCode()); } break; case 2: if ($codeC) { $this->assertEquals($codeC, $key); $this->assertEquals($codeC, $locale->getCode()); } break; case 3: if ($codeD) { $this->assertEquals($codeD, $key); $this->assertEquals($codeD, $locale->getCode()); } break; default: } $i++; } }
/** * Gets all the available locales * @return array * * @uses zibo\library\i18n\locale\Manager::getAllLocales() */ public function getAllLocales() { return $this->localeManager->getAllLocales(); }