Skip to content

Commit

Permalink
Allows setting a custom instance of the CssLintProperties helper
Browse files Browse the repository at this point in the history
  • Loading branch information
neilime committed Nov 8, 2019
1 parent 49552b0 commit 60dfe9c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
23 changes: 21 additions & 2 deletions src/CssLint/Linter.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,17 @@ class Linter
*/
protected $comment = false;

/**
* Constructor
* @param \CssLint\Properties $oProperties (optional) an instance of the "\CssLint\Properties" helper
*/
public function __construct(\CssLint\Properties $oProperties = null)
{
if ($oProperties) {
$this->setCssLintProperties($oProperties);
}
}

/**
* Performs lint on a given string
* @param string $sString
Expand Down Expand Up @@ -666,11 +677,19 @@ protected function setComment(bool $bComment): void
* Return an instance of the "\CssLint\Properties" helper, initialize a new one if not define already
* @return \CssLint\Properties
*/
public function getCssLintProperties(): Properties
public function getCssLintProperties(): \CssLint\Properties
{
if (!$this->cssLintProperties) {
$this->cssLintProperties = new \CssLint\Properties();
$this->setCssLintProperties(new \CssLint\Properties());
}
return $this->cssLintProperties;
}

/**
* Set an instance of the "\CssLint\Properties" helper
*/
public function setCssLintProperties(\CssLint\Properties $oCssLintProperties): void
{
$this->cssLintProperties = $oCssLintProperties;
}
}
2 changes: 1 addition & 1 deletion tests/.phpunit.result.cache
Original file line number Diff line number Diff line change
@@ -1 +1 @@
C:37:"PHPUnit\Runner\DefaultTestResultCache":1210:{a:2:{s:7:"defects";a:3:{s:54:"TestSuite\LinterTest::testLintStringWithWrongTypeParam";i:3;s:52:"TestSuite\LinterTest::testLintFileWithWrongTypeParam";i:3;s:57:"TestSuite\LinterTest::testLintFileWithUnkownFilePathParam";i:6;}s:5:"times";a:14:{s:41:"TestSuite\LinterTest::testLintValidString";d:0.016;s:44:"TestSuite\LinterTest::testLintNotValidString";d:0.002;s:59:"TestSuite\LinterTest::testLintStringWithUnterminatedContext";d:0;s:64:"TestSuite\LinterTest::testLintStringWithWrongSelectorDoubleComma";d:0;s:63:"TestSuite\LinterTest::testLintStringWithWrongSelectorDoubleHash";d:0;s:72:"TestSuite\LinterTest::testLintStringWithWrongPropertyNameUnexpectedToken";d:0.001;s:68:"TestSuite\LinterTest::testLintStringWithWrongSelectorUnexpectedToken";d:0;s:54:"TestSuite\LinterTest::testLintStringWithWrongTypeParam";d:0.001;s:52:"TestSuite\LinterTest::testLintFileWithWrongTypeParam";d:0;s:57:"TestSuite\LinterTest::testLintFileWithUnkownFilePathParam";d:0;s:46:"TestSuite\LinterTest::testLintBootstrapCssFile";d:2.773;s:47:"TestSuite\LinterTest::testLintFoundationCssFile";d:2.293;s:45:"TestSuite\LinterTest::testLintNotValidCssFile";d:0.012;s:58:"TestSuite\LinterTest::testLintFileWithUnknownFilePathParam";d:0;}}}
C:37:"PHPUnit\Runner\DefaultTestResultCache":1362:{a:2:{s:7:"defects";a:4:{s:54:"TestSuite\LinterTest::testLintStringWithWrongTypeParam";i:3;s:52:"TestSuite\LinterTest::testLintFileWithWrongTypeParam";i:3;s:57:"TestSuite\LinterTest::testLintFileWithUnkownFilePathParam";i:6;s:62:"TestSuite\LinterTest::testConstructWithCustomCssLintProperties";i:3;}s:5:"times";a:15:{s:41:"TestSuite\LinterTest::testLintValidString";d:0.009;s:44:"TestSuite\LinterTest::testLintNotValidString";d:0.002;s:59:"TestSuite\LinterTest::testLintStringWithUnterminatedContext";d:0;s:64:"TestSuite\LinterTest::testLintStringWithWrongSelectorDoubleComma";d:0;s:63:"TestSuite\LinterTest::testLintStringWithWrongSelectorDoubleHash";d:0;s:72:"TestSuite\LinterTest::testLintStringWithWrongPropertyNameUnexpectedToken";d:0.001;s:68:"TestSuite\LinterTest::testLintStringWithWrongSelectorUnexpectedToken";d:0;s:54:"TestSuite\LinterTest::testLintStringWithWrongTypeParam";d:0.001;s:52:"TestSuite\LinterTest::testLintFileWithWrongTypeParam";d:0;s:57:"TestSuite\LinterTest::testLintFileWithUnkownFilePathParam";d:0;s:46:"TestSuite\LinterTest::testLintBootstrapCssFile";d:2.749;s:47:"TestSuite\LinterTest::testLintFoundationCssFile";d:2.171;s:45:"TestSuite\LinterTest::testLintNotValidCssFile";d:0.008;s:58:"TestSuite\LinterTest::testLintFileWithUnknownFilePathParam";d:0;s:62:"TestSuite\LinterTest::testConstructWithCustomCssLintProperties";d:0.006;}}}
7 changes: 7 additions & 0 deletions tests/TestSuite/LinterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ protected function setUp() : void
$this->linter = new \CssLint\Linter();
}

public function testConstructWithCustomCssLintProperties()
{
$oProperties = new \CssLint\Properties();
$oLinter = new \CssLint\Linter($oProperties);
$this->assertSame($oProperties, $oLinter->getCssLintProperties());
}

public function testLintValidString()
{
$this->assertTrue($this->linter->lintString('.button.dropdown::after {
Expand Down

0 comments on commit 60dfe9c

Please sign in to comment.