Ejemplo n.º 1
0
 public function testFilterCommentlessLess()
 {
     $content = "ACE // foo /* bar */\nbla";
     $filtered = '';
     $result = LessUtils::filterCommentless($content, function ($part) use(&$filtered) {
         $filtered .= $part;
         return $part;
     });
     $this->assertEquals("ACE \nbla", $filtered);
     $this->assertEquals($content, $result);
 }
Ejemplo n.º 2
0
    public function testExtractImportsWithOption()
    {
        $content = <<<LESS
@import () "empty";
@import (reference) "foo.less";
@import (inline) "not-less-compatible.css";
@import (less) "foo.css";
@import (css) "bar.less";
@import (once) "once.less";
@import (once) url("once_with_url.less");
LESS;
        $expected = array('empty', 'foo.less', 'not-less-compatible.css', 'foo.css', 'bar.less', 'once.less', 'once_with_url.less');
        $actual = LessUtils::extractImports($content);
        $this->assertEquals($expected, array_intersect($expected, $actual), '::extractImports() returns all expected URLs');
        $this->assertEquals(array(), array_diff($actual, $expected), '::extractImports() does not return unexpected URLs');
    }
Ejemplo n.º 3
0
 public function getChildren(AssetFactory $factory, $content, $loadPath = null)
 {
     $loadPaths = $this->loadPaths;
     if (null !== $loadPath) {
         $loadPaths[] = $loadPath;
     }
     if (empty($loadPaths)) {
         return array();
     }
     $children = array();
     foreach (LessUtils::extractImports($content) as $reference) {
         if ('.css' === substr($reference, -4)) {
             // skip normal css imports
             // todo: skip imports with media queries
             continue;
         }
         if ('.less' !== substr($reference, -5)) {
             $reference .= '.less';
         }
         foreach ($loadPaths as $loadPath) {
             if (file_exists($file = $loadPath . '/' . $reference)) {
                 $coll = $factory->createAsset($file, array(), array('root' => $loadPath));
                 foreach ($coll as $leaf) {
                     $leaf->ensureFilter($this);
                     $children[] = $leaf;
                     goto next_reference;
                 }
             }
         }
         next_reference:
     }
     return $children;
 }