| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 | <?phpclass ViewTest extends PHPUnit_Framework_TestCase {	/**	 * Tear down the testing environment.	 */	public function tearDown()	{		View::$shared = array();		unset(Event::$events['composing: test.basic']);	}	/**	 * Test the View::make method.	 *	 * @group laravel	 */	public function testMakeMethodReturnsAViewInstance()	{		$this->assertInstanceOf('Laravel\\View', View::make('home.index'));	}	/**	 * Test the View class constructor.	 *	 * @group laravel	 */	public function testViewNameIsSetByConstrutor()	{		$view = new View('home.index');		$this->assertEquals('home.index', $view->view);	}	/**	 * Test the View class constructor.	 *	 * @group laravel	 */	public function testViewIsCreatedWithCorrectPath()	{		$view = new View('home.index');				$this->assertEquals(			str_replace(DS, '/', path('app')).'views/home/index.php',			str_replace(DS, '/', $view->path)		);	}	/**	 * Test the View class constructor for bundles.	 *	 * @group laravel	 */	public function testBundleViewIsCreatedWithCorrectPath()	{		$view = new View('home.index');		$this->assertEquals(			str_replace(DS, '/', Bundle::path(DEFAULT_BUNDLE)).'views/home/index.php',			str_replace(DS, '/', $view->path)		);	}	/**	 * Test the View class constructor.	 *	 * @group laravel	 */	public function testDataIsSetOnViewByConstructor()	{		$view = new View('home.index', array('name' => 'Taylor'));		$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.	 *	 * @group laravel	 */	public function testEmptyMessageContainerSetOnViewWhenNoErrorsInSession()	{		$view = new View('home.index');		$this->assertInstanceOf('Laravel\\Messages', $view->data['errors']);	}	/**	 * Test the View __set method.	 *	 * @group laravel	 */	public function testDataCanBeSetOnViewsThroughMagicMethods()	{		$view = new View('home.index');		$view->comment = 'Taylor';		$this->assertEquals('Taylor', $view->data['comment']);	}	/**	 * Test the View __get method.	 *	 * @group laravel	 */	public function testDataCanBeRetrievedFromViewsThroughMagicMethods()	{		$view = new View('home.index');		$view->comment = 'Taylor';		$this->assertEquals('Taylor', $view->comment);	}	/**	 * Test the View's ArrayAccess implementation.	 *	 * @group laravel	 */	public function testDataCanBeSetOnTheViewThroughArrayAccess()	{		$view = new View('home.index');		$view['comment'] = 'Taylor';		$this->assertEquals('Taylor', $view->data['comment']);	}	/**	 * Test the View's ArrayAccess implementation.	 *	 * @group laravel	 */	public function testDataCanBeRetrievedThroughArrayAccess()	{		$view = new View('home.index');		$view['comment'] = 'Taylor';		$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);	}	/**	 * Test that the View class renders nested views.	 *	 * @group laravel	 */	public function testNestedViewsAreRendered()	{		$view = View::make('tests.basic')								->with('age', 25)								->nest('name', 'tests.nested');		$this->assertEquals('Taylor is 25', $view->render());	}	/**	 * Test that the View class renders nested responses.	 *	 * @group laravel	 */	public function testNestedResponsesAreRendered()	{		$view = View::make('tests.basic')								->with('age', 25)								->with('name', Response::view('tests.nested'));		$this->assertEquals('Taylor is 25', $view->render());	}	/**	 * Test the View class raises a composer event.	 *	 * @group laravel	 */	public function testComposerEventIsCalledWhenViewIsRendering()	{		View::composer('tests.basic', function($view)		{			$view->data = array('name' => 'Taylor', 'age' => 25);		});		$view = View::make('tests.basic')->render();		$this->assertEquals('Taylor is 25', $view);	}}
 |