/** * Tests MessageBundleParser->parse() on error xml string. */ public function testParseOnError() { $xml = '<?xml version="1.0" encoding="UTF-8" ?> <doc> <msg name="name1">Message 1</msg> <msg name="name2">Message 2</msg> <msg name="name3">Message 3</msg> <msg name="name4">Message 4</msg>'; $this->setExpectedException('Exception'); $this->MessageBundle = $this->MessageBundleParser->parse($xml); }
/** * Tests MessageBundleParser->parse() */ public function testParse() { $xml = '<?xml version="1.0" encoding="UTF-8" ?> <doc> <msg name="name1">Message 1</msg> <msg name="name2">Message 2</msg> <msg name="name3">Message 3</msg> <msg name="name4">Message 4</msg> </doc>'; $this->MessageBundle = $this->MessageBundleParser->parse($xml); $this->assertTrue($this->MessageBundle instanceof MessageBundle); }
/** * Tests MessageBundleParser->parse() */ public function testParse() { $xml = '<?xml version="1.0" encoding="UTF-8" ?> <doc> <msg name="name1">Message 1</msg> <msg name="name2">Message 2</msg> <msg name="name3">Message 3</msg> <msg name="name4">Message 4</msg> </doc>'; $this->MessageBundle = $this->MessageBundleParser->parse($xml); $this->assertEquals('Message 1', $this->MessageBundle['name1']); $this->assertEquals('Message 2', $this->MessageBundle['name2']); $this->assertEquals('Message 3', $this->MessageBundle['name3']); $this->assertEquals('Message 4', $this->MessageBundle['name4']); }
private function getBundle($localeSpec, $context) { if ($localeSpec != null) { $uri = $localeSpec->getURI(); if ($uri != null) { $fetcher = $context->getHttpFetcher(); $response = $fetcher->fetch(new RemoteContentRequest($uri), $context); $parser = new MessageBundleParser(); $bundle = $parser->parse($response->getResponseContent()); return $bundle; } } return null; }
private function getBundle(LocaleSpec $localeSpec = null, $context) { if ($localeSpec != null) { $uri = $localeSpec->getURI(); if ($uri != null) { $fetcher = $context->getHttpFetcher(); $response = $fetcher->fetch(new RemoteContentRequest($uri), $context); $parser = new MessageBundleParser(); $bundle = $parser->parse($response->getResponseContent()); return $bundle; } else { $messages = array(); foreach ($localeSpec->getLocaleMessageBundles() as $messageBundle) { $messages[$messageBundle->getName()] = $messageBundle->getDesc(); } return new MessageBundle($messages); } } return null; }
private function getMessagesArrayForSpecs($context, array $specs) { $requestArray = array(); $contextArray = array(); $messagesArray = array(); foreach ($specs as $spec) { if ($spec == null) { continue; } $uri = $spec->getURI(); if ($uri == null) { if ($spec->getLocaleMessageBundles() != null) { $messagesArray[] = $spec->getLocaleMessageBundles(); } else { $messagesArray[] = array(); } continue; } $parsedUri = parse_url($uri); if (empty($parsedUri['host'])) { // relative path's in the locale spec uri $gadgetUrl = $context->getUrl(); $gadgetUrl = substr($gadgetUrl, 0, strrpos($gadgetUrl, '/') + 1); $uri = $gadgetUrl . $uri; } $requestArray[] = new RemoteContentRequest($uri); $contextArray[] = $context; $messagesArray[] = null; } if (count($messagesArray) == 0) { return array(); } $fetcher = $context->getHttpFetcher(); $responseArray = $fetcher->multiFetch($requestArray, $contextArray); $parser = new MessageBundleParser(); for ($i = 0, $j = 0; $i < count($messagesArray); ++$i) { if ($messagesArray[$i] == null) { $messagesArray[$i] = $parser->parse($responseArray[$j]->getResponseContent()); ++$j; } } return $messagesArray; }