@@ -402,6 +402,54 @@ ruleTester.run('order', rule, {
402402 } ,
403403 ] ,
404404 } ) ,
405+ // Internal modules
406+ test ( {
407+ code : `
408+ var path = require('path');
409+ var async = require('async');
410+ var internalMod = require('internalMods/myMod');
411+ var secondInternalMod = require('~/myMod2');
412+ var parent = require('../parent');
413+ var sibling = require('./foo');
414+ var index = require('./');
415+ ` ,
416+ options : [ { groups : [
417+ 'builtin' ,
418+ 'external' ,
419+ 'internal' ,
420+ 'parent' ,
421+ 'sibling' ,
422+ 'index' ,
423+ ] } ] ,
424+ } ) ,
425+ // Internal modules with newlines
426+ test ( {
427+ code : `
428+ var path = require('path');
429+
430+ var async = require('async');
431+
432+ var internalMod = require('internalMods/myMod');
433+ var secondInternalMod = require('~/myMod2');
434+
435+ var parent = require('../parent');
436+
437+ var sibling = require('./foo');
438+
439+ var index = require('./');
440+ ` ,
441+ options : [ {
442+ groups : [
443+ 'builtin' ,
444+ 'external' ,
445+ 'internal' ,
446+ 'parent' ,
447+ 'sibling' ,
448+ 'index' ,
449+ ] ,
450+ 'newlines-between' : 'always' ,
451+ } ] ,
452+ } ) ,
405453 ] ,
406454 invalid : [
407455 // builtin before external module (require)
@@ -786,5 +834,31 @@ ruleTester.run('order', rule, {
786834 } ,
787835 ] ,
788836 } ) ,
837+ // Internal modules
838+ test ( {
839+ code : `
840+ var path = require('path');
841+ var async = require('async');
842+ var internalMod = require('internalMods/myMod');
843+ var parent = require('../parent');
844+ var secondInternalMod = require('~/myMod2');
845+ var sibling = require('./foo');
846+ var index = require('./');
847+ ` ,
848+ options : [ { groups : [
849+ 'builtin' ,
850+ 'external' ,
851+ 'internal' ,
852+ 'parent' ,
853+ 'sibling' ,
854+ 'index' ,
855+ ] } ] ,
856+ errors : [
857+ {
858+ ruleId : 'order' ,
859+ message : '`~/myMod2` import should occur before import of `../parent`' ,
860+ } ,
861+ ] ,
862+ } ) ,
789863 ] ,
790864} )
0 commit comments