- BREAKING: Update API for
runSass
, which now accepts two arguments: asassOptions
object and atrueOptions
object. - BREAKING: Drop support for node < 8
- Add docs and testing for usage with Jest #135
- Add
sass
option torunSass
for passing a different Sass implementation thannode-sass
#137 - Remove
node-sass
frompeerDependencies
- Fix deprecated use of
assert.fail
#138 - Update dev dependencies
- BREAKING: Move
node-sass
topeerDependencies
- Update dependencies
- Add JS coverage reporting
- NEW: Add
contains()
mixin for more minute output comparisons. Works the same asexpect()
, but doesn't require a complete match. - Update docs
- Dependency updates
- Update docs
- Update dependencies & release
- Added
describe
andit
mixins, as alias fortest-module
andtest
respectively. - Added
$inspect
argument toassert-equal
andassert-unequal
mixins, for comparinginspect($assert) == inspect($expected)
instead of$assert == $expected
. This helps with several of the equality edge-cases listed below (rounding and units). - BREAKING: No more Ruby gem or Ruby CLI
- BREAKING: No more bower package
- BREAKING: Removes special-handling of equality,
in favor of allowing Sass to determine the best comparisons.
There are a few edge-cases to be aware of:
- In some versions of Sass,
manipulated numbers and colors are compared without rounding,
so
1/3 != 0.333333
andlighten(#246, 15%) != #356a9f
. Use the$inspect
argument to compare rounded output values. - In all versions of Sass,
unitless numbers are considered comparable to all units,
so
1 == 1x
wherex
represents any unit. Use the$inspect
argument to compare output values with units. - Lists compare both values and delimiter,
so
(one two three) != (one, two, three)
. This can be particularly confusing for single-item lists, which still have a delimiter assigned, even though it is not used.
- In some versions of Sass,
manipulated numbers and colors are compared without rounding,
so
assert-true
returns false on empty strings and listsassert-false
returns true on empty strings and lists- Module/Test/Assertion stats are included in reports
- Output CSS context around Mocha parsing errors.
- Added
$fail-on-error
argument toreport()
mixin. Set totrue
if you need the Sass compiler to fail on broken tests. - Fix bug with
assert-false
causing it to fail onnull
values. - Allow unquoted descriptions and test/module names.
- Fix bug throwing off test-count and reporting.
- Fix default assertion messages
- Upgrade dependencies
- Fixes debug inspector.
- Improve internal logic, and namespace private functions behind
_true-*
. - Add
assert()
,input
, andexpect
mixins for testing CSS output. - Support for LibSass.
- Add Mocha JS integration. — Create NPM package.
- Simplify output options down to single
$true-terminal-output
setting. - Add eyeglass support.
- LibSass 3.0 compatability.
- Add command-line interface:
true-cli <path-to-file>
- Use
-s
flag for silent output - Check for unit differences between numbers.
- Add assertion-failure details to css output.
- Simplified reporting in both terminal and CSS.
- Remove
default-module-output
,$default-test-output
and$default-final-output
. Replace them with$true
settings map:(output: css, summary: terminal css)
.output
handles test/module output,summary
handles final output. Assertions are always output to the terminal if they fail. - Update to use Sass map variables.
- Add
report
function andreport
mixin, for reporting final results. - Only register as a compass extension if compass is present. Compass is no longer an explicit dependency.
- Adjust the output styles to work with Sass 3.4 and have more visual consistency.
- Append actual results to custom failure messages.
- Null result is considered a failure.
- Allow output to be turned off for certain modules/tests/assertions.
- Nest assertions within
test() {}
named tests. - Cleaner css output.
- Use nesting for modules with
test-module() {}
- Added failure message argument to all assertions.
- Fix bug in
lib/true.rb
compass plugin registration.
assert-true()
,assert-false()
,assert-equal()
, andassert-unequal()
.pass()
andfail()
for tracking and reporting individual results.start-test-module()
andreport-test-results()
for module results.- Includes tests of the testing tools!