mirror of
https://github.com/pezkuwichain/pezkuwi-dev.git
synced 2026-10-22 11:46:18 +00:00
.toEqual compared with assert.deepEqual and never looked at matchers, so expect(x).toEqual(expect.arrayContaining(...)) or .toEqual(expect.stringContaining(...)) always failed; matchers only worked inside toHaveBeenCalledWith. arrayContaining was also typed to take a string and checked value.includes(theWholeArray). .toEqual (and .not.toEqual) now apply matchers wherever they appear in the expected value, with the previous deepEqual unchanged when there are none; arrayContaining asserts that every expected entry equals (or matches) one of the array's entries. Seven new cases; with the old .toEqual six of them fail.
@pezkuwi/dev-test
This is a very basic Jest-compatible environment that could be used alongside tests. The need for this came from replacing Jest with node --test without rewriting all assertions.
It provides the following -
- Browser
window,document,navigator(see usage for browser-specific path) jestfunctions, specificallyspyOn(not comprehensive, some will error, some witll noop)expectfunctions (not comprehensive, caters for specific pezkuwi-js usage)
Usage
On thing to note is that node:test is still rapidly evolving - this includes the APIs and features. As such this requires at least Node 18.14, however 18.15+ is recommended.
The entry points are different based on the environment you would like to operate in. For a browser-like environment,
node --require @pezkuwi/dev-test/browser ...
or for a basic describe/expect/jest-only global environment
node --require @pezkuwi/dev-test/node ...
The ... above indicates any additional Node options, for instance a full command could be -
node --require @pezkuwi/dev-test/node --test something.test.js