Allow simpler tests for error.code
- Lingua principale
- JavaScript
- Stelle
- 231
- Fork
- 75
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
#### Support plan
* *is this issue currently blocking your project?* (yes/no): no
* *is this issue affecting a production system?* (yes/no): no
#### Context
* *node version*: any
* *module version*: 8.0.3
* *environment* (e.g. node, browser, native): node
* *used with* (e.g. hapi application, another framework, standalone, ...):
* *any other relevant information*:
#### What problem are you trying to solve?
To test for the `.code` property attached to node errors (instead of `.message`) that are not fixed).
Currently I have to do this manually, eg. for `throw()`:
```js
const Code = require('code');
const expect = Code.expect;
const err = expect(() => process.chdir(42)).to.throw(TypeError);
expect(err).to.contain({ code: 'ERR_INVALID_ARG_TYPE' });
// or as one-liner
expect(expect(() => process.chdir(42)).to.throw(TypeError)).to.contain({ code: 'ERR_INVALID_ARG_TYPE' });
```
#### Do you have a new or modified API suggestion to solve the problem?
Add a third `has` parameter to `throw()` and `reject()`, which takes an `object` which is passed to a `contain()` test. Also make the `message` optional (works since it uses a string and type must be `instanceof Error`). Eg.
```js
expect(() => process.chdir(42)).to.throw(TypeError, { code: 'ERR_INVALID_ARG_TYPE' });
```
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.