diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-06-20 17:13:31 +0200 |
---|---|---|
committer | Beth Griggs <Bethany.Griggs@uk.ibm.com> | 2020-02-06 02:49:40 +0000 |
commit | 9a6aff8517a1f94e77af4c35c5819a5c83e54b56 (patch) | |
tree | d8c023e9e5e7de3131228b4edb5bad59afcab981 | |
parent | 08b5a2fcb467bce7413f36ca2c54996201260730 (diff) | |
download | node-new-9a6aff8517a1f94e77af4c35c5819a5c83e54b56.tar.gz |
doc: make `AssertionError` a link
This makes sure that `AssertionError` links to the correct place in
the assert documentation.
Backport-PR-URL: https://github.com/nodejs/node/pull/31431
PR-URL: https://github.com/nodejs/node/pull/28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r-- | doc/api/assert.md | 85 |
1 files changed, 45 insertions, 40 deletions
diff --git a/doc/api/assert.md b/doc/api/assert.md index c96516855c..585a9dff4b 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -218,8 +218,9 @@ are also recursively evaluated by the following rules. * [`Symbol`][] properties are not compared. * [`WeakMap`][] and [`WeakSet`][] comparison does not rely on their values. -The following example does not throw an `AssertionError` because the primitives -are considered equal by the [Abstract Equality Comparison][] ( `==` ). +The following example does not throw an [`AssertionError`][] because the +primitives are considered equal by the [Abstract Equality Comparison][] +( `==` ). ```js // WARNING: This does not throw an AssertionError! @@ -264,11 +265,11 @@ assert.deepEqual(obj1, obj4); // AssertionError: { a: { b: 1 } } deepEqual {} ``` -If the values are not equal, an `AssertionError` is thrown with a `message` +If the values are not equal, an [`AssertionError`][] is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error message is assigned. If the `message` parameter is an instance of an [`Error`][] then it will be thrown instead of the -`AssertionError`. +[`AssertionError`][]. ## `assert.deepStrictEqual(actual, expected[, message])` <!-- YAML @@ -418,7 +419,7 @@ assert.deepStrictEqual(weakMap1, weakMap3); // } ``` -If the values are not equal, an `AssertionError` is thrown with a `message` +If the values are not equal, an [`AssertionError`][] is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error message is assigned. If the `message` parameter is an instance of an [`Error`][] then it will be thrown instead of the @@ -501,9 +502,9 @@ When `assert.doesNotThrow()` is called, it will immediately call the `fn` function. If an error is thrown and it is the same type as that specified by the `error` -parameter, then an `AssertionError` is thrown. If the error is of a different -type, or if the `error` parameter is undefined, the error is propagated back -to the caller. +parameter, then an [`AssertionError`][] is thrown. If the error is of a +different type, or if the `error` parameter is undefined, the error is +propagated back to the caller. If specified, `error` can be a [`Class`][], [`RegExp`][] or a validation function. See [`assert.throws()`][] for more details. @@ -521,7 +522,7 @@ assert.doesNotThrow( ); ``` -However, the following will result in an `AssertionError` with the message +However, the following will result in an [`AssertionError`][] with the message 'Got unwanted exception...': <!-- eslint-disable no-restricted-syntax --> @@ -534,8 +535,8 @@ assert.doesNotThrow( ); ``` -If an `AssertionError` is thrown and a value is provided for the `message` -parameter, the value of `message` will be appended to the `AssertionError` +If an [`AssertionError`][] is thrown and a value is provided for the `message` +parameter, the value of `message` will be appended to the [`AssertionError`][] message: <!-- eslint-disable no-restricted-syntax --> @@ -584,7 +585,7 @@ assert.equal({ a: { b: 1 } }, { a: { b: 1 } }); // AssertionError: { a: { b: 1 } } == { a: { b: 1 } } ``` -If the values are not equal, an `AssertionError` is thrown with a `message` +If the values are not equal, an [`AssertionError`][] is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error message is assigned. If the `message` parameter is an instance of an [`Error`][] then it will be thrown instead of the @@ -597,9 +598,9 @@ added: v0.1.21 * `message` {string|Error} **Default:** `'Failed'` -Throws an `AssertionError` with the provided error message or a default error -message. If the `message` parameter is an instance of an [`Error`][] then it -will be thrown instead of the `AssertionError`. +Throws an [`AssertionError`][] with the provided error message or a default +error message. If the `message` parameter is an instance of an [`Error`][] then +it will be thrown instead of the [`AssertionError`][]. ```js const assert = require('assert').strict; @@ -687,7 +688,7 @@ changes: - version: v10.0.0 pr-url: https://github.com/nodejs/node/pull/18247 description: Instead of throwing the original error it is now wrapped into - an `AssertionError` that contains the full stack trace. + an [`AssertionError`][] that contains the full stack trace. - version: v10.0.0 pr-url: https://github.com/nodejs/node/pull/18247 description: Value may now only be `undefined` or `null`. Before all falsy @@ -795,11 +796,11 @@ assert.notDeepEqual(obj1, obj4); // OK ``` -If the values are deeply equal, an `AssertionError` is thrown with a `message` -property set equal to the value of the `message` parameter. If the `message` -parameter is undefined, a default error message is assigned. If the `message` -parameter is an instance of an [`Error`][] then it will be thrown instead of the -`AssertionError`. +If the values are deeply equal, an [`AssertionError`][] is thrown with a +`message` property set equal to the value of the `message` parameter. If the +`message` parameter is undefined, a default error message is assigned. If the +`message` parameter is an instance of an [`Error`][] then it will be thrown +instead of the `AssertionError`. ## `assert.notDeepStrictEqual(actual, expected[, message])` <!-- YAML @@ -843,11 +844,11 @@ assert.notDeepStrictEqual({ a: 1 }, { a: '1' }); // OK ``` -If the values are deeply and strictly equal, an `AssertionError` is thrown with -a `message` property set equal to the value of the `message` parameter. If the -`message` parameter is undefined, a default error message is assigned. If the -`message` parameter is an instance of an [`Error`][] then it will be thrown -instead of the `AssertionError`. +If the values are deeply and strictly equal, an [`AssertionError`][] is thrown +with a `message` property set equal to the value of the `message` parameter. If +the `message` parameter is undefined, a default error message is assigned. If +the `message` parameter is an instance of an [`Error`][] then it will be thrown +instead of the [`AssertionError`][]. ## `assert.notEqual(actual, expected[, message])` <!-- YAML @@ -882,10 +883,10 @@ assert.notEqual(1, '1'); // AssertionError: 1 != '1' ``` -If the values are equal, an `AssertionError` is thrown with a `message` property -set equal to the value of the `message` parameter. If the `message` parameter is -undefined, a default error message is assigned. If the `message` parameter is an -instance of an [`Error`][] then it will be thrown instead of the +If the values are equal, an [`AssertionError`][] is thrown with a `message` +property set equal to the value of the `message` parameter. If the `message` +parameter is undefined, a default error message is assigned. If the `message` +parameter is an instance of an [`Error`][] then it will be thrown instead of the `AssertionError`. ## `assert.notStrictEqual(actual, expected[, message])` @@ -919,11 +920,11 @@ assert.notStrictEqual(1, '1'); // OK ``` -If the values are strictly equal, an `AssertionError` is thrown with a `message` -property set equal to the value of the `message` parameter. If the `message` -parameter is undefined, a default error message is assigned. If the `message` -parameter is an instance of an [`Error`][] then it will be thrown instead of the -`AssertionError`. +If the values are strictly equal, an [`AssertionError`][] is thrown with a +`message` property set equal to the value of the `message` parameter. If the +`message` parameter is undefined, a default error message is assigned. If the +`message` parameter is an instance of an [`Error`][] then it will be thrown +instead of the `AssertionError`. ## `assert.ok(value[, message])` <!-- YAML @@ -941,7 +942,7 @@ changes: Tests if `value` is truthy. It is equivalent to `assert.equal(!!value, true, message)`. -If `value` is not truthy, an `AssertionError` is thrown with a `message` +If `value` is not truthy, an [`AssertionError`][] is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is `undefined`, a default error message is assigned. If the `message` parameter is an instance of an [`Error`][] then it will be thrown instead of the @@ -1020,8 +1021,8 @@ an object where each property will be tested for, or an instance of error where each property will be tested for including the non-enumerable `message` and `name` properties. -If specified, `message` will be the message provided by the `AssertionError` if -the `asyncFn` fails to reject. +If specified, `message` will be the message provided by the [`AssertionError`][] +if the `asyncFn` fails to reject. ```js (async () => { @@ -1096,11 +1097,11 @@ assert.strictEqual(1, '1', new TypeError('Inputs are not identical')); // TypeError: Inputs are not identical ``` -If the values are not strictly equal, an `AssertionError` is thrown with a +If the values are not strictly equal, an [`AssertionError`][] is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error message is assigned. If the `message` parameter is an instance of an [`Error`][] then it will be thrown -instead of the `AssertionError`. +instead of the [`AssertionError`][]. ## `assert.throws(fn[, error][, message])` <!-- YAML @@ -1231,6 +1232,9 @@ assert.throws( Custom error validation: +The function must return `true` to indicate all internal validations passed. +It will otherwise fail with an [`AssertionError`][]. + ```js assert.throws( () => { @@ -1295,6 +1299,7 @@ assert.throws(throwingFirst, /Second$/); Due to the confusing error-prone notation, avoid a string as the second argument. +[`AssertionError`]: #assert_class_assert_assertionerror [`Class`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes [`ERR_INVALID_RETURN_VALUE`]: errors.html#errors_err_invalid_return_value [`Error.captureStackTrace`]: errors.html#errors_error_capturestacktrace_targetobject_constructoropt |