2013-01-12 01:34:20 +00:00
|
|
|
<?php
|
|
|
|
/**
|
2014-02-15 18:57:49 +00:00
|
|
|
* @author Andreas Fischer <bantu@phpbb.com>
|
|
|
|
* @copyright MMXIII Andreas Fischer
|
|
|
|
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
2013-01-12 01:34:20 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase
|
|
|
|
{
|
2014-02-15 18:57:49 +00:00
|
|
|
/**
|
|
|
|
* @param string $constant
|
|
|
|
* @param mixed $expected
|
|
|
|
*
|
|
|
|
* @return null
|
|
|
|
*/
|
|
|
|
static protected function ensureConstant($constant, $expected)
|
|
|
|
{
|
|
|
|
if (defined($constant)) {
|
|
|
|
$value = constant($constant);
|
2013-01-12 01:34:20 +00:00
|
|
|
|
2014-02-15 18:57:49 +00:00
|
|
|
if ($value !== $expected) {
|
|
|
|
if (function_exists('runkit_constant_redefine')) {
|
|
|
|
if (!runkit_constant_redefine($constant, $expected)) {
|
|
|
|
self::markTestSkipped(sprintf(
|
|
|
|
"Failed to redefine constant %s to %s",
|
|
|
|
$constant,
|
|
|
|
$expected
|
|
|
|
));
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
self::markTestSkipped(sprintf(
|
|
|
|
"Skipping test because constant %s is %s instead of %s",
|
|
|
|
$constant,
|
|
|
|
$value,
|
|
|
|
$expected
|
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
define($constant, $expected);
|
|
|
|
}
|
|
|
|
}
|
2013-01-12 20:22:01 +00:00
|
|
|
|
2014-02-15 18:57:49 +00:00
|
|
|
/**
|
|
|
|
* @param string $filename
|
|
|
|
*
|
|
|
|
* @return null
|
|
|
|
*/
|
|
|
|
static protected function reRequireFile($filename)
|
|
|
|
{
|
|
|
|
if (function_exists('runkit_import')) {
|
|
|
|
$result = runkit_import(
|
|
|
|
$filename,
|
|
|
|
RUNKIT_IMPORT_FUNCTIONS |
|
|
|
|
RUNKIT_IMPORT_CLASS_METHODS |
|
|
|
|
RUNKIT_IMPORT_OVERRIDE
|
|
|
|
);
|
2013-01-12 20:22:01 +00:00
|
|
|
|
2014-02-15 18:57:49 +00:00
|
|
|
if (!$result) {
|
|
|
|
self::markTestSkipped("Failed to reimport file $filename");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2013-01-12 01:34:20 +00:00
|
|
|
}
|