Skip to content

Commit 1d757dc

Browse files
committed
Add schema and further testing for newlines option on newline-after-import
1 parent 8c7ea26 commit 1d757dc

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

src/rules/newline-after-import.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,18 @@ function isClassWithDecorator(node) {
4545
module.exports = {
4646
meta: {
4747
docs: {},
48+
schema: [
49+
{
50+
'type': 'object',
51+
'properties': {
52+
'newlines': {
53+
'type': 'integer',
54+
'minimum': 1,
55+
},
56+
},
57+
'additionalProperties': false,
58+
},
59+
],
4860
},
4961
create: function (context) {
5062
let level = 0

tests/src/rules/newline-after-import.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
8585
parserOptions: { sourceType: 'module' },
8686
options: [{ 'newlines': 2 }],
8787
},
88+
{
89+
code: `import foo from 'foo';\n\n\n\n\nvar foo = 'bar';`,
90+
parserOptions: { sourceType: 'module' },
91+
options: [{ 'newlines': 4 }],
92+
},
8893
{
8994
code: `var foo = require('foo-module');\n\nvar foo = 'bar';`,
9095
parserOptions: { sourceType: 'module' },
@@ -94,6 +99,11 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
9499
parserOptions: { sourceType: 'module' },
95100
options: [{ 'newlines': 2 }],
96101
},
102+
{
103+
code: `var foo = require('foo-module');\n\n\n\n\nvar foo = 'bar';`,
104+
parserOptions: { sourceType: 'module' },
105+
options: [{ 'newlines': 4 }],
106+
},
97107
{
98108
code: `require('foo-module');\n\nvar foo = 'bar';`,
99109
parserOptions: { sourceType: 'module' },
@@ -173,6 +183,16 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
173183
} ],
174184
parserOptions: { sourceType: 'module' },
175185
},
186+
{
187+
code: `import foo from 'foo';\nexport default function() {};`,
188+
options: [{ 'newlines': 1 }],
189+
errors: [ {
190+
line: 1,
191+
column: 1,
192+
message: IMPORT_ERROR_MESSAGE,
193+
} ],
194+
parserOptions: { sourceType: 'module' },
195+
},
176196
{
177197
code: `var foo = require('foo-module');\nvar something = 123;`,
178198
errors: [ {

0 commit comments

Comments
 (0)