public function testMessageIsTranslated() { $message = "An awesome message"; $expectedMessage = "Translated message"; $parameters = array('foo' => 'bar,'); $domain = "RedKiteCms"; $locale = 'it'; $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface'); $translator->expects($this->once())->method('trans')->with($message, $parameters, $domain, $locale)->will($this->returnValue($expectedMessage)); Translator::setTranslator($translator); $translatedMessage = Translator::translate($message, $parameters, $domain, $locale); $this->assertEquals($translatedMessage, $expectedMessage); }
public static function translateException($message, \Exception $exception = null) { $jsonMessage = json_decode($message, true); if (!is_array($jsonMessage)) { $jsonMessage = array('message' => $message); } $parameters = array('message' => '', 'parameters' => array(), 'domain' => 'RedKiteCms', 'locale' => null); $cleanedParameters = array_intersect_key($jsonMessage, $parameters); $parameters = array_merge($parameters, $cleanedParameters); $message = Translator::translate($parameters["message"], $parameters["parameters"], $parameters["domain"], $parameters["locale"]); if (null !== $exception && array_key_exists("show_exception", $jsonMessage) && $jsonMessage["show_exception"]) { $message = substr(strrchr(get_class($exception), '\\'), 1) . ": " . $message; } return $message; }
public function testBlockCreated() { $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface'); $translator->expects($this->once())->method('trans')->with('', array(), 'RedKiteCms', null); Translator::setTranslator($translator); $value = "foo"; $tags = array("class" => "bar"); $block = new TestExtendableBlock($value, $tags); $expectedSource = "value: foo\n"; $expectedSource .= "tags:\n"; $expectedSource .= " class: bar\n"; $expectedSource .= "type: Foo\n"; $this->assertEquals($expectedSource, $block->getSource()); $this->assertEquals($tags, $block->getTags()); $tags = array("class" => "baz"); $block->setTags($tags); $this->assertEquals($tags, $block->getTags()); $source = 'foo: bar'; $block->setSource($source); $this->assertEquals($source, $block->getSource()); }
private function boot() { BlockFactory::boot($this->app["red_kite_cms.configuration_handler"]); Dispatcher::setDispatcher($this->app["dispatcher"]); DataLogger::init($this->app["monolog"]); Translator::setTranslator($this->app["translator"]); $this->app["red_kite_cms.plugin_manager"]->boot(); $theme = $this->app["red_kite_cms.plugin_manager"]->getActiveTheme(); $this->app["red_kite_cms.theme"]->boot($theme); $this->app["red_kite_cms.theme_generator"]->boot($theme); $this->app["red_kite_cms.slots_generator"]->boot($theme); $this->app["red_kite_cms.theme_aligner"]->boot($theme); $siteIncompleteFile = $this->app["red_kite_cms.root_dir"] . '/app/data/' . $this->siteName . '/incomplete.json'; if (file_exists($siteIncompleteFile)) { $this->createWebsitePages($theme); unlink($siteIncompleteFile); } $this->app["dispatcher"]->dispatch(CmsEvents::CMS_BOOTING, new CmsBootingEvent($this->app["red_kite_cms.configuration_handler"])); $this->app["red_kite_cms.template_assets"]->boot(); $this->app["red_kite_cms.assetic"]->addFilter('cssrewrite', new CssRewriteFilter()); }
/** * @dataProvider blockProvider */ public function testBlockCreated($translatorOptions) { $expectedTranslations = 0; if (count($translatorOptions) > 0) { $expectedTranslations = 1; } $params = array_key_exists("params", $translatorOptions) ? $translatorOptions["params"] : array(); $domain = array_key_exists("domain", $translatorOptions) ? $translatorOptions["domain"] : 'RedKiteCms'; $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface'); $translator->expects($this->exactly($expectedTranslations))->method('trans')->with('foo', $params, $domain, null); Translator::setTranslator($translator); $block = new BlockTest($translatorOptions); $this->assertEquals('MyLink', $block->getType()); $this->assertEquals('mylink', $block->getCustomTag()); $slotName = 'logo'; $this->assertNull($block->getSlotName()); $block->setSlotName($slotName); $this->assertEquals($slotName, $block->getSlotName()); $name = 'link'; $this->assertEmpty($block->getName()); $block->setName($name); $this->assertEquals($name, $block->getName()); $history = array('foo' => 'bar'); $this->assertEmpty($block->getHistory()); $block->setHistory($history); $this->assertEquals($history, $block->getHistory()); $historyName = 'foo'; $this->assertEmpty($block->getHistoryName()); $block->setHistoryName($historyName); $this->assertEquals($historyName, $block->getHistoryName()); $this->assertFalse($block->isInternal()); }
/** * Translates the block */ protected function translate() { $translatorOptions = $this->getTranslatorOptions(); if (empty($translatorOptions) && !array_key_exists("fields", $translatorOptions)) { return; } $params = array(); if (array_key_exists("params", $translatorOptions)) { $params = $translatorOptions["params"]; } $domain = "RedKiteCms"; if (array_key_exists("domain", $translatorOptions)) { $domain = $translatorOptions["domain"]; } foreach ($translatorOptions["fields"] as $field) { $field = ucfirst($field); $method = 'get' . $field; $value = Translator::translate($this->{$method}(), $params, $domain); $method = 'set' . $field; $this->{$method}($value); } }