- Fix
require
with relative paths
- Pull ESM support out
- ospec: Test results now include
.message
and.context
regardless of whether the test passed or failed. (#2227 @robertakarobin)
- Add
spy.calls
array property to get thethis
andarguments
values for any arbitrary call. (#2221 @isiahmeadows) - Added
.throws
and.notThrows
assertions to ospec. (#2255 @robertakarobin) - Update
glob
dependency.
- Better input checking to prevent misuses of the library. Misues of the library will now throw errors, rather than report failures. This may uncover bugs in your test suites. Since it is potentially a disruptive update this change triggers a semver major bump. (#2167)
- Change the reserved character for hooks and test suite meta-information from
"__"
to"\x01"
. Tests whose name start with"\0x01"
will be rejected (#2167)
- Give async timeout a stack trace that points to the problematic test (#2154 @gilbert, #2167)
- deprecate the
timeout
parameter in async tests in favour ofo.timeout()
for setting the timeout delay. Thetimeout
parameter still works for v3, and will be removed in v4 (#2167) - add
o.defaultTimeout()
for setting the the timeout delay for the current spec and its children (#2167) - adds the possibility to select more than one test with o.only (#2171)
- Detect duplicate calls to
done()
properly #2162 (#2167) - Don't try to report internal errors as assertion failures, throw them instead (#2167)
- Don't ignore, silently, tests whose name start with the test suite meta-information sequence (was
"__"
up to this version) (#2167) - Fix the
done()
call detection logic #2158 and assorted fixes (accept non-English names, tolerate comments) (#2167) - Catch exceptions thrown in synchronous tests and report them as assertion failures (#2171)
- Fix a stack overflow when using
o.only()
with a large test suite (#2171)
- Pinpoint the
o.only()
call site (#2157) - Improved wording, spacing and color-coding of report messages and errors (#2147, @maranomynet)
- Added
--require
feature to the ospec executable (#2144, @gilbert) - In Node.js, ospec only uses colors when the output is sent to a terminal (#2143)
- the CLI runner now accepts globs as arguments (#2141, @maranomynet)
- Added support for custom reporters (#2020, @zyrolasting)
- Make ospec more Flems-friendly (#2034)
- Works either as a global or in CommonJS environments
- the o.run() report is always printed asynchronously (it could be synchronous before if none of the tests were async).
- Properly point to the assertion location of async errors #2036
- expose the default reporter as
o.report(results)
- Don't try to access the stack traces in IE9
- Identical to v1.4.0, but with UNIX-style line endings so that BASH is happy.
- Added support for async functions and promises in tests (#1928, @StephanHoyer)
- Error handling for async tests with
done
callbacks supports error as first argument (#1928) - Error messages which include newline characters do not swallow the stack trace #1495 (#1984, @RodericDay)
- Log using util.inspect to show object content instead of "[object Object]" (#1661, @porsager)
- Shell command: Ignore hidden directories and files (#1855 @pdfernhout))
- Library: Add the possibility to name new test suites (#1529)