@@ -167,8 +167,11 @@ ruleTester.run('order', rule, {
167
167
var index = require('./');
168
168
var path = require('path');
169
169
170
+
171
+
170
172
var sibling = require('./foo');
171
173
174
+
172
175
var relParent1 = require('../foo');
173
176
var relParent3 = require('../');
174
177
var async = require('async');
@@ -206,6 +209,121 @@ ruleTester.run('order', rule, {
206
209
} ,
207
210
] ,
208
211
} ) ,
212
+ // Option newlines-between: 'always' with multiline imports #1
213
+ test ( {
214
+ code : `
215
+ import path from 'path';
216
+
217
+ import {
218
+ I,
219
+ Want,
220
+ Couple,
221
+ Imports,
222
+ Here
223
+ } from 'bar';
224
+ import external from 'external'
225
+ ` ,
226
+ options : [ { 'newlines-between' : 'always' } ]
227
+ } ) ,
228
+ // Option newlines-between: 'always' with multiline imports #2
229
+ test ( {
230
+ code : `
231
+ import path from 'path';
232
+ import net
233
+ from 'net';
234
+
235
+ import external from 'external'
236
+ ` ,
237
+ options : [ { 'newlines-between' : 'always' } ]
238
+ } ) ,
239
+ // Option newlines-between: 'always' with multiline imports #3
240
+ test ( {
241
+ code : `
242
+ import foo
243
+ from '../../../../this/will/be/very/long/path/and/therefore/this/import/has/to/be/in/two/lines';
244
+
245
+ import bar
246
+ from './sibling';
247
+ ` ,
248
+ options : [ { 'newlines-between' : 'always' } ]
249
+ } ) ,
250
+ // Option newlines-between: 'always' with not assigned import #1
251
+ test ( {
252
+ code : `
253
+ import path from 'path';
254
+
255
+ import 'loud-rejection';
256
+ import 'something-else';
257
+
258
+ import _ from 'lodash';
259
+ ` ,
260
+ options : [ { 'newlines-between' : 'always' } ]
261
+ } ) ,
262
+ // Option newlines-between: 'never' with not assigned import #2
263
+ test ( {
264
+ code : `
265
+ import path from 'path';
266
+ import 'loud-rejection';
267
+ import 'something-else';
268
+ import _ from 'lodash';
269
+ ` ,
270
+ options : [ { 'newlines-between' : 'never' } ]
271
+ } ) ,
272
+ // Option newlines-between: 'always' with not assigned require #1
273
+ test ( {
274
+ code : `
275
+ var path = require('path');
276
+
277
+ require('loud-rejection');
278
+ require('something-else');
279
+
280
+ var _ = require('lodash');
281
+ ` ,
282
+ options : [ { 'newlines-between' : 'always' } ]
283
+ } ) ,
284
+ // Option newlines-between: 'never' with not assigned require #2
285
+ test ( {
286
+ code : `
287
+ var path = require('path');
288
+ require('loud-rejection');
289
+ require('something-else');
290
+ var _ = require('lodash');
291
+ ` ,
292
+ options : [ { 'newlines-between' : 'never' } ]
293
+ } ) ,
294
+ // Option newlines-between: 'never' should ignore nested require statement's #1
295
+ test ( {
296
+ code : `
297
+ var some = require('asdas');
298
+ var config = {
299
+ port: 4444,
300
+ runner: {
301
+ server_path: require('runner-binary').path,
302
+
303
+ cli_args: {
304
+ 'webdriver.chrome.driver': require('browser-binary').path
305
+ }
306
+ }
307
+ }
308
+ ` ,
309
+ options : [ { 'newlines-between' : 'never' } ]
310
+ } ) ,
311
+ // Option newlines-between: 'always' should ignore nested require statement's #2
312
+ test ( {
313
+ code : `
314
+ var some = require('asdas');
315
+ var config = {
316
+ port: 4444,
317
+ runner: {
318
+ server_path: require('runner-binary').path,
319
+ cli_args: {
320
+ 'webdriver.chrome.driver': require('browser-binary').path
321
+ }
322
+ }
323
+ }
324
+ ` ,
325
+ options : [ { 'newlines-between' : 'always' } ]
326
+ } ) ,
209
327
] ,
210
328
invalid : [
211
329
// builtin before external module (require)
@@ -517,23 +635,24 @@ ruleTester.run('order', rule, {
517
635
errors : [
518
636
{
519
637
line : 4 ,
520
- message : 'There should be one empty line between import groups' ,
638
+ message : 'There should be at least one empty line between import groups' ,
521
639
} ,
522
640
{
523
641
line : 5 ,
524
- message : 'There should be one empty line between import groups' ,
642
+ message : 'There should be at least one empty line between import groups' ,
525
643
} ,
526
644
] ,
527
645
} ) ,
528
- //Option newlines-between: 'always' should report too many empty lines between import groups
646
+ //Option newlines-between: 'always' should report unnecessary empty lines space between import groups
529
647
test ( {
530
648
code : `
531
649
var fs = require('fs');
532
- var index = require('./');
533
-
534
650
651
+ var path = require('path');
652
+ var index = require('./');
535
653
536
654
var sibling = require('./foo');
655
+
537
656
var async = require('async');
538
657
` ,
539
658
options : [
@@ -547,40 +666,45 @@ ruleTester.run('order', rule, {
547
666
] ,
548
667
errors : [
549
668
{
550
- line : 3 ,
551
- message : 'There should be one empty line between import groups' ,
669
+ line : 2 ,
670
+ message : 'There should be no empty line within import group' ,
671
+ } ,
672
+ {
673
+ line : 7 ,
674
+ message : 'There should be no empty line within import group' ,
552
675
} ,
553
676
] ,
554
677
} ) ,
555
- //Option newlines-between: 'always ' should report unnecessary empty lines space between import groups
678
+ // Option newlines-between: 'never ' should report unnecessary empty lines when using not assigned imports
556
679
test ( {
557
680
code : `
558
- var fs = require('fs');
559
-
560
- var path = require('path');
561
- var index = require('./');
562
-
563
- var sibling = require('./foo');
681
+ import path from 'path';
682
+ import 'loud-rejection';
564
683
565
- var async = require('async');
684
+ import 'something-else';
685
+ import _ from 'lodash';
566
686
` ,
567
- options : [
687
+ options : [ { 'newlines-between' : 'never' } ] ,
688
+ errors : [
568
689
{
569
- groups : [
570
- [ 'builtin' , 'index' ] ,
571
- [ 'sibling' , 'parent' , 'external' ]
572
- ] ,
573
- 'newlines-between' : 'always' ,
690
+ line : 2 ,
691
+ message : 'There should be no empty line between import groups' ,
574
692
} ,
575
693
] ,
694
+ } ) ,
695
+ // Option newlines-between: 'always' should report missing empty lines when using not assigned imports
696
+ test ( {
697
+ code : `
698
+ import path from 'path';
699
+ import 'loud-rejection';
700
+ import 'something-else';
701
+ import _ from 'lodash';
702
+ ` ,
703
+ options : [ { 'newlines-between' : 'always' } ] ,
576
704
errors : [
577
705
{
578
706
line : 2 ,
579
- message : 'There should be no empty line within import group' ,
580
- } ,
581
- {
582
- line : 7 ,
583
- message : 'There should be no empty line within import group' ,
707
+ message : 'There should be at least one empty line between import groups' ,
584
708
} ,
585
709
] ,
586
710
} ) ,
0 commit comments