Tests writing and reading with data merged between cascaded locales.
Only complete items are merged in, (atomic) merging between items should not occur. Categories fall back to results for more generic locales.

Returns

void

Source

						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);
	}