PluginProbe
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 3.2.5
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v3.2.5
4.7.0 4.6.1 4.6.0 4.5.5 4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 All 111 releases
wp-optimize / vendor / kriswallsmith / assetic / tests / Assetic / Test / Util / LessUtilsTest.php

LessUtilsTest.php in WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance 3.2.5, at vendor/kriswallsmith/assetic/tests/Assetic/Test/Util/LessUtilsTest.php

99 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Assetic package, an OpenSky project.
5 *
6 * (c) 2010-2014 OpenSky Project Inc
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Assetic\Test\Util;
13
14 use Assetic\Util\LessUtils;
15
16 class LessUtilsTest extends \PHPUnit_Framework_TestCase
17 {
18 public function testFilterUrls()
19 {
20 $content = 'body { background: url(../images/bg.gif); }';
21
22 $matches = array();
23 $actual = LessUtils::filterUrls($content, function ($match) use (&$matches) {
24 $matches[] = $match['url'];
25 });
26
27 $this->assertEquals(array('../images/bg.gif'), $matches);
28 }
29
30 public function testExtractImports()
31 {
32 // These don't work yet (todo):
33 // @import url("fineprint.css") print;
34 // @import url("bluish.css") projection, tv;
35 // @import url('landscape.css') screen and (orientation:landscape);
36
37 $content = <<<CSS
38 @import 'custom.css';
39 @import "common.css" screen, projection;
40 body { background: url(../images/bg.gif); }
41 CSS;
42
43 $expected = array('common.css', 'custom.css');
44 $actual = LessUtils::extractImports($content);
45
46 $this->assertEquals($expected, array_intersect($expected, $actual), '::extractImports() returns all expected URLs');
47 $this->assertEquals(array(), array_diff($actual, $expected), '::extractImports() does not return unexpected URLs');
48 }
49
50 public function testFilterCommentless()
51 {
52 $content = 'A/*B*/C/*D*/E';
53
54 $filtered = '';
55 $result = LessUtils::filterCommentless($content, function ($part) use (&$filtered) {
56 $filtered .= $part;
57
58 return $part;
59 });
60
61 $this->assertEquals('ACE', $filtered);
62 $this->assertEquals($content, $result);
63 }
64
65 public function testFilterCommentlessLess()
66 {
67 $content = "ACE // foo /* bar */\nbla";
68
69 $filtered = '';
70 $result = LessUtils::filterCommentless($content, function ($part) use (&$filtered) {
71 $filtered .= $part;
72
73 return $part;
74 });
75
76 $this->assertEquals("ACE \nbla", $filtered);
77 $this->assertEquals($content, $result);
78 }
79
80 public function testExtractImportsWithOption()
81 {
82 $content = <<<LESS
83 @import () "empty";
84 @import (reference) "foo.less";
85 @import (inline) "not-less-compatible.css";
86 @import (less) "foo.css";
87 @import (css) "bar.less";
88 @import (once) "once.less";
89 @import (once) url("once_with_url.less");
90 LESS;
91
92 $expected = array('empty', 'foo.less', 'not-less-compatible.css', 'foo.css', 'bar.less', 'once.less', 'once_with_url.less');
93 $actual = LessUtils::extractImports($content);
94
95 $this->assertEquals($expected, array_intersect($expected, $actual), '::extractImports() returns all expected URLs');
96 $this->assertEquals(array(), array_diff($actual, $expected), '::extractImports() does not return unexpected URLs');
97 }
98 }
99