public function testDecomposeLoose()
{
$expected = array('language' => 'en', 'territory' => 'US');
$this->assertEqual($expected, Locale::decompose('en-US'));
$expected = array('language' => 'en', 'territory' => 'US', 'variant' => 'posiX');
$this->assertEqual($expected, Locale::decompose('en_US-posiX'));
$expected = array('language' => 'kpe', 'territory' => 'gn');
$this->assertEqual($expected, Locale::decompose('kpe_gn'));
$expected = array('language' => 'ZH', 'script' => 'HANS', 'territory' => 'HK', 'variant' => 'REVISED');
$this->assertEqual($expected, Locale::decompose('ZH-HANS-HK_REVISED'));
}