HelperSetTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /*
  3. * This file is part of the symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. require_once __DIR__.'/../../../../bootstrap.php';
  11. require_once __DIR__.'/../../../../../lib/SymfonyTests/Components/Templating/SimpleHelper.php';
  12. use Symfony\Components\Templating\Helper\HelperSet;
  13. use Symfony\Components\Templating\Engine;
  14. use Symfony\Components\Templating\Loader\FilesystemLoader;
  15. $t = new LimeTest(7);
  16. $engine = new Engine(new FilesystemLoader('/'));
  17. // __construct()
  18. $t->diag('__construct()');
  19. $helperSet = new HelperSet(array('foo' => $helper = new SimpleHelper('foo')));
  20. $t->ok($helperSet->has('foo'), '__construct() takes an array of helpers as its first argument');
  21. // ->setEngine()
  22. $t->diag('->getEngine()');
  23. $helperSet = new HelperSet(array('foo' => $helper = new SimpleHelper('foo')));
  24. $t->ok($helper->getHelperSet() === $helperSet, '->__construct() changes the embedded helper set of the given helpers');
  25. // ->get() ->set() ->has()
  26. $t->diag('->getHelper() ->setHelper() ->has()');
  27. $helperSet = new HelperSet();
  28. $helperSet->set($helper = new SimpleHelper('bar'));
  29. $t->ok($helper->getHelperSet() === $helperSet, '->set() changes the embedded helper set of the helper');
  30. $t->is((string) $helperSet->get('foo'), 'bar', '->set() sets a helper value');
  31. $t->ok($helperSet->has('foo'), '->has() returns true if the helper is defined');
  32. $t->ok(!$helperSet->has('bar'), '->has() returns false if the helper is not defined');
  33. try
  34. {
  35. $helperSet->get('bar');
  36. $t->fail('->get() throws an InvalidArgumentException if the helper is not defined');
  37. }
  38. catch (InvalidArgumentException $e)
  39. {
  40. $t->pass('->get() throws an InvalidArgumentException if the helper is not defined');
  41. }