@@ -4,11 +4,13 @@ var test = require('tape');
4
4
var resolve = require ( '../' ) ;
5
5
6
6
var symlinkDir = path . join ( __dirname , 'resolver' , 'symlinked' , 'symlink' ) ;
7
+ var packageDir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' , 'node_modules' , 'package' ) ;
7
8
try {
8
9
fs . unlinkSync ( symlinkDir ) ;
9
10
} catch ( err ) { }
10
11
try {
11
12
fs . symlinkSync ( './_/symlink_target' , symlinkDir , 'dir' ) ;
13
+ fs . symlinkSync ( '../../package' , packageDir , 'dir' ) ;
12
14
} catch ( err ) {
13
15
if ( err . code !== 'EEXIST' ) {
14
16
// if fails then it is probably on Windows and lets try to create a junction
@@ -56,3 +58,21 @@ test('sync symlink when preserveSymlinks = true', function (t) {
56
58
} , / C a n n o t f i n d m o d u l e ' f o o ' / ) ;
57
59
t . end ( ) ;
58
60
} ) ;
61
+
62
+ test ( 'sync symlink from node_modules to other dir when preserveSymlinks = false' , function ( t ) {
63
+ var basedir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' ) ;
64
+ var fn = resolve . sync ( 'package' , { basedir : basedir , preserveSymlinks : false } ) ;
65
+
66
+ t . equal ( fn , path . resolve ( __dirname , 'resolver/symlinked/package/bar.js' ) ) ;
67
+ t . end ( ) ;
68
+ } ) ;
69
+
70
+ test ( 'async symlink from node_modules to other dir when preserveSymlinks = false' , function ( t ) {
71
+ t . plan ( 2 ) ;
72
+ var basedir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' ) ;
73
+ resolve ( 'package' , { basedir : basedir , preserveSymlinks : false } , function ( err , result ) {
74
+ t . notOk ( err , 'no error' ) ;
75
+ t . equal ( result , path . resolve ( __dirname , 'resolver/symlinked/package/bar.js' ) ) ;
76
+ t . end ( ) ;
77
+ } ) ;
78
+ } ) ;
0 commit comments