Skip to content

Commit 1457ef5

Browse files
committed
fix: add column check to isSectionHeader and expand test coverage
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent d4f153a commit 1457ef5

3 files changed

Lines changed: 127 additions & 1 deletion

File tree

lib/node_modules/@stdlib/_tools/eslint/rules/no-empty-lines-between-requires/lib/main.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ var rule;
4141
*/
4242
function isSectionHeader( comment ) {
4343
var val;
44-
if ( comment.type !== 'Line' ) {
44+
if (
45+
comment.type !== 'Line' ||
46+
comment.loc.start.column !== 0
47+
) {
4548
return false;
4649
}
4750
val = comment.value;

lib/node_modules/@stdlib/_tools/eslint/rules/no-empty-lines-between-requires/test/fixtures/invalid.js

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,97 @@ test = {
255255
};
256256
invalid.push( test );
257257

258+
// Empty line between multi-line require statements
259+
test = {
260+
'code': [
261+
'\'use strict\';',
262+
'',
263+
'var foo = require(',
264+
' \'some/very/long/path/to/module\'',
265+
');',
266+
'',
267+
'var bar = require( \'bar\' );'
268+
].join( '\n' ),
269+
'errors': [
270+
{
271+
'message': 'Unexpected empty line between require statements.',
272+
'type': null
273+
}
274+
],
275+
'output': [
276+
'\'use strict\';',
277+
'',
278+
'var foo = require(',
279+
' \'some/very/long/path/to/module\'',
280+
');',
281+
'var bar = require( \'bar\' );'
282+
].join( '\n' )
283+
};
284+
invalid.push( test );
285+
286+
// Empty line after multi-line require followed by another multi-line require
287+
test = {
288+
'code': [
289+
'\'use strict\';',
290+
'',
291+
'var foo = require(',
292+
' \'path/one\'',
293+
');',
294+
'',
295+
'var bar = require(',
296+
' \'path/two\'',
297+
');'
298+
].join( '\n' ),
299+
'errors': [
300+
{
301+
'message': 'Unexpected empty line between require statements.',
302+
'type': null
303+
}
304+
],
305+
'output': [
306+
'\'use strict\';',
307+
'',
308+
'var foo = require(',
309+
' \'path/one\'',
310+
');',
311+
'var bar = require(',
312+
' \'path/two\'',
313+
');'
314+
].join( '\n' )
315+
};
316+
invalid.push( test );
317+
318+
// Multiple non-require statements between requires with empty lines
319+
test = {
320+
'code': [
321+
'\'use strict\';',
322+
'',
323+
'var foo = require( \'foo\' );',
324+
'var x = 1;',
325+
'',
326+
'var y = 2;',
327+
'var z = x + y;',
328+
'',
329+
'var bar = require( \'bar\' );'
330+
].join( '\n' ),
331+
'errors': [
332+
{
333+
'message': 'Unexpected empty line between require statements.',
334+
'type': null
335+
}
336+
],
337+
'output': [
338+
'\'use strict\';',
339+
'',
340+
'var foo = require( \'foo\' );',
341+
'var x = 1;',
342+
'var y = 2;',
343+
'var z = x + y;',
344+
'var bar = require( \'bar\' );'
345+
].join( '\n' )
346+
};
347+
invalid.push( test );
348+
258349

259350
// EXPORTS //
260351

lib/node_modules/@stdlib/_tools/eslint/rules/no-empty-lines-between-requires/test/fixtures/valid.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,38 @@ test = {
141141
};
142142
valid.push( test );
143143

144+
// Multi-line require statements without empty lines between
145+
test = {
146+
'code': [
147+
'\'use strict\';',
148+
'',
149+
'// MODULES //',
150+
'',
151+
'var foo = require(',
152+
' \'some/very/long/path/to/module\'',
153+
');',
154+
'var bar = require( \'bar\' );',
155+
'var baz = require(',
156+
' \'another/long/path\'',
157+
');'
158+
].join( '\n' )
159+
};
160+
valid.push( test );
161+
162+
// Multiple non-require statements between requires without empty lines
163+
test = {
164+
'code': [
165+
'\'use strict\';',
166+
'',
167+
'var foo = require( \'foo\' );',
168+
'var x = 1;',
169+
'var y = 2;',
170+
'var z = x + y;',
171+
'var bar = require( \'bar\' );'
172+
].join( '\n' )
173+
};
174+
valid.push( test );
175+
144176

145177
// EXPORTS //
146178

0 commit comments

Comments
 (0)