mirror of
https://github.com/pezkuwichain/pezkuwi-dev.git
synced 2026-10-22 03:36:18 +00:00
The browser environment copied window, document, navigator and localStorage onto the global, but not location. Code that reads the bare global, such as the apps URL type decoder, threw "location is not defined" while an ApiPromise was being created, so the api never became ready. location is now exposed with the other window objects.
@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