|
|
- <?php
- /**
- * Flight: An extensible micro-framework.
- *
- * @copyright Copyright (c) 2012, Mike Cao <mike@mikecao.com>
- * @license MIT, http://flightphp.com/license
- */
-
- require_once 'vendor/autoload.php';
- require_once __DIR__.'/../flight/autoload.php';
-
- class ViewTest extends PHPUnit_Framework_TestCase
- {
- /**
- * @var \flight\template\View
- */
- private $view;
-
- function setUp() {
- $this->view = new \flight\template\View();
- $this->view->path = __DIR__.'/views';
- }
-
- // Set template variables
- function testVariables() {
- $this->view->set('test', 123);
-
- $this->assertEquals(123, $this->view->get('test'));
-
- $this->assertTrue($this->view->has('test'));
- $this->assertTrue(!$this->view->has('unknown'));
-
- $this->view->clear('test');
-
- $this->assertEquals(null, $this->view->get('test'));
- }
-
- // Check if template files exist
- function testTemplateExists() {
- $this->assertTrue($this->view->exists('hello.php'));
- $this->assertTrue(!$this->view->exists('unknown.php'));
- }
-
- // Render a template
- function testRender() {
- $this->view->render('hello', array('name' => 'Bob'));
-
- $this->expectOutputString('Hello, Bob!');
- }
-
- // Fetch template output
- function testFetch() {
- $output = $this->view->fetch('hello', array('name' => 'Bob'));
-
- $this->assertEquals('Hello, Bob!', $output);
- }
-
- // Default extension
- function testTemplateWithExtension() {
- $this->view->set('name', 'Bob');
-
- $this->view->render('hello.php');
-
- $this->expectOutputString('Hello, Bob!');
- }
-
- // Custom extension
- function testTemplateWithCustomExtension() {
- $this->view->set('name', 'Bob');
- $this->view->extension = '.html';
-
- $this->view->render('world');
-
- $this->expectOutputString('Hello world, Bob!');
- }
- }
|