lithium\tests\cases\g11n\CatalogTest::testWriteReadMergeLocales PHP Method

testWriteReadMergeLocales() public method

Only complete items are merged in, (atomic) merging between items should not occur. Categories fall back to results for more generic locales.
    public function testWriteReadMergeLocales()
    {
        $data = '/postalCode en/';
        Catalog::write('runtime', 'validation.postalCode', 'en', $data);
        $result = Catalog::read('runtime', 'validation.postalCode', 'en_US');
        $expected = '/postalCode en/';
        $this->assertEqual($expected, $result);
        $this->tearDown();
        $this->setUp();
        $data = '/postalCode en_US/';
        Catalog::write('runtime', 'validation.postalCode', 'en_US', $data);
        $data = '/postalCode en/';
        Catalog::write('runtime', 'validation.postalCode', 'en', $data);
        $result = Catalog::read('runtime', 'validation.postalCode', 'en_US');
        $expected = '/postalCode en_US/';
        $this->assertEqual($expected, $result);
        $this->tearDown();
        $this->setUp();
        $data = array('a' => true, 'b' => true, 'c' => true);
        Catalog::write('runtime', 'language', 'en', $data);
        $result = Catalog::read('runtime', 'language', 'en_US');
        $expected = array('a' => true, 'b' => true, 'c' => true);
        $this->assertEqual($expected, $result);
        $this->tearDown();
        $this->setUp();
        $data = array('DKK' => 'Dänische Krone');
        Catalog::write('runtime', 'currency', 'de', $data);
        $data = array('GRD' => 'Griechische Drachme');
        Catalog::write('runtime', 'currency', 'de_CH', $data);
        $result = Catalog::read('runtime', 'currency', 'de_CH');
        $expected = array('GRD' => 'Griechische Drachme', 'DKK' => 'Dänische Krone');
        $this->assertEqual($expected, $result);
        $this->tearDown();
        $this->setUp();
        $data = array('GRD' => 'de Griechische Drachme', 'DKK' => 'de Dänische Krone');
        Catalog::write('runtime', 'currency', 'de', $data);
        $data = array('GRD' => 'de_CH Griechische Drachme');
        Catalog::write('runtime', 'currency', 'de_CH', $data);
        $result = Catalog::read('runtime', 'currency', 'de_CH');
        $expected = array('GRD' => 'de_CH Griechische Drachme', 'DKK' => 'de Dänische Krone');
        $this->assertEqual($expected, $result);
    }