Browse Source

adding more view tests.

Taylor Otwell 13 years ago
parent
commit
b812f2f08a
2 changed files with 74 additions and 0 deletions
  1. 73 0
      tests/cases/laravel/view.test.php
  2. 1 0
      tests/laravel/application/views/tests/basic.php

+ 73 - 0
tests/cases/laravel/view.test.php

@@ -2,6 +2,16 @@
 
 class ViewTest extends PHPUnit_Framework_TestCase {
 
+	/**
+	 * Test the View::make method.
+	 *
+	 * @group laravel
+	 */
+	public function testMakeMethodReturnsAViewInstance()
+	{
+		$this->assertInstanceOf('Laravel\\View', View::make('home.index'));
+	}
+
 	/**
 	 * Test the View class constructor.
 	 *
@@ -38,6 +48,42 @@ class ViewTest extends PHPUnit_Framework_TestCase {
 		$this->assertEquals('Taylor', $view->data['name']);
 	}
 
+	/**
+	 * Test the View::name method.
+	 *
+	 * @group laravel
+	 */
+	public function testNameMethodRegistersAViewName()
+	{
+		View::name('home.index', 'home');
+
+		$this->assertEquals('home.index', View::$names['home']);
+	}
+
+	/**
+	 * Test the View::shared method.
+	 *
+	 * @group laravel
+	 */
+	public function testSharedMethodAddsDataToSharedArray()
+	{
+		View::share('comment', 'Taylor');
+
+		$this->assertEquals('Taylor', View::$shared['comment']);
+	}
+
+	/**
+	 * Test the View::with method.
+	 *
+	 * @group laravel
+	 */
+	public function testViewDataCanBeSetUsingWithMethod()
+	{
+		$view = View::make('home.index')->with('comment', 'Taylor');
+
+		$this->assertEquals('Taylor', $view->data['comment']);
+	}
+
 	/**
 	 * Test the View class constructor.
 	 *
@@ -106,4 +152,31 @@ class ViewTest extends PHPUnit_Framework_TestCase {
 		$this->assertEquals('Taylor', $view['comment']);
 	}
 
+	/**
+	 * Test the View::nest method.
+	 *
+	 * @group laravel
+	 */
+	public function testNestMethodSetsViewInstanceInData()
+	{
+		$view = View::make('home.index')->nest('partial', 'tests.basic');
+
+		$this->assertEquals('tests.basic', $view->data['partial']->view);
+		$this->assertInstanceOf('Laravel\\View', $view->data['partial']);
+	}
+
+	/**
+	 * Test that the registered data is passed to the view correctly.
+	 *
+	 * @group laravel
+	 */
+	public function testDataIsPassedToViewCorrectly()
+	{
+		View::share('name', 'Taylor');
+
+		$view = View::make('tests.basic')->with('age', 25)->render();
+
+		$this->assertEquals('Taylor is 25', $view);
+	}
+
 }

+ 1 - 0
tests/laravel/application/views/tests/basic.php

@@ -0,0 +1 @@
+<?php echo $name; ?> is <?php echo $age; ?>