@@ -9,6 +9,14 @@ function withoutAutofixOutput(test) {
99 return Object . assign ( { } , test , { output : test . code } ) ;
1010}
1111
12+ function generateImports ( count ) {
13+ const imports = [ ] ;
14+ for ( let i = 0 ; i < count ; i ++ ) {
15+ imports . push ( `import foo${ i } from './foo${ i } .js';` ) ;
16+ }
17+ return imports . sort ( ) . join ( '\n' ) ;
18+ }
19+
1220ruleTester . run ( 'order' , rule , {
1321 valid : [
1422 // Default order using require
@@ -226,7 +234,7 @@ ruleTester.run('order', rule, {
226234 test ( {
227235 code : `
228236 var fs = require('fs');
229-
237+
230238 var async = require('async');
231239
232240 var index = require('./');
@@ -267,7 +275,7 @@ ruleTester.run('order', rule, {
267275 import net
268276 from 'net';
269277 import external from 'external'
270-
278+
271279 import foo from './foo';
272280 ` ,
273281 options : [ { newlinesBetween : 'always' } ] ,
@@ -367,21 +375,21 @@ ruleTester.run('order', rule, {
367375 var fs = require('fs');
368376
369377 var path = require('path');
370-
378+
371379 var util = require('util');
372380
373381 var async = require('async');
374382
375383
376384
377385 var relParent1 = require('../foo');
378-
386+
379387 var relParent2 = require('../');
380388
381389 var relParent3 = require('../bar');
382390
383391 var sibling = require('./foo');
384-
392+
385393 var sibling2 = require('./bar');
386394
387395 var sibling3 = require('./foobar');
@@ -395,7 +403,7 @@ ruleTester.run('order', rule, {
395403 // Option alphabetize: {order: 'ignore'}
396404 test ( {
397405 code : `
398- import foo from 'foo';
406+ import foo from 'foo';
399407 import bar from 'bar';
400408
401409 import index from './';
@@ -471,6 +479,14 @@ ruleTester.run('order', rule, {
471479 } ,
472480 ] ,
473481 } ) ,
482+ // With large number of imports in the same group to ensure no newlines are inserted into group.
483+ test ( {
484+ code : generateImports ( 150 ) ,
485+ options : [ {
486+ newlinesBetween : 'always' ,
487+ alphabetize : { order : 'asc' , } ,
488+ } ] ,
489+ } ) ,
474490 ] ,
475491 invalid : [
476492 // Option: newlinesBetween: 'always-and-inside-groups'
@@ -1024,13 +1040,13 @@ comment3 */", // the spacing here is really sensitive
10241040 code : `
10251041 var fs = require('fs'); /* multiline
10261042 comment */
1027-
1043+
10281044 var index = require('./');
10291045 ` ,
10301046 output : `
10311047 var fs = require('fs'); /* multiline
10321048 comment */
1033-
1049+
10341050 var index = require('./');
10351051 ` ,
10361052 options : [
@@ -1116,14 +1132,14 @@ comment3 */", // the spacing here is really sensitive
11161132 code : `
11171133 import path from 'path';
11181134 import 'loud-rejection';
1119-
1135+
11201136 import 'something-else';
11211137 import _ from 'lodash';
11221138 ` ,
11231139 output : `
11241140 import path from 'path';
11251141 import 'loud-rejection';
1126-
1142+
11271143 import 'something-else';
11281144 import _ from 'lodash';
11291145 ` ,
0 commit comments