/** * @dataProvider getMessage */ public function testMessage($defaultLocale, $locale, $value, $expect) { if ($expect instanceof \Exception) { $this->setExpectedException(get_class($expect), $expect->getMessage()); } $result = new Decoda(); $result->setMessages(array('en-us' => array('foo' => 'foo-en-us'), 'fr-be' => array('foo' => 'foo-fr-be'), 'fr' => array('foo' => 'foo-fr'), 'en' => array('foo' => 'foo-en'))); if (null !== $defaultLocale) { $result->setDefaultLocale($defaultLocale); } if (null !== $locale) { $result->setLocale($locale); } $this->assertEquals($expect, $result->message($value)); }
/** * Gets a pre-configured decoda. * * @return Decoda */ private function getPreConfiguredDecoda() { if (null !== $this->preConfiguredDecoda) { return $this->preConfiguredDecoda; } $decoda = new Decoda(); if (null !== $this->options['messages']) { $decoda->addMessages(new FileLoader($this->locator->locate($this->options['messages']))); } $decoda->setEngine($this->getPhpEngine()); $decoda->setDefaultLocale($this->options['default_locale']); $decoda->setLocale($this->getLocale()); $this->preConfiguredDecoda = $decoda; return $decoda; }