lithium\tests\cases\g11n\catalog\adapter\GettextTest::testReadPoMultiline PHP Method

testReadPoMultiline() public method

public testReadPoMultiline ( )
    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(), 'context' => null));
        $result = $this->adapter->read('message', 'de', null);
        unset($result['pluralRule']);
        $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(), 'context' => null));
        $result = $this->adapter->read('message', 'de', null);
        unset($result['pluralRule']);
        $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(), 'context' => null));
        $result = $this->adapter->read('message', 'de', null);
        unset($result['pluralRule']);
        $this->assertEqual($expected, $result);
    }