aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ThemeUtilsTest.php
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2017-01-03 12:01:25 +0100
committerArthurHoaro <arthur@hoa.ro>2017-01-05 16:16:27 +0100
commit04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2 (patch)
tree20c99e86f3fc862f90d3d7475f4a49b89557a7d4 /tests/ThemeUtilsTest.php
parenta0df06517bada0f811b464017ce385290e02c2bf (diff)
downloadShaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.tar.gz
Shaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.tar.zst
Shaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.zip
Updater: keep custom theme preference with the new theme setting
Diffstat (limited to 'tests/ThemeUtilsTest.php')
-rw-r--r--tests/ThemeUtilsTest.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/ThemeUtilsTest.php b/tests/ThemeUtilsTest.php
new file mode 100644
index 00000000..e44564be
--- /dev/null
+++ b/tests/ThemeUtilsTest.php
@@ -0,0 +1,55 @@
1<?php
2
3namespace Shaarli;
4
5/**
6 * Class ThemeUtilsTest
7 *
8 * @package Shaarli
9 */
10class ThemeUtilsTest extends \PHPUnit_Framework_TestCase
11{
12 /**
13 * Test getThemes() with existing theme directories.
14 */
15 public function testGetThemes()
16 {
17 $themes = ['theme1', 'default', 'Bl1p_- bL0p'];
18 foreach ($themes as $theme) {
19 mkdir('sandbox/tpl/'. $theme, 0755, true);
20 }
21
22 // include a file which should be ignored
23 touch('sandbox/tpl/supertheme');
24
25 $res = ThemeUtils::getThemes('sandbox/tpl/');
26 foreach ($res as $theme) {
27 $this->assertTrue(in_array($theme, $themes));
28 }
29 $this->assertFalse(in_array('supertheme', $res));
30
31 foreach ($themes as $theme) {
32 rmdir('sandbox/tpl/'. $theme);
33 }
34 unlink('sandbox/tpl/supertheme');
35 rmdir('sandbox/tpl');
36 }
37
38 /**
39 * Test getThemes() without any theme dir.
40 */
41 public function testGetThemesEmpty()
42 {
43 mkdir('sandbox/tpl/', 0755, true);
44 $this->assertEquals([], ThemeUtils::getThemes('sandbox/tpl/'));
45 rmdir('sandbox/tpl/');
46 }
47
48 /**
49 * Test getThemes() with an invalid path.
50 */
51 public function testGetThemesInvalid()
52 {
53 $this->assertEquals([], ThemeUtils::getThemes('nope'));
54 }
55}