Transparent extension for Kohana_Unittest_Database_TestCase
Provides some unittest helpers and allows a kohana database connection to be used to connect to the database[!!] This class, or a class parent, could not be found or loaded. This could be caused by a missing module or other dependancy. The documentation for class may not be complete!
Class declared in MODPATH/unittest/classes/Unittest/Database/TestCase.php on line 14.
boolean
$_assert_type_compatabilityWhether we should enable work arounds to make the tests compatible with phpunit 3.4
NULL
string
$_database_connectionThe kohana database connection that PHPUnit should use for this test
string(7) "default"
Kohana_Unittest_Helpers
$_helpersA set of unittest helpers that are shared between normal / database testcases
NULL
boolean
$backupGlobalsMake sure PHPUnit backs up globals
bool FALSE
array
$environmentDefaultA default set of environment to be applied before each test
array(0)
Asserts that an attribute is of a given type.
string
$expected
required - $expectedstring
$attributeName
required - $attributeNamemixed
$classOrObject
required - $classOrObjectstring
$message
= string(0) "" - $messagepublic static function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertAttributeType($expected, $attributeName, $classOrObject, $message);
}
return parent::assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message);
}
Asserts that an attribute is of a given type.
string
$expected
required - $expectedstring
$attributeName
required - $attributeNamemixed
$classOrObject
required - $classOrObjectstring
$message
= string(0) "" - $messagepublic static function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertAttributeType($expected, $attributeName, $classOrObject, $message);
}
return self::assertAttributeInternalType($expected, $attributeName, $classOrObject, $message);
}
Asserts that an attribute is of a given type.
string
$expected
required - $expectedstring
$attributeName
required - $attributeNamemixed
$classOrObject
required - $classOrObjectstring
$message
= string(0) "" - $messagepublic static function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertAttributeNotType($expected, $attributeName, $classOrObject, $message);
}
return self::assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message);
}
Asserts that an attribute is of a given type.
string
$expected
required - $expectedstring
$attributeName
required - $attributeNamemixed
$classOrObject
required - $classOrObjectstring
$message
= string(0) "" - $messagepublic static function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertAttributeNotType($expected, $attributeName, $classOrObject, $message);
}
return self::assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message);
}
Asserts that a variable is of a given type.
string
$expected
required - $expectedmixed
$actual
required - $actualstring
$message
= string(0) "" - $messagepublic static function assertInstanceOf($expected, $actual, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertType($expected, $actual, $message);
}
return parent::assertInstanceOf($expected, $actual, $message);
}
Asserts that a variable is of a given type.
string
$expected
required - $expectedmixed
$actual
required - $actualstring
$message
= string(0) "" - $messagepublic static function assertInternalType($expected, $actual, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertType($expected, $actual, $message);
}
return parent::assertInternalType($expected, $actual, $message);
}
Asserts that a variable is not of a given type.
string
$expected
required - $expectedmixed
$actual
required - $actualstring
$message
= string(0) "" - $messagepublic static function assertNotInstanceOf($expected, $actual, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertNotType($expected, $actual, $message);
}
return self::assertNotInstanceOf($expected, $actual, $message);
}
Asserts that a variable is not of a given type.
string
$expected
required - $expectedmixed
$actual
required - $actualstring
$message
= string(0) "" - $messagepublic static function assertNotInternalType($expected, $actual, $message = '')
{
if(self::$_assert_type_compatability)
{
return self::assertNotType($expected, $actual, $message);
}
return self::assertNotInternalType($expected, $actual, $message);
}
Removes all kohana related cache files in the cache directory
public function cleanCacheDir()
{
return Kohana_Unittest_Helpers::clean_cache_dir();
}
Helper function that replaces all occurences of '/' with the OS-specific directory separator
string
$path
required - The path to act onstring
public function dirSeparator($path)
{
return Kohana_Unittest_Helpers::dir_separator($path);
}
Creates a connection to the unittesting database
PDO
public function getConnection()
{
// Get the unittesting db connection
$config = Kohana::$config->load('database.'.$this->_database_connection);
if(strtolower($config['type']) !== 'pdo')
{
$config['connection']['dsn'] = strtolower($config['type']).':'.
'host='.$config['connection']['hostname'].';'.
'dbname='.$config['connection']['database'];
}
$pdo = new PDO(
$config['connection']['dsn'],
$config['connection']['username'],
$config['connection']['password']
);
return $this->createDefaultDBConnection($pdo, $config['connection']['database']);
}
Gets a connection to the unittest database
Kohana_Database
- The database connectionpublic function getKohanaConnection()
{
return Database::instance(Kohana::$config->load('unittest')->db_connection);
}
Check for internet connectivity
boolean
- Whether an internet connection is availablepublic function hasInternet()
{
return Kohana_Unittest_Helpers::has_internet();
}
Allows easy setting & backing up of enviroment config
Option types are checked in the following order:
array
$environment
required - List of environment to setpublic function setEnvironment(array $environment)
{
return $this->_helpers->set_environment($environment);
}
Creates a predefined environment using the default environment
Extending classes that have their own setUp() should call parent::setUp()
public function setUp()
{
if(self::$_assert_type_compatability === NULL)
{
if( ! class_exists('PHPUnit_Runner_Version'))
{
require_once 'PHPUnit/Runner/Version.php';
}
self::$_assert_type_compatability = version_compare(PHPUnit_Runner_Version::id(), '3.5.0', '<=');
}
$this->_helpers = new Kohana_Unittest_Helpers;
$this->setEnvironment($this->environmentDefault);
return parent::setUp();
}
Restores the original environment overriden with setEnvironment()
Extending classes that have their own tearDown() should call parent::tearDown()
public function tearDown()
{
$this->_helpers->restore_environment();
return parent::tearDown();
}
Creates classes when they are otherwise not found.
Kodoc::create_class('ThisClassDoesNotExist');
All classes created will extend Kodoc_Missing.
string
$class
required - Class nameboolean
public static function create_class($class)
{
if ( ! class_exists($class))
{
// Create a new missing class
eval("class {$class} extends Kodoc_Missing {}");
}
return TRUE;
}