From: Roland Häder Date: Tue, 19 Nov 2024 12:07:39 +0000 (+0100) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=9b910ca2ccf538f547300dff84a0fb1c1fe0a34b;p=core.git Continued: - sorted .gitignore file - ported files towards newer PHPUnit version --- diff --git a/.gitignore b/.gitignore index 6e253c37..3da63340 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,56 @@ +# Patches and log files in root directory /*.log /*.diff /*.path + +# Generated files /contrib/chash/chash.pos /contrib/lfdb2/*.bin* /contrib/lfdb2/*.out* + +# Generated mindmap files /contrib/mindmaps/*.png /contrib/mindmaps/*.svg + +# Global local configuration file /inc/config/config-local.php + +# Private aka. "local" NetBeans files /nbproject/private/* + +# Cached/"compiled" tempaltes /templates/_compiled/*.* /templates/images/_cache/*.* + +# Backup files *.*~ -/.cache -/.project -/.settings + +# Local configuration files are never committed /application/*/config-local.php + +# Database files are always ignored /db/*/*.serialized + +# Generated documentation files are being regenerated /docs/html/* /docs/latex/* -/docs/warn.log + +# Any log files +/docs/*.log + +# Generates reports should be ignored /reports/ + +# Vendor directories should never be committed /vendor/ + +# Local settings for PHPUnit /phpunit.xml + +# Local cache files by PHPUnit +/.*.cache + +# ??? +/.cache +/.project +/.settings diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 48142e8e..8c7b3b3c 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,6 +1,7 @@ - - + ./tests/ diff --git a/tests/framework/bootstrap/FrameworkBootstrapTest.php b/tests/framework/bootstrap/FrameworkBootstrapTest.php new file mode 100644 index 00000000..e577b17c --- /dev/null +++ b/tests/framework/bootstrap/FrameworkBootstrapTest.php @@ -0,0 +1,239 @@ +. + */ +class FrameworkBootstrapTest extends TestCase { + + /** + * Own IP address + */ + private static $ipAddress = '0.0.0.0'; + + /** + * Own host name + */ + private static $hostname = 'host.invalid'; + + /** + * Setup test case + * + * @return void + */ + public function setUp(): void { + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + + // Call parent method + parent::setUp(); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); + } + + /** + * Setup test case + * + * @return void + */ + public static function setUpBeforeClass(): void { + // Call parent method + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + parent::setUpBeforeClass(); + + // Lookup own hostname + self::$hostname = ConsoleTools::acquireHostname(); + + // Lookup own IP address + self::$ipAddress = ConsoleTools::acquireSelfIpAddress(); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: self::ipAddress[%s]=%s,self::hostname=%s - EXIT!' . PHP_EOL, __METHOD__, __LINE__, gettype(self::$ipAddress), self::$ipAddress, self::$hostname); + } + + /** + * Tests setting an empty default timezone + */ + public function testSettingEmptyDefaultTimezone () { + // Will throw this exception + $this->expectException(InvalidArgumentException::class); + + // Test it + FrameworkBootstrap::setDefaultTimezone(''); + } + + /** + * Tests setting invalid timezone + */ + public function testSettingInvalidDefaultTimezone () { + // Expect Notice + $this->expectException(Notice::class); + + // Try to set it + FrameworkBootstrap::setDefaultTimezone('!invalid!'); + } + + /** + * Tests setting valid timezone + */ + public function testSettingValidDefaultTimezone () { + // Will be true + $this->assertTrue(FrameworkBootstrap::setDefaultTimezone('Europe/Berlin')); + } + + /** + * Tests if detectServerAddress() is returning what it should for tests. + * This will always be 127.0.0.1. + */ + public function testBootstrapDetectServerAddress () { + // Call it + $serverAddress = FrameworkBootstrap::detectServerAddress(); + + // Should be the same + $this->assertEquals(self::$ipAddress, $serverAddress); + } + + /** + * Re-tests if detectServerAddress() is returning what it should for tests. + * This will always be 127.0.0.1. This method should not invoke + * ConsoleTools's method as the configuration entry is already cached. + */ + public function testBootstrapDetectServerAddressCached () { + // Call it + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + $serverAddress = FrameworkBootstrap::detectServerAddress(); + + // Should be the same + //* NOISY-DEBUG: */ printf('[%s:%d]: self::ipAddress=%s,serverAddress=%s' . PHP_EOL, __METHOD__, __LINE__, self::$ipAddress, $serverAddress); + $this->assertEquals(self::$ipAddress, $serverAddress); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); + } + + /** + * Tests method BootstrapFramework::isReachableFilePath() with a + * non-existing path. $isReachable should always return TRUE as nothing is + * restricting PHP. + */ + public function testBootstrapIsReachableFilePathUnrestrictedNotExisting () { + // Init SPL file info instance + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + $infoInstance = new SplFileInfo('/does/not/exist/'); + + // Invoke method + //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); + $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); + + // Test if it is not reachable + //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); + $this->assertTrue($isReachable, 'Returned true on a non-existing path'); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); + } + + /** + * Tests method BootstrapFramework::isReachableFilePath() with a + * non-existing path. $isReachable should be FALSE here as it is always + * outside the scope of open_basedir. + */ + public function testBootstrapIsReachableFilePathRestrictedNotExisting () { + // Init SPL file info instance + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + $infoInstance = new SplFileInfo('/does/not/exist/'); + + // "Detect" root path + //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); + $rootScriptPath = realpath(dirname(dirname(FrameworkBootstrap::detectScriptPath()))); + + // Set it + //* NOISY-DEBUG: */ printf('[%s:%d]: open_basedir=%s,rootScriptPath[%s]=%s' . PHP_EOL, __METHOD__, __LINE__, ini_get('open_basedir'), gettype($rootScriptPath), $rootScriptPath); + $result = ini_set('open_basedir', $rootScriptPath . ':/etc/'); + + // Was it set? + //* NOISY-DEBUG: */ printf('[%s:%d]: result[]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($result)); + if ($result === FALSE) { + // Didn't work + $this->failed(sprintf('Cannot set open_basepath=%s', $rootScriptPath)); + } + + // Invoke method + //* NOISY-DEBUG: */ printf('[%s:%d]: Testing method FrameworkBootstrap::isReachableFilePath(%s) ...' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); + $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); + + // Test if + //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d - Testing method ...' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); + $this->assertTrue(!$isReachable, 'Returned true on a non-existing path'); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); + } + + /** + * Tests method BootstrapFramework::isReachableFilePath() with an + * existing path. $isReachable should be TRUE here as it is within the scope + * of open_basedir. + */ + public function testBootstrapIsReachableFilePathRestrictedExisting () { + // Init SPL file info instance + //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); + $infoInstance = new SplFileInfo(__DIR__); + + // "Detect" root path + //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); + $rootScriptPath = realpath(dirname(dirname(FrameworkBootstrap::detectScriptPath()))); + + // Set it + //* NOISY-DEBUG: */ printf('[%s:%d]: rootScriptPath[%s]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($rootScriptPath), $rootScriptPath); + $result = ini_set('open_basedir', $rootScriptPath . ':/etc/'); + + // Was it set? + //* NOISY-DEBUG: */ printf('[%s:%d]: result[]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($result)); + if ($result === FALSE) { + // Didn't work + $this->failed(sprintf('Cannot set open_basepath=%s', $rootScriptPath)); + } + + // Invoke method + //* NOISY-DEBUG: */ printf('[%s:%d]: Testing method FrameworkBootstrap::isReachableFilePath(%s) ...' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); + $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); + + // Test if + //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d - Testing method ...' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); + $this->assertTrue($isReachable, 'Returned true on a non-existing path'); + + // Trace message + //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); + } + +} diff --git a/tests/framework/bootstrap/class_FrameworkBootstrapTest.php b/tests/framework/bootstrap/class_FrameworkBootstrapTest.php deleted file mode 100644 index 9d3645bf..00000000 --- a/tests/framework/bootstrap/class_FrameworkBootstrapTest.php +++ /dev/null @@ -1,235 +0,0 @@ -. - */ -class FrameworkBootstrapTest extends TestCase { - - /** - * Own IP address - */ - private static $ipAddress = '0.0.0.0'; - - /** - * Own host name - */ - private static $hostname = 'host.invalid'; - - /** - * Setup test case - */ - public function setUp() { - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - - // Call parent method - parent::setUp(); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); - } - - /** - * Setup test case - */ - public static function setUpBeforeClass() { - // Call parent method - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - parent::setUpBeforeClass(); - - // Lookup own hostname - self::$hostname = ConsoleTools::acquireHostname(); - - // Lookup own IP address - self::$ipAddress = ConsoleTools::acquireSelfIpAddress(); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: self::ipAddress[%s]=%s,self::hostname=%s - EXIT!' . PHP_EOL, __METHOD__, __LINE__, gettype(self::$ipAddress), self::$ipAddress, self::$hostname); - } - - /** - * Tests setting an empty default timezone - */ - public function testSettingEmptyDefaultTimezone () { - // Will throw this exception - $this->expectException(InvalidArgumentException::class); - - // Test it - FrameworkBootstrap::setDefaultTimezone(''); - } - - /** - * Tests setting invalid timezone - */ - public function testSettingInvalidDefaultTimezone () { - // Expect Notice - $this->expectException(Notice::class); - - // Try to set it - FrameworkBootstrap::setDefaultTimezone('!invalid!'); - } - - /** - * Tests setting valid timezone - */ - public function testSettingValidDefaultTimezone () { - // Will be true - $this->assertTrue(FrameworkBootstrap::setDefaultTimezone('Europe/Berlin')); - } - - /** - * Tests if detectServerAddress() is returning what it should for tests. - * This will always be 127.0.0.1. - */ - public function testBootstrapDetectServerAddress () { - // Call it - $serverAddress = FrameworkBootstrap::detectServerAddress(); - - // Should be the same - $this->assertEquals(self::$ipAddress, $serverAddress); - } - - /** - * Re-tests if detectServerAddress() is returning what it should for tests. - * This will always be 127.0.0.1. This method should not invoke - * ConsoleTools's method as the configuration entry is already cached. - */ - public function testBootstrapDetectServerAddressCached () { - // Call it - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - $serverAddress = FrameworkBootstrap::detectServerAddress(); - - // Should be the same - //* NOISY-DEBUG: */ printf('[%s:%d]: self::ipAddress=%s,serverAddress=%s' . PHP_EOL, __METHOD__, __LINE__, self::$ipAddress, $serverAddress); - $this->assertEquals(self::$ipAddress, $serverAddress); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); - } - - /** - * Tests method BootstrapFramework::isReachableFilePath() with a - * non-existing path. $isReachable should always return TRUE as nothing is - * restricting PHP. - */ - public function testBootstrapIsReachableFilePathUnrestrictedNotExisting () { - // Init SPL file info instance - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - $infoInstance = new SplFileInfo('/does/not/exist/'); - - // Invoke method - //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); - $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); - - // Test if it is not reachable - //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); - $this->assertTrue($isReachable, 'Returned true on a non-existing path'); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); - } - - /** - * Tests method BootstrapFramework::isReachableFilePath() with a - * non-existing path. $isReachable should be FALSE here as it is always - * outside the scope of open_basedir. - */ - public function testBootstrapIsReachableFilePathRestrictedNotExisting () { - // Init SPL file info instance - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - $infoInstance = new SplFileInfo('/does/not/exist/'); - - // "Detect" root path - //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); - $rootScriptPath = realpath(dirname(dirname(FrameworkBootstrap::detectScriptPath()))); - - // Set it - //* NOISY-DEBUG: */ printf('[%s:%d]: open_basedir=%s,rootScriptPath[%s]=%s' . PHP_EOL, __METHOD__, __LINE__, ini_get('open_basedir'), gettype($rootScriptPath), $rootScriptPath); - $result = ini_set('open_basedir', $rootScriptPath . ':/etc/'); - - // Was it set? - //* NOISY-DEBUG: */ printf('[%s:%d]: result[]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($result)); - if ($result === FALSE) { - // Didn't work - $this->failed(sprintf('Cannot set open_basepath=%s', $rootScriptPath)); - } - - // Invoke method - //* NOISY-DEBUG: */ printf('[%s:%d]: Testing method FrameworkBootstrap::isReachableFilePath(%s) ...' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); - $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); - - // Test if - //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d - Testing method ...' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); - $this->assertTrue(!$isReachable, 'Returned true on a non-existing path'); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); - } - - /** - * Tests method BootstrapFramework::isReachableFilePath() with an - * existing path. $isReachable should be TRUE here as it is within the scope - * of open_basedir. - */ - public function testBootstrapIsReachableFilePathRestrictedExisting () { - // Init SPL file info instance - //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); - $infoInstance = new SplFileInfo(__DIR__); - - // "Detect" root path - //* NOISY-DEBUG: */ printf('[%s:%d]: infoInstance=%s' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); - $rootScriptPath = realpath(dirname(dirname(FrameworkBootstrap::detectScriptPath()))); - - // Set it - //* NOISY-DEBUG: */ printf('[%s:%d]: rootScriptPath[%s]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($rootScriptPath), $rootScriptPath); - $result = ini_set('open_basedir', $rootScriptPath . ':/etc/'); - - // Was it set? - //* NOISY-DEBUG: */ printf('[%s:%d]: result[]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($result)); - if ($result === FALSE) { - // Didn't work - $this->failed(sprintf('Cannot set open_basepath=%s', $rootScriptPath)); - } - - // Invoke method - //* NOISY-DEBUG: */ printf('[%s:%d]: Testing method FrameworkBootstrap::isReachableFilePath(%s) ...' . PHP_EOL, __METHOD__, __LINE__, get_class($infoInstance)); - $isReachable = FrameworkBootstrap::isReachableFilePath($infoInstance); - - // Test if - //* NOISY-DEBUG: */ printf('[%s:%d]: isReachable=%d - Testing method ...' . PHP_EOL, __METHOD__, __LINE__, intval($isReachable)); - $this->assertTrue($isReachable, 'Returned true on a non-existing path'); - - // Trace message - //* NOISY-DEBUG: */ printf('[%s:%d]: EXIT!' . PHP_EOL, __METHOD__, __LINE__); - } - -} diff --git a/tests/framework/config/FrameworkConfigurationTest.php b/tests/framework/config/FrameworkConfigurationTest.php index 2bc7b0fb..9fde0e90 100644 --- a/tests/framework/config/FrameworkConfigurationTest.php +++ b/tests/framework/config/FrameworkConfigurationTest.php @@ -41,8 +41,10 @@ class FrameworkConfigurationTest extends TestCase { /** * Setup test case + * + * @return void */ - public function setUp() { + public function setUp(): void { // Trace message //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); @@ -56,8 +58,10 @@ class FrameworkConfigurationTest extends TestCase { /** * Setup test case + * + * @return void */ - public static function setUpBeforeClass() { + public static function setUpBeforeClass(): void { // Trace message //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__);