Skip to content

Commit

Permalink
Macro usage testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
fprochazka committed Nov 20, 2013
1 parent 6960f27 commit 0cdde57
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
66 changes: 66 additions & 0 deletions tests/KdybyTests/Translation/TranslateMacros.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?php

/**
* Test: Kdyby\Translation\TranslateMacros.
*
* @testCase KdybyTests\Translation\TranslateMacrosTest
* @author Filip Procházka <filip@prochazka.su>
* @package Kdyby\Translation
*/

namespace KdybyTests\Translation;

use Kdyby;
use Nette;
use Tester;
use Tester\Assert;

require_once __DIR__ . '/../bootstrap.php';



/**
* @author Filip Procházka <filip@prochazka.su>
*/
class TranslateMacrosTest extends TestCase
{

public function testRender()
{
$container = $this->createContainer();

/** @var Kdyby\Translation\Translator $translator */
$translator = $container->getByType('Nette\Localization\ITranslator');
$translator->setFallbackLocales(array('cs_CZ', 'cs'));
$translator->setLocale('cs');

$template = new Nette\Templating\FileTemplate(__DIR__ . '/files/Homepage.default.latte');
$template->setParameters(array('translator' => $translator));
$template->registerHelperLoader(array($translator->createTemplateHelpers(), 'loader'));
$template->registerFilter($engine = new Nette\Latte\Engine());
Kdyby\Translation\Latte\TranslateMacros::install($engine->getCompiler());

Assert::same('Ahoj %name%
Ahoj Peter
Ahoj Peter
Ahoj %name%
Ahoj Peter
Ahoj Peter
missingKey.namedHello
missingKey.namedHello
missingKey.namedHello
Helloes %name%
Helloes Peter
Hello Peter|Helloes Peter
missingKey.namedHelloCounting
missingKey.namedHelloCounting
missingKey.namedHelloCounting' . "\n", $template->__toString());
}

}

\run(new TranslateMacrosTest());
19 changes: 19 additions & 0 deletions tests/KdybyTests/Translation/files/Homepage.default.latte
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{_front.homepage.namedHello, 3}
{_front.homepage.namedHello, 3, [name => 'Peter']}
{_front.homepage.namedHello, [name => 'Peter']}

{_front.homepage.namedHello, 3, NULL, NULL, 'cs'}
{_front.homepage.namedHello, 3, array('name' => 'Peter'), NULL, 'cs'}
{_front.homepage.namedHello, array('name' => 'Peter'), NULL, 'cs'}

{_front.missingKey.namedHello, 3, NULL, NULL, 'cs'}
{_front.missingKey.namedHello, 3, array('name' => 'Peter'), NULL, 'cs'}
{_front.missingKey.namedHello, array('name' => 'Peter'), NULL, 'cs'}

{_front.homepage.namedHelloCounting, 3, NULL, NULL, 'en'}
{_front.homepage.namedHelloCounting, 3, array('name' => 'Peter'), NULL, 'en'}
{_front.homepage.namedHelloCounting, array('name' => 'Peter'), NULL, 'en'}

{_front.missingKey.namedHelloCounting, 3, NULL, NULL, 'en'}
{_front.missingKey.namedHelloCounting, 3, array('name' => 'Peter'), NULL, 'en'}
{_front.missingKey.namedHelloCounting, array('name' => 'Peter'), NULL, 'en'}

0 comments on commit 0cdde57

Please sign in to comment.