public function testDecomposeStrict()
{
$expected = array('language' => 'en');
$this->assertEqual($expected, Locale::decompose('en'));
$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');
$this->assertEqual($expected, Locale::decompose('zh_Hans'));
$expected = array('language' => 'zh', 'script' => 'Hans', 'territory' => 'HK');
$this->assertEqual($expected, Locale::decompose('zh_Hans_HK'));
$expected = array('language' => 'zh', 'script' => 'Hans', 'territory' => 'HK', 'variant' => 'REVISED');
$this->assertEqual($expected, Locale::decompose('zh_Hans_HK_REVISED'));
}