xref: /dokuwiki/_test/tests/lib/exe/css_css_loadfile.test.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
1*f8369d7dSTobias Sarnowski<?php
2*f8369d7dSTobias Sarnowski
3*f8369d7dSTobias Sarnowskirequire_once DOKU_INC.'lib/exe/css.php';
4*f8369d7dSTobias Sarnowski
5*f8369d7dSTobias Sarnowskiclass css_css_loadfile_test extends DokuWikiTest {
6*f8369d7dSTobias Sarnowski    public function setUp() {
7*f8369d7dSTobias Sarnowski        $this->file = tempnam('/tmp', 'css');
8*f8369d7dSTobias Sarnowski    }
9*f8369d7dSTobias Sarnowski
10*f8369d7dSTobias Sarnowski    private function csstest($input, $output = null, $location = 'http://www.example.com/') {
11*f8369d7dSTobias Sarnowski        io_saveFile($this->file, $input);
12*f8369d7dSTobias Sarnowski        $this->assertEquals(css_loadfile($this->file, $location), (is_null($output) ? $input : $output));
13*f8369d7dSTobias Sarnowski    }
14*f8369d7dSTobias Sarnowski
15*f8369d7dSTobias Sarnowski    public function test_url_relative() {
16*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url("test/test.png"); }', '#test { background: url("http://www.example.com/test/test.png"); }');
17*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url(\'test/test.png\'); }', '#test { background: url(\'http://www.example.com/test/test.png\'); }');
18*f8369d7dSTobias Sarnowski    }
19*f8369d7dSTobias Sarnowski
20*f8369d7dSTobias Sarnowski    public function test_url_absolute() {
21*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url("/test/test.png"); }');
22*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url(\'/test/test.png\'); }');
23*f8369d7dSTobias Sarnowski    }
24*f8369d7dSTobias Sarnowski
25*f8369d7dSTobias Sarnowski    public function test_url_with_protocol() {
26*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url("http://www.test.com/test/test.png"); }');
27*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url("https://www.test.com/test/test.png"); }');
28*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url(\'http://www.test.com/test/test.png\'); }');
29*f8369d7dSTobias Sarnowski        $this->csstest('#test { background: url(\'https://www.test.com/test/test.png\'); }');
30*f8369d7dSTobias Sarnowski    }
31*f8369d7dSTobias Sarnowski
32*f8369d7dSTobias Sarnowski    public function test_import_relative() {
33*f8369d7dSTobias Sarnowski        $this->csstest('@import "test/test.png";', '@import "http://www.example.com/test/test.png";');
34*f8369d7dSTobias Sarnowski        $this->csstest('@import \'test/test.png\';', '@import \'http://www.example.com/test/test.png\';');
35*f8369d7dSTobias Sarnowski    }
36*f8369d7dSTobias Sarnowski
37*f8369d7dSTobias Sarnowski    public function test_import_absolute() {
38*f8369d7dSTobias Sarnowski        $this->csstest('@import "/test/test.png";');
39*f8369d7dSTobias Sarnowski        $this->csstest('@import \'/test/test.png\';');
40*f8369d7dSTobias Sarnowski    }
41*f8369d7dSTobias Sarnowski
42*f8369d7dSTobias Sarnowski    public function test_import_with_protocol() {
43*f8369d7dSTobias Sarnowski        $this->csstest('@import "http://www.test.com/test/test.png";');
44*f8369d7dSTobias Sarnowski        $this->csstest('@import "https://www.test.com/test/test.png";');
45*f8369d7dSTobias Sarnowski        $this->csstest('@import \'http://www.test.com/test/test.png\';');
46*f8369d7dSTobias Sarnowski        $this->csstest('@import \'https://www.test.com/test/test.png\';');
47*f8369d7dSTobias Sarnowski    }
48*f8369d7dSTobias Sarnowski
49*f8369d7dSTobias Sarnowski    public function tearDown() {
50*f8369d7dSTobias Sarnowski        unlink($this->file);
51*f8369d7dSTobias Sarnowski        unset($this->file);
52*f8369d7dSTobias Sarnowski    }
53*f8369d7dSTobias Sarnowski}
54*f8369d7dSTobias Sarnowski
55*f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 sw=4 :
56