xref: /dokuwiki/_test/tests/inc/styleutils_cssstyleini.test.php (revision 57538c4b146491cb553539c5ece730e461da87c5)
14593dbd2SAnna Dabrowska<?php
24593dbd2SAnna Dabrowska
34593dbd2SAnna Dabrowskaclass styleutils_cssstyleini_test extends DokuWikiTest {
44593dbd2SAnna Dabrowska
54593dbd2SAnna Dabrowska    function test_mergedstyleini() {
64593dbd2SAnna Dabrowska        $util = new \dokuwiki\StyleUtils('dokuwiki', false, true);
74593dbd2SAnna Dabrowska
84593dbd2SAnna Dabrowska        $expected = array (
94593dbd2SAnna Dabrowska            'stylesheets' =>
104593dbd2SAnna Dabrowska                array (
114593dbd2SAnna Dabrowska                    'screen' =>
124593dbd2SAnna Dabrowska                        array (
134593dbd2SAnna Dabrowska                            DOKU_CONF . 'tpl/dokuwiki/css/_tests.less' => '/./',
144593dbd2SAnna Dabrowska                            DOKU_INC . 'lib/tpl/dokuwiki/css/content.less' => '/./lib/tpl/dokuwiki/',
154593dbd2SAnna Dabrowska                        ),
164593dbd2SAnna Dabrowska                ),
174593dbd2SAnna Dabrowska            'replacements' =>
184593dbd2SAnna Dabrowska                array (
194593dbd2SAnna Dabrowska                    '__text__' => '#333',
204593dbd2SAnna Dabrowska                    '__background__' => '#f2ecec',
214593dbd2SAnna Dabrowska                    '__custom_variable__' => '#5e4040',
224593dbd2SAnna Dabrowska                    '__custom_variable_two__' => 'url(' . DOKU_BASE . 'test/foo.png)',
234593dbd2SAnna Dabrowska                ),
244593dbd2SAnna Dabrowska        );
254593dbd2SAnna Dabrowska
264593dbd2SAnna Dabrowska        $actual = $util->cssStyleini();
274593dbd2SAnna Dabrowska
284593dbd2SAnna Dabrowska        // check that all stylesheet levels are present
294593dbd2SAnna Dabrowska        $this->assertArrayHasKey('all', $actual['stylesheets']);
304593dbd2SAnna Dabrowska        $this->assertArrayHasKey('print', $actual['stylesheets']);
314593dbd2SAnna Dabrowska
324593dbd2SAnna Dabrowska        // check an original stylesheet and an additional one
33*57538c4bSAndreas Gohr        $this->assertEmpty(
34*57538c4bSAndreas Gohr            array_diff_assoc($expected['stylesheets']['screen'], $actual['stylesheets']['screen'])
35*57538c4bSAndreas Gohr        );
364593dbd2SAnna Dabrowska
374593dbd2SAnna Dabrowska        // merged config has an original value (text), an overridden value (background) and a new custom replacement (custom_variable)
38*57538c4bSAndreas Gohr        $this->assertEmpty(
39*57538c4bSAndreas Gohr            array_diff_assoc($expected['replacements'], $actual['replacements'])
40*57538c4bSAndreas Gohr        );
414593dbd2SAnna Dabrowska    }
424593dbd2SAnna Dabrowska}
43