aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ApplicationUtilsTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ApplicationUtilsTest.php')
-rw-r--r--tests/ApplicationUtilsTest.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/ApplicationUtilsTest.php b/tests/ApplicationUtilsTest.php
index a232b351..ac46cbf1 100644
--- a/tests/ApplicationUtilsTest.php
+++ b/tests/ApplicationUtilsTest.php
@@ -340,6 +340,35 @@ class ApplicationUtilsTest extends \Shaarli\TestCase
340 } 340 }
341 341
342 /** 342 /**
343 * Checks resource permissions in minimal mode.
344 */
345 public function testCheckCurrentResourcePermissionsErrorsMinimalMode(): void
346 {
347 $conf = new ConfigManager('');
348 $conf->set('resource.thumbnails_cache', 'null/cache');
349 $conf->set('resource.config', 'null/data/config.php');
350 $conf->set('resource.data_dir', 'null/data');
351 $conf->set('resource.datastore', 'null/data/store.php');
352 $conf->set('resource.ban_file', 'null/data/ipbans.php');
353 $conf->set('resource.log', 'null/data/log.txt');
354 $conf->set('resource.page_cache', 'null/pagecache');
355 $conf->set('resource.raintpl_tmp', 'null/tmp');
356 $conf->set('resource.raintpl_tpl', 'null/tpl');
357 $conf->set('resource.raintpl_theme', 'null/tpl/default');
358 $conf->set('resource.update_check', 'null/data/lastupdatecheck.txt');
359
360 static::assertSame(
361 [
362 '"null/tpl" directory is not readable',
363 '"null/tpl/default" directory is not readable',
364 '"null/tmp" directory is not readable',
365 '"null/tmp" directory is not writable'
366 ],
367 ApplicationUtils::checkResourcePermissions($conf, true)
368 );
369 }
370
371 /**
343 * Check update with 'dev' as curent version (master branch). 372 * Check update with 'dev' as curent version (master branch).
344 * It should always return false. 373 * It should always return false.
345 */ 374 */
@@ -349,4 +378,37 @@ class ApplicationUtilsTest extends \Shaarli\TestCase
349 ApplicationUtils::checkUpdate('dev', self::$testUpdateFile, 100, true, true) 378 ApplicationUtils::checkUpdate('dev', self::$testUpdateFile, 100, true, true)
350 ); 379 );
351 } 380 }
381
382 /**
383 * Basic test of getPhpExtensionsRequirement()
384 */
385 public function testGetPhpExtensionsRequirementSimple(): void
386 {
387 static::assertCount(8, ApplicationUtils::getPhpExtensionsRequirement());
388 static::assertSame([
389 'name' => 'json',
390 'required' => true,
391 'desc' => 'Configuration parsing',
392 'loaded' => true,
393 ], ApplicationUtils::getPhpExtensionsRequirement()[0]);
394 }
395
396 /**
397 * Test getPhpEol with a known version: 7.4 -> 2022
398 */
399 public function testGetKnownPhpEol(): void
400 {
401 static::assertSame('2022-11-28', ApplicationUtils::getPhpEol('7.4.7'));
402 }
403
404 /**
405 * Test getPhpEol with an unknown version: 7.4 -> 2022
406 */
407 public function testGetUnknownPhpEol(): void
408 {
409 static::assertSame(
410 (((int) (new \DateTime())->format('Y')) + 2) . (new \DateTime())->format('-m-d'),
411 ApplicationUtils::getPhpEol('7.51.34')
412 );
413 }
352} 414}