xref: /dokuwiki/_test/tests/inc/styleutils_cssstyleini.test.php (revision 4593dbd2856db337dc8104c2a5e0dcbe4e7f84e1)
1*4593dbd2SAnna Dabrowska<?php
2*4593dbd2SAnna Dabrowska
3*4593dbd2SAnna Dabrowskaclass styleutils_cssstyleini_test extends DokuWikiTest {
4*4593dbd2SAnna Dabrowska
5*4593dbd2SAnna Dabrowska    function test_mergedstyleini() {
6*4593dbd2SAnna Dabrowska        $util = new \dokuwiki\StyleUtils('dokuwiki', false, true);
7*4593dbd2SAnna Dabrowska
8*4593dbd2SAnna Dabrowska        $expected = array (
9*4593dbd2SAnna Dabrowska            'stylesheets' =>
10*4593dbd2SAnna Dabrowska                array (
11*4593dbd2SAnna Dabrowska                    'screen' =>
12*4593dbd2SAnna Dabrowska                        array (
13*4593dbd2SAnna Dabrowska                            DOKU_CONF . 'tpl/dokuwiki/css/_tests.less' => '/./',
14*4593dbd2SAnna Dabrowska                            DOKU_INC . 'lib/tpl/dokuwiki/css/content.less' => '/./lib/tpl/dokuwiki/',
15*4593dbd2SAnna Dabrowska                        ),
16*4593dbd2SAnna Dabrowska                ),
17*4593dbd2SAnna Dabrowska            'replacements' =>
18*4593dbd2SAnna Dabrowska                array (
19*4593dbd2SAnna Dabrowska                    '__text__' => '#333',
20*4593dbd2SAnna Dabrowska                    '__background__' => '#f2ecec',
21*4593dbd2SAnna Dabrowska                    '__custom_variable__' => '#5e4040',
22*4593dbd2SAnna Dabrowska                    '__custom_variable_two__' => 'url(' . DOKU_BASE . 'test/foo.png)',
23*4593dbd2SAnna Dabrowska                ),
24*4593dbd2SAnna Dabrowska        );
25*4593dbd2SAnna Dabrowska
26*4593dbd2SAnna Dabrowska        $actual = $util->cssStyleini();
27*4593dbd2SAnna Dabrowska
28*4593dbd2SAnna Dabrowska        // check that all stylesheet levels are present
29*4593dbd2SAnna Dabrowska        $this->assertArrayHasKey('all', $actual['stylesheets']);
30*4593dbd2SAnna Dabrowska        $this->assertArrayHasKey('print', $actual['stylesheets']);
31*4593dbd2SAnna Dabrowska
32*4593dbd2SAnna Dabrowska        // check an original stylesheet and an additional one
33*4593dbd2SAnna Dabrowska        $this->assertArraySubset($expected['stylesheets']['screen'], $actual['stylesheets']['screen']);
34*4593dbd2SAnna Dabrowska
35*4593dbd2SAnna Dabrowska        // merged config has an original value (text), an overridden value (background) and a new custom replacement (custom_variable)
36*4593dbd2SAnna Dabrowska        $this->assertArraySubset($expected['replacements'], $actual['replacements']);
37*4593dbd2SAnna Dabrowska    }
38*4593dbd2SAnna Dabrowska}
39