Skip to content

Commit f6af97e

Browse files
authored
build: tolerate trailing inline comment in _tools/eslint/rules/jsdoc-doctest
PR-URL: #11632 Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent dc09169 commit f6af97e

3 files changed

Lines changed: 177 additions & 1 deletion

File tree

lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ var windowShim = require( './window.js' );
4848

4949
var debug = logger( 'jsdoc-doctest' );
5050
var ROOT_DIR = rootDir();
51-
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;
51+
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;
5252
var RE_CONSOLE = /console\.(?:dir|error|log)/;
5353
var RE_MODULE_TAG = /\* @module[^\n]*\n/g;
5454
var NODE_SHEBANG = /#!\/usr\/bin\/env node/;

lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/invalid.js

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,140 @@ test = {
10211021
};
10221022
invalid.push( test );
10231023

1024+
test = {
1025+
'code': [
1026+
'\'use strict\'',
1027+
'',
1028+
'/**',
1029+
'* Squares a number.',
1030+
'*',
1031+
'* @param {number} x - input value',
1032+
'* @returns {number} x*x',
1033+
'* @example',
1034+
'* var y = square( 3.0 ); // x squared',
1035+
'* // returns 12.0',
1036+
'*',
1037+
'* y = square( 2.0 ); // x squared',
1038+
'* // returns 4.0',
1039+
'*/',
1040+
'function square( x ) {',
1041+
' return x*x;',
1042+
'}'
1043+
].join( '\n' ),
1044+
'errors': [
1045+
{
1046+
'message': 'Displayed return value is `12.0`, but expected `9` instead',
1047+
'type': null
1048+
}
1049+
],
1050+
'output': [
1051+
'\'use strict\'',
1052+
'',
1053+
'/**',
1054+
'* Squares a number.',
1055+
'*',
1056+
'* @param {number} x - input value',
1057+
'* @returns {number} x*x',
1058+
'* @example',
1059+
'* var y = square( 3.0 ); // x squared',
1060+
'* // returns 9',
1061+
'*',
1062+
'* y = square( 2.0 ); // x squared',
1063+
'* // returns 4.0',
1064+
'*/',
1065+
'function square( x ) {',
1066+
' return x*x;',
1067+
'}'
1068+
].join( '\n' )
1069+
};
1070+
invalid.push( test );
1071+
1072+
test = {
1073+
'code': [
1074+
'/**',
1075+
'* Squares a number.',
1076+
'*',
1077+
'* @param {number} x - input value',
1078+
'* @returns {number} x*x',
1079+
'* @example',
1080+
'* console.log( square( 3.0 ) ); // x squared',
1081+
'* // => 12.0',
1082+
'*',
1083+
'* console.log( square( 2.0 ) ); // x squared',
1084+
'* // => 4.0',
1085+
'*/',
1086+
'function square( x ) {',
1087+
' return x*x;',
1088+
'}'
1089+
].join( '\n' ),
1090+
'errors': [
1091+
{
1092+
'message': 'Displayed return value is `12.0`, but expected `9` instead',
1093+
'type': null
1094+
}
1095+
],
1096+
'output': [
1097+
'/**',
1098+
'* Squares a number.',
1099+
'*',
1100+
'* @param {number} x - input value',
1101+
'* @returns {number} x*x',
1102+
'* @example',
1103+
'* console.log( square( 3.0 ) ); // x squared',
1104+
'* // => 9',
1105+
'*',
1106+
'* console.log( square( 2.0 ) ); // x squared',
1107+
'* // => 4.0',
1108+
'*/',
1109+
'function square( x ) {',
1110+
' return x*x;',
1111+
'}'
1112+
].join( '\n' )
1113+
};
1114+
invalid.push( test );
1115+
1116+
test = {
1117+
'code': [
1118+
'\'use strict\'',
1119+
'',
1120+
'/**',
1121+
'* Squares a number.',
1122+
'*',
1123+
'* @param {number} x - input value',
1124+
'* @returns {number} x*x',
1125+
'* @example',
1126+
'* var y = square( 3.0 ); // oh; interesting',
1127+
'* // returns 12.0',
1128+
'*/',
1129+
'function square( x ) {',
1130+
' return x*x;',
1131+
'}'
1132+
].join( '\n' ),
1133+
'errors': [
1134+
{
1135+
'message': 'Displayed return value is `12.0`, but expected `9` instead',
1136+
'type': null
1137+
}
1138+
],
1139+
'output': [
1140+
'\'use strict\'',
1141+
'',
1142+
'/**',
1143+
'* Squares a number.',
1144+
'*',
1145+
'* @param {number} x - input value',
1146+
'* @returns {number} x*x',
1147+
'* @example',
1148+
'* var y = square( 3.0 ); // oh; interesting',
1149+
'* // returns 9',
1150+
'*/',
1151+
'function square( x ) {',
1152+
' return x*x;',
1153+
'}'
1154+
].join( '\n' )
1155+
};
1156+
invalid.push( test );
1157+
10241158

10251159
// EXPORTS //
10261160

lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/test/fixtures/valid.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,6 +1551,48 @@ test = {
15511551
};
15521552
valid.push( test );
15531553

1554+
test = {
1555+
'code': [
1556+
'/**',
1557+
'* Squares a number.',
1558+
'*',
1559+
'* @param {number} x - input value',
1560+
'* @returns {number} x*x',
1561+
'* @example',
1562+
'* var y = square( 3.0 ); // x squared',
1563+
'* // returns 9.0',
1564+
'*',
1565+
'* y = square( 2.0 ); // x squared',
1566+
'* // returns 4.0',
1567+
'*/',
1568+
'function square( x ) {',
1569+
' return x*x;',
1570+
'}'
1571+
].join( '\n' )
1572+
};
1573+
valid.push( test );
1574+
1575+
test = {
1576+
'code': [
1577+
'/**',
1578+
'* Squares a number.',
1579+
'*',
1580+
'* @param {number} x - input value',
1581+
'* @returns {number} x*x',
1582+
'* @example',
1583+
'* console.log( square( 3.0 ) ); // x squared',
1584+
'* // => 9.0',
1585+
'*',
1586+
'* console.log( square( 2.0 ) ); // x squared',
1587+
'* // => 4.0',
1588+
'*/',
1589+
'function square( x ) {',
1590+
' return x*x;',
1591+
'}'
1592+
].join( '\n' )
1593+
};
1594+
valid.push( test );
1595+
15541596

15551597
// EXPORTS //
15561598

0 commit comments

Comments
 (0)