public function testCompose()
{
$result = Locale::compose(array('language' => 'en'));
$this->assertEqual('en', $result);
$result = Locale::compose(array('language' => 'en', 'territory' => 'US'));
$this->assertEqual('en_US', $result);
$result = Locale::compose(array('language' => 'EN', 'territory' => 'US'));
$this->assertEqual('EN_US', $result);
$result = Locale::compose(array('language' => 'zh', 'script' => 'Hans', 'territory' => 'HK', 'variant' => 'REVISED'));
$this->assertEqual('zh_Hans_HK_REVISED', $result);
$result = Locale::compose(array('territory' => 'HK', 'language' => 'zh', 'script' => 'Hans'));
$this->assertEqual('zh_Hans_HK', $result);
$this->assertNull(Locale::compose(array()));
}