public function testPluralParsing()
    {
        $content = <<<EOT
msgid "foo"
msgid_plural "bar"
msgstr[0] "baz"
msgstr[1] "qux"
msgstr[2] "bux"

msgid ""
"bar"
msgid_plural ""
"baz"
msgstr[0] "baz "
"bux"
msgstr[1] "qux "
"foo"
"bar"
EOT;
        $parser = new PoeditParser('foo');
        $file = $parser->parse($content);
        $this->assertCount(3, $file->getString('foo')->getPlurals());
        $this->assertCount(2, $file->getString('bar')->getPlurals());
        $this->assertEquals('baz bux', $file->getString('bar')->getPlural(0));
    }
 public function testXgettext()
 {
     $output = __DIR__ . '/Resources/dump/' . $this->generateRandomFileName();
     $files = array(__DIR__ . '/Resources/test.html', __DIR__ . '/Resources/test.js');
     new Xgettext($files, $output, array('__'));
     $parser = new PoeditParser($output);
     $file = $parser->parse();
     $this->assertCount(17, $file->getStrings());
     unlink($output);
 }
 public function testXgettextHandlebarsCommand()
 {
     $output = __DIR__ . '/Resources/dump/' . $this->generateRandomFileName();
     exec(__DIR__ . '/../../../bin/xgettext -l "handlebars" -o "' . $output . '" -k "_t" -k "_n:1,2" "' . __DIR__ . '/Resources/test.hbs"');
     $parser = new PoeditParser($output);
     $file = $parser->parse();
     unlink($output);
     $this->assertInstanceOf('\\Xgettext\\Poedit\\PoeditFile', $file);
     $this->assertCount(3, $file->getStrings());
 }
 public function testPluralDump()
 {
     $this->file = new PoeditFile();
     $this->file->addString(new PoeditPluralString('foo', 'foo plural', array('plural one', 'plural two', 'last plural')));
     $filename = $this->generateRandomFileName();
     $basePath = __DIR__ . '/../Resources/dump';
     $output = $basePath . '/' . $filename;
     $dumper = new PoeditDumper($output);
     $dumper->dump($this->file, null, true);
     $parser = new PoeditParser($output);
     $file = $parser->parse();
     unlink($output);
     $strings = $file->getStrings();
     $this->assertCount(1, $strings);
     $this->assertTrue($file->hasString('foo'));
     $this->assertEquals($file->getString('foo')->getPlurals(), array('plural one', 'plural two', 'last plural'));
 }