[limb-svn] r6500 - 3.x/trunk/limb/web_app/tests/cases/plain/controller

svn at limb-project.com svn at limb-project.com
Wed Nov 7 16:58:12 MSK 2007


Author: serega
Date: 2007-11-07 16:58:12 +0300 (Wed, 07 Nov 2007)
New Revision: 6500
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6500

Added:
   3.x/trunk/limb/web_app/tests/cases/plain/controller/FallbackToViewControllerTest.class.php
Log:
-- added test for new FallbackToViewController

Added: 3.x/trunk/limb/web_app/tests/cases/plain/controller/FallbackToViewControllerTest.class.php
===================================================================
--- 3.x/trunk/limb/web_app/tests/cases/plain/controller/FallbackToViewControllerTest.class.php	                        (rev 0)
+++ 3.x/trunk/limb/web_app/tests/cases/plain/controller/FallbackToViewControllerTest.class.php	2007-11-07 13:58:12 UTC (rev 6500)
@@ -0,0 +1,56 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+lmb_require('limb/web_app/src/controller/FallbackToViewController.class.php');
+lmb_require('limb/net/src/lmbHttpRequest.class.php');
+
+class FallbackToViewControllerTest extends UnitTestCase
+{
+  protected $toolkit;
+
+  function setUp()
+  {
+    $this->toolkit = lmbToolkit :: save();
+  }
+
+  function tearDown()
+  {
+    lmbToolkit :: restore();
+  }
+
+  function testAlwaysActionExists()
+  {
+    $controller = new FallbackToViewController();
+    $this->assertTrue($controller->actionExists('display'));
+  }
+
+  function testSetViewIfFoundAppropriateTemplate()
+  {
+    $this->toolkit->setSupportedViewTypes(array('.html' => 'lmbDummyView'));
+    $this->toolkit->setRequest(new lmbHttpRequest('http://localhost/about'));
+
+    $controller = new FallbackToViewController();
+    $controller->setCurrentAction('detail');
+
+    $controller->performAction();
+    $this->assertTrue($this->toolkit->getView()->getTemplate(), 'about.html');
+  }
+  
+  function testForwardTo404IfTemplateIsNotFound()
+  {
+    $view = new lmbDummyView();
+    $view->setTemplate('some_other_template.html');
+    $this->toolkit->setView($view);
+    $controller = new FallbackToViewController();
+    $controller->performAction();
+    $this->assertEqual($this->toolkit->getView()->getTemplate(), 'not_found.html');//too fragile check
+  }
+}
+
+
+



More information about the limb-svn mailing list