Skip to content

SCSS compiler written in PHP (fork to support hierarchy tree imports)

License

Notifications You must be signed in to change notification settings

WildfireInternet/scssphp

 
 

Repository files navigation

scssphp

Build License

scssphp is a compiler for SCSS written in PHP.

Checkout the homepage, https://scssphp.github.io/scssphp, for directions on how to use.

Running Tests

scssphp uses PHPUnit for testing.

Run the following command from the root directory to run every test:

vendor/bin/phpunit tests

There are several tests in the tests/ directory:

  • ApiTest.php contains various unit tests that test the PHP interface.
  • ExceptionTest.php contains unit tests that test for exceptions thrown by the parser and compiler.
  • FailingTest.php contains tests reported in Github issues that demonstrate compatibility bugs.
  • InputTest.php compiles every .scss file in the tests/inputs directory then compares to the respective .css file in the tests/outputs directory.
  • ScssTest.php extracts (ruby) scss tests from the tests/scss_test.rb file.

When changing any of the tests in tests/inputs, the tests will most likely fail because the output has changed. Once you verify that the output is correct you can run the following command to rebuild all the tests:

BUILD=1 vendor/bin/phpunit tests

This will compile all the tests, and save results into tests/outputs.

To enable the scss compatibility tests:

TEST_SCSS_COMPAT=1 vendor/bin/phpunit tests

Coding Standard

scssphp source conforms to PSR12.

Run the following command from the root directory to check the code for "sniffs".

vendor/bin/phpcs --standard=PSR12 --extensions=php bin src tests *.php

About

SCSS compiler written in PHP (fork to support hierarchy tree imports)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • PHP 61.3%
  • CSS 29.2%
  • Ruby 9.3%
  • Other 0.2%