public function testExport() { $collection = new MockMessageCollectionForExport(); /** * @var FileBasedMessageGroup $group */ $group = MessageGroupBase::factory($this->groupConfiguration); $ffs = new AmdFFS($group); $data = $ffs->writeIntoVariable($collection); $parsed = $ffs->readFromVariable($data); $this->assertEquals(array('Nike the bunny'), $parsed['AUTHORS'], 'Authors are exported'); $this->assertArrayHasKey('fuzzymsg', $parsed['MESSAGES'], 'fuzzy message is exported'); $this->assertArrayHasKey('translatedmsg', $parsed['MESSAGES'], 'translated message is exported'); if (array_key_exists('untranslatedmsg', $parsed['MESSAGES'])) { $this->fail('Untranslated messages should not be exported'); } }
/** * @param array $data * @return array Parsed data. */ public function readFromVariable($data) { $authors = AmdFFS::extractAuthors($data); $data = AmdFFS::extractMessagePart($data); $messages = (array) FormatJson::decode($data, true); $metadata = array(); // Take care of regular language bundles, as well as the root bundle. if (isset($messages['root'])) { $messages = $this->group->getMangler()->mangle($messages['root']); } else { $messages = $this->group->getMangler()->mangle($messages); } return array('MESSAGES' => $messages, 'AUTHORS' => $authors, 'METADATA' => $metadata); }