Source

						public function testReadPoMultiline() {
		$file = "{$this->_path}/de/LC_MESSAGES/default.po";
		$data = <<<EOD
msgid "An id"
msgstr ""
"This is a translation spanning "
"multiple lines."
EOD;
		file_put_contents($file, $data);

		$expected = array(
			'An id' => array(
				'id' => 'An id',
				'ids' => array(
					'singular' => 'An id'
				),
				'flags' => array(),
				'translated' => 'This is a translation spanning multiple lines.',
				'occurrences' => array(),
				'comments' => array()
			)
		);
		$result = $this->adapter->read('message', 'de', null);
		$this->assertEqual($expected, $result);

		$file = "{$this->_path}/de/LC_MESSAGES/default.po";
		$data = <<<EOD
msgid ""
"This is an id spanning "
"multiple lines."
msgstr ""
"This is a translation spanning "
"multiple lines."
EOD;
		file_put_contents($file, $data);

		$expected = array(
			'This is an id spanning multiple lines.' => array(
				'id' => 'This is an id spanning multiple lines.',
				'ids' => array(
					'singular' => 'This is an id spanning multiple lines.'
				),
				'flags' => array(),
				'translated' => 'This is a translation spanning multiple lines.',
				'occurrences' => array(),
				'comments' => array()
			)
		);
		$result = $this->adapter->read('message', 'de', null);
		$this->assertEqual($expected, $result);

		$data = <<<EOD
msgid ""
"This is an id spanning "
"multiple lines."
msgid_plural ""
"This is a plural id spanning "
"multiple lines."
msgstr[0] ""
"This is a translation spanning "
"multiple lines."
msgstr[1] ""
"This is a plural translation spanning "
"multiple lines."
EOD;
		file_put_contents($file, $data);

		$expected = array(
			'This is an id spanning multiple lines.' => array(
				'id' => 'This is an id spanning multiple lines.',
				'ids' => array(
					'singular' => 'This is an id spanning multiple lines.',
					'plural' => 'This is a plural id spanning multiple lines.'
				),
				'flags' => array(),
				'translated' => array(
					'This is a translation spanning multiple lines.',
					'This is a plural translation spanning multiple lines.'
				),
				'occurrences' => array(),
				'comments' => array()
			)
		);
		$result = $this->adapter->read('message', 'de', null);
		$this->assertEqual($expected, $result);
	}