64 lines
1.4 KiB
PHP
64 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* This file is part of the Assetic package, an OpenSky project.
|
||
|
*
|
||
|
* (c) 2010-2012 OpenSky Project Inc
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Assetic\Test\Filter;
|
||
|
|
||
|
use Assetic\Asset\FileAsset;
|
||
|
use Assetic\Asset\StringAsset;
|
||
|
use Assetic\Filter\LessFilter;
|
||
|
|
||
|
/**
|
||
|
* @group integration
|
||
|
*/
|
||
|
class LessFilterTest extends \PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
private $filter;
|
||
|
|
||
|
protected function setUp()
|
||
|
{
|
||
|
if (!isset($_SERVER['NODE_BIN']) || !isset($_SERVER['NODE_PATH'])) {
|
||
|
$this->markTestSkipped('No node.js configuration.');
|
||
|
}
|
||
|
|
||
|
$this->filter = new LessFilter($_SERVER['NODE_BIN'], array($_SERVER['NODE_PATH']));
|
||
|
}
|
||
|
|
||
|
public function testFilterLoad()
|
||
|
{
|
||
|
$asset = new StringAsset('.foo{.bar{width:1+1;}}');
|
||
|
$asset->load();
|
||
|
|
||
|
$this->filter->filterLoad($asset);
|
||
|
|
||
|
$this->assertEquals(".foo .bar {\n width: 2;\n}\n", $asset->getContent(), '->filterLoad() parses the content');
|
||
|
}
|
||
|
|
||
|
public function testImport()
|
||
|
{
|
||
|
$expected = <<<EOF
|
||
|
.foo {
|
||
|
color: blue;
|
||
|
}
|
||
|
.foo {
|
||
|
color: red;
|
||
|
}
|
||
|
|
||
|
EOF;
|
||
|
|
||
|
$asset = new FileAsset(__DIR__.'/fixtures/less/main.less');
|
||
|
$asset->load();
|
||
|
|
||
|
$this->filter->filterLoad($asset);
|
||
|
|
||
|
$this->assertEquals($expected, $asset->getContent(), '->filterLoad() sets an include path based on source url');
|
||
|
}
|
||
|
}
|