<?php Prado::using('System.I18N.core.CultureInfo'); class testCultureInfo extends UnitTestCase { protected $culture; function testCultureInfo() { $this->UnitTestCase(); } function setUp() { $this->culture = CultureInfo::getInvariantCulture(); } function testCultureName() { $name = 'en'; $this->assertEqual($name, $this->culture->Name); //the default/invariant culture should be neutral $this->assertTrue($this->culture->IsNeutralCulture); } function testCultureList() { $allCultures = CultureInfo::getCultures(); $neutralCultures = CultureInfo::getCultures(CultureInfo::NEUTRAL); $specificCultures = CultureInfo::getCultures(CultureInfo::SPECIFIC); //there should be 246 cultures all together. $this->assertEqual(count($allCultures),246); $this->assertEqual(count($neutralCultures),76); $this->assertEqual(count($specificCultures),170); } function testParentCultures() { $zh_CN = new CultureInfo('zh_CN'); $parent = $zh_CN->Parent; $grandparent = $parent->Parent; $this->assertEqual($zh_CN->Name, 'zh_CN'); $this->assertEqual($parent->Name, 'zh'); $this->assertEqual($grandparent->Name, 'en'); $this->assertEqual($grandparent->Parent->Name, 'en'); } function testCountryNames() { $culture = new CultureInfo('fr_FR'); $this->assertEqual($culture->Countries['AE'], 'Émirats arabes unis'); } function testCurrencies() { $culture = new CultureInfo('en_AU'); $au = array('$', 'Australian Dollar'); $this->assertEqual($au, $culture->Currencies['AUD']); } function testLanguages() { $culture = new CultureInfo('fr_BE'); $this->assertEqual($culture->Languages['fr'], 'français'); } function testScripts() { $culture = new CultureInfo('fr'); $this->assertEqual($culture->Scripts['Armn'], 'arménien'); } function testTimeZones() { $culture = new CultureInfo('fi'); $zone = array( "America/Los_Angeles", "Tyynenmeren normaaliaika", "PST", "Tyynenmeren kesäaika", "PDT", "Los Angeles"); $this->assertEqual($culture->TimeZones[1],$zone); } } ?>