public function testMergeExisting()
 {
     $scannedMessage = new XliffMessage('foo');
     $scannedMessage->setDesc('foo');
     $existingMessage = new XliffMessage('foo');
     $existingMessage->setLocaleString('bar');
     $existingMessage->addSource(new FileSource('bar'));
     $existingMessage->setApproved(true);
     $existingMessage->setState(XliffMessage::STATE_TRANSLATED);
     $existingMessage2 = new Message('foo');
     $existingMessage2->setLocaleString('bar');
     $existingMessage2->setNew(false);
     $existingMessage2->addSource(new FileSource('bar'));
     $scannedMessage1 = clone $scannedMessage;
     $existingMessage1 = clone $existingMessage;
     $scannedMessage1->mergeExisting($existingMessage1);
     $this->assertEquals('foo', $scannedMessage1->getDesc());
     $this->assertEquals('bar', $scannedMessage1->getLocaleString());
     $this->assertFalse($scannedMessage1->isNew());
     $this->assertEquals(array(), $scannedMessage1->getSources());
     $this->assertFalse($scannedMessage1->isApproved());
     $this->assertEquals(XliffMessage::STATE_NONE, $scannedMessage1->getState());
     $scannedMessage2 = clone $scannedMessage;
     $scannedMessage2->setApproved(true);
     $scannedMessage2->setState(XliffMessage::STATE_TRANSLATED);
     $existingMessage2 = clone $existingMessage;
     $existingMessage2->setDesc('bar');
     $existingMessage2->setApproved(false);
     $existingMessage2->setState(XliffMessage::STATE_NONE);
     $scannedMessage2->mergeExisting($existingMessage2);
     $this->assertEquals('foo', $scannedMessage2->getDesc());
     $this->assertTrue($scannedMessage2->isApproved());
     $this->assertEquals(XliffMessage::STATE_TRANSLATED, $scannedMessage2->getState());
     $scannedMessage3 = clone $scannedMessage;
     $existingMessage3 = clone $existingMessage1;
     $scannedMessage3->mergeExisting($existingMessage3);
     $this->assertEquals('foo', $scannedMessage3->getDesc());
     $this->assertEquals('bar', $scannedMessage3->getLocaleString());
     $this->assertFalse($scannedMessage3->isNew());
     $this->assertEquals(array(), $scannedMessage3->getSources());
     $this->assertFalse($scannedMessage3->isApproved());
     $this->assertEquals(XliffMessage::STATE_NONE, $scannedMessage3->getState());
     $scannedMessage4 = clone $scannedMessage;
     $scannedMessage4->setApproved(true);
     $scannedMessage4->setState(XliffMessage::STATE_TRANSLATED);
     $existingMessage4 = clone $existingMessage1;
     $existingMessage4->setDesc('bar');
     $scannedMessage4->mergeExisting($existingMessage4);
     $this->assertEquals('foo', $scannedMessage4->getDesc());
     $this->assertTrue($scannedMessage4->isApproved());
     $this->assertEquals(XliffMessage::STATE_TRANSLATED, $scannedMessage4->getState());
 }
 public function testMergeExisting()
 {
     $message = new Message('foo');
     $message->setDesc('bar');
     $existingMessage = new Message('foo');
     $existingMessage->setLocaleString('foobar');
     $existingMessage->setNew(false);
     $existingMessage->addSource(new FileSource('foo/bar'));
     $message->mergeExisting($existingMessage);
     $this->assertEquals('bar', $message->getDesc());
     $this->assertEquals('foobar', $message->getLocaleString());
     $this->assertFalse($message->isNew());
     $this->assertEquals(array(), $message->getSources());
 }
Ejemplo n.º 3
0
 /**
  * @param string $file
  * @param string $format
  * @param string $domain
  * @param string $locale
  * @param string $key
  * @param string $trans
  */
 public function createTranslation($file, $format, $domain, $locale, $key, $trans)
 {
     $catalogue = $this->loader->loadFile($file, $format, $locale, $domain);
     $message = new Message($key, $domain);
     $message->setLocaleString($trans)->setNew(false);
     $catalogue->add($message);
     $this->writer->write($catalogue, $domain, $file, $format);
 }