/** * @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)); }