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