TemplateTest.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /*
  3. * This file is part of Mustache.php.
  4. *
  5. * (c) 2010-2014 Justin Hileman
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. /**
  11. * @group unit
  12. */
  13. class Mustache_Test_TemplateTest extends PHPUnit_Framework_TestCase
  14. {
  15. public function testConstructor()
  16. {
  17. $mustache = new Mustache_Engine;
  18. $template = new Mustache_Test_TemplateStub($mustache);
  19. $this->assertSame($mustache, $template->getMustache());
  20. }
  21. public function testRendering()
  22. {
  23. $rendered = '<< wheee >>';
  24. $mustache = new Mustache_Engine;
  25. $template = new Mustache_Test_TemplateStub($mustache);
  26. $template->rendered = $rendered;
  27. $context = new Mustache_Context;
  28. if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
  29. $this->assertEquals($rendered, $template());
  30. }
  31. $this->assertEquals($rendered, $template->render());
  32. $this->assertEquals($rendered, $template->renderInternal($context));
  33. $this->assertEquals($rendered, $template->render(array('foo' => 'bar')));
  34. }
  35. }
  36. class Mustache_Test_TemplateStub extends Mustache_Template
  37. {
  38. public $rendered;
  39. public function getMustache()
  40. {
  41. return $this->mustache;
  42. }
  43. public function renderInternal(Mustache_Context $context, $indent = '', $escape = false)
  44. {
  45. return $this->rendered;
  46. }
  47. }