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