/** * Tests if the ouput of `compose()` can be used as the input for `decompose()` * and vice versa. * * @return void */ public function testComposeDecomposeCompose() { $data = array('language' => 'en'); $expected = 'en'; $result = Locale::compose(Locale::decompose(Locale::compose($data))); $this->assertEqual($expected, $result); $data = array('language' => 'en', 'territory' => 'US'); $expected = 'en_US'; $result = Locale::compose(Locale::decompose(Locale::compose($data))); $this->assertEqual($expected, $result); $data = array('language' => 'zh', 'script' => 'Hans', 'territory' => 'HK', 'variant' => 'REVISED'); $expected = 'zh_Hans_HK_REVISED'; $result = Locale::compose(Locale::decompose(Locale::compose($data))); $this->assertEqual($expected, $result); }