diff --git a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js index c2f77c36ccf3..f6563bd8976e 100644 --- a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js +++ b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js @@ -48,7 +48,7 @@ var windowShim = require( './window.js' ); var debug = logger( 'jsdoc-doctest' ); var ROOT_DIR = rootDir(); -var RE_ANNOTATION = /(?:\n|^)(?!function\s|class\s)(?:var|let|const)? ?([a-zA-Z0-9._]+) ?=?[^;]*;\n\/\/ ?(returns|([A-Za-z][A-Za-z_0-9]*)? ?=>|throws) {0,1}([\s\S]*?)(\n|$)/g; +var RE_ANNOTATION = /(?:\n|^)(?!function\s|class\s)(?:var|let|const)? ?([a-zA-Z0-9._]+) ?=?[^;]*;[ \t]*(?:\/\/[^\n]*)?\n\/\/ ?(returns|([A-Za-z][A-Za-z_0-9]*)? ?=>|throws) {0,1}([\s\S]*?)(\n|$)/g; var RE_CONSOLE = /console\.(?:dir|error|log)/; var RE_MODULE_TAG = /\* @module[^\n]*\n/g; var NODE_SHEBANG = /#!\/usr\/bin\/env node/; diff --git a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/invalid.js b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/invalid.js index 2776ab3a6a2d..5826065efbe7 100644 --- a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/invalid.js +++ b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/invalid.js @@ -1021,6 +1021,140 @@ test = { }; invalid.push( test ); +test = { + 'code': [ + '\'use strict\'', + '', + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* var y = square( 3.0 ); // x squared', + '* // returns 12.0', + '*', + '* y = square( 2.0 ); // x squared', + '* // returns 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ), + 'errors': [ + { + 'message': 'Displayed return value is `12.0`, but expected `9` instead', + 'type': null + } + ], + 'output': [ + '\'use strict\'', + '', + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* var y = square( 3.0 ); // x squared', + '* // returns 9', + '*', + '* y = square( 2.0 ); // x squared', + '* // returns 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ) +}; +invalid.push( test ); + +test = { + 'code': [ + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* console.log( square( 3.0 ) ); // x squared', + '* // => 12.0', + '*', + '* console.log( square( 2.0 ) ); // x squared', + '* // => 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ), + 'errors': [ + { + 'message': 'Displayed return value is `12.0`, but expected `9` instead', + 'type': null + } + ], + 'output': [ + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* console.log( square( 3.0 ) ); // x squared', + '* // => 9', + '*', + '* console.log( square( 2.0 ) ); // x squared', + '* // => 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ) +}; +invalid.push( test ); + +test = { + 'code': [ + '\'use strict\'', + '', + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* var y = square( 3.0 ); // oh; interesting', + '* // returns 12.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ), + 'errors': [ + { + 'message': 'Displayed return value is `12.0`, but expected `9` instead', + 'type': null + } + ], + 'output': [ + '\'use strict\'', + '', + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* var y = square( 3.0 ); // oh; interesting', + '* // returns 9', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ) +}; +invalid.push( test ); + // EXPORTS // diff --git a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/valid.js b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/valid.js index 42708a20575b..670c8c8fc21d 100644 --- a/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/valid.js +++ b/lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/valid.js @@ -1551,6 +1551,48 @@ test = { }; valid.push( test ); +test = { + 'code': [ + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* var y = square( 3.0 ); // x squared', + '* // returns 9.0', + '*', + '* y = square( 2.0 ); // x squared', + '* // returns 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ) +}; +valid.push( test ); + +test = { + 'code': [ + '/**', + '* Squares a number.', + '*', + '* @param {number} x - input value', + '* @returns {number} x*x', + '* @example', + '* console.log( square( 3.0 ) ); // x squared', + '* // => 9.0', + '*', + '* console.log( square( 2.0 ) ); // x squared', + '* // => 4.0', + '*/', + 'function square( x ) {', + ' return x*x;', + '}' + ].join( '\n' ) +}; +valid.push( test ); + // EXPORTS //