diff --git a/core/lib/Drupal/Component/Gettext/PoHeader.php b/core/lib/Drupal/Component/Gettext/PoHeader.php index 3136f2e..48d8010 100644 --- a/core/lib/Drupal/Component/Gettext/PoHeader.php +++ b/core/lib/Drupal/Component/Gettext/PoHeader.php @@ -90,7 +90,7 @@ public function __construct($langcode = NULL) { * Plural form component from the header, for example: * 'nplurals=2; plural=(n > 1);'. */ - function getPluralForms() { + public function getPluralForms() { return $this->_pluralForms; } @@ -100,7 +100,7 @@ function getPluralForms() { * @param string $languageName * Human readable language name. */ - function setLanguageName($languageName) { + public function setLanguageName($languageName) { $this->_languageName = $languageName; } @@ -110,7 +110,7 @@ function setLanguageName($languageName) { * @return string * The human readable language name. */ - function getLanguageName() { + public function getLanguageName() { return $this->_languageName; } @@ -120,7 +120,7 @@ function getLanguageName() { * @param string $projectName * Human readable project name. */ - function setProjectName($projectName) { + public function setProjectName($projectName) { $this->_projectName = $projectName; } @@ -130,7 +130,7 @@ function setProjectName($projectName) { * @return string * The human readable project name. */ - function getProjectName() { + public function getProjectName() { return $this->_projectName; } @@ -195,7 +195,7 @@ public function __toString() { * * @throws Exception */ - function parsePluralForms($pluralforms) { + public function parsePluralForms($pluralforms) { $plurals = array(); // First, delete all whitespace. $pluralforms = strtr($pluralforms, array(" " => "", "\t" => "")); diff --git a/core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php b/core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php index d3fb940..78201f9 100644 --- a/core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php +++ b/core/tests/Drupal/Tests/Component/Gettext/PoHeaderTest.php @@ -13,9 +13,8 @@ /** * Unit tests for the Gettext PO file header handling features. * - * @see Drupal\Component\Gettext\PoHeader. - * - * @group Gettext + * @coversDefaultClass \Drupal\Component\Gettext\PoHeader + * @group gettext */ class PoHeaderTest extends UnitTestCase { @@ -31,6 +30,7 @@ class PoHeaderTest extends UnitTestCase { * Array of expected plural positions keyed by plural value. * * @dataProvider providerTestPluralsFormula + * @covers ::parsePluralForms */ public function testPluralsFormula($plural, $expected) { $p = new PoHeader(); @@ -372,4 +372,54 @@ public function providerTestPluralsFormula() { ); } + /** + * @covers ::getPluralForms + * @covers ::parseHeader + * @covers ::setFromString + * @covers ::__toString + */ + public function testSetFromString() { + $header = "Project-Id-Version: Drupal core (7.11)\n" + . "POT-Creation-Date: 2012-02-12 22:59+0000\n" + . "PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n" + . "Language-Team: Catalan\n" + . "MIME-Version: 1.0\n" + . "Content-Type: text/plain; charset=utf-8\n" + . "Content-Transfer-Encoding: 8bit\n" + . "Plural-Forms: nplurals=2; plural=(n>1);\n"; + + $p = new PoHeader(); + $p->setFromString($header); + $this->assertEquals('nplurals=2; plural=(n>1);', $p->getPluralForms()); + + $language = 'Spanish'; + $project = 'Drupal core'; + $p->setLanguageName($language); + $p->setProjectName($project); + + $this->assertContains('Spanish translation of Drupal core', (string) $p); + } + + /** + * @covers ::getLanguageName + * @covers ::setLanguageName + */ + public function testGetSetLanguageName() { + $language = 'Spanish'; + $p = new PoHeader(); + $p->setLanguageName($language); + $this->assertEquals($language, $p->getLanguageName()); + } + + /** + * @covers ::getProjectName + * @covers ::setProjectName + */ + public function testGetSetProjectName() { + $project = 'Drupal core'; + $p = new PoHeader(); + $p->setProjectName($project); + $this->assertEquals($project, $p->getProjectName()); + } + }