From f849f665de517a05487003c6f35e23607172115a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 5 Jun 2008 15:18:31 +0000 Subject: [PATCH] Unit test for request classes added, shell scripts added for running all tests --- .gitattributes | 3 ++ tests/RequestTest.php | 76 +++++++++++++++++++++++++++++++++++++++++++ tests/all-tests.sh | 3 ++ tests/unittest.sh | 5 +++ 4 files changed, 87 insertions(+) create mode 100644 tests/RequestTest.php create mode 100644 tests/all-tests.sh create mode 100644 tests/unittest.sh diff --git a/.gitattributes b/.gitattributes index 489064a..a5d64e9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -405,7 +405,10 @@ templates/de/code/header.ctp -text templates/de/html/.htaccess -text tests/ConfigTest.php -text tests/RegistryTest.php -text +tests/RequestTest.php -text tests/Test.php -text +tests/all-tests.sh -text tests/old/contract-test.php -text tests/old/loader-test.php -text tests/old/personell-test.php -text +tests/unittest.sh -text diff --git a/tests/RequestTest.php b/tests/RequestTest.php new file mode 100644 index 0000000..c4edab0 --- /dev/null +++ b/tests/RequestTest.php @@ -0,0 +1,76 @@ +setConfigEntry('default_application', 'ship-simu'); + +// Set testing mode (no starter.php will be loaded!) +define('TEST_MODE', true); + +// Load the PHPUnit framework +require_once('PHPUnit/Framework.php'); + +print (basename(__FILE__).": Init completed.\n\n"); + +/** + * A test case for faked HTTP requests. This is faked because we *set* + * $_REQUEST here. This should be made better in PHP6... :( + * + * @author Roland Haeder + * @version 0.0.0 + * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * @see http://www.phpunit.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class RequestTest extends PHPUnit_Framework_TestCase { + /** + * A non-exist request element is being asked for. null is the expected + * result from the class + * + * @return void + */ + public function testMissingRequestElement () { + // Get a request instance + $requestInstance = HttpRequest::createHttpRequest(); + + // Get the element + $nonExist = $requestInstance->getRequestElement('never_there'); + + // Is this null? + if (!is_null($nonExist)) { + // Is not null! + $this->fail(sprintf("[%s:] Unexpected type %s received from request handler.", + $requestInstance->__toString(), + gettype($nonExists) + )); + } + } +} + +?> diff --git a/tests/all-tests.sh b/tests/all-tests.sh new file mode 100644 index 0000000..13c704a --- /dev/null +++ b/tests/all-tests.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +find -type f -name "*Test.php" -not -name "Test.php" -exec sh ./unittest.sh {} \; diff --git a/tests/unittest.sh b/tests/unittest.sh new file mode 100644 index 0000000..987e19b --- /dev/null +++ b/tests/unittest.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +FILE=`echo $1 | cut -d "/" -f 2` + +phpunit $FILE -- 2.39.5