@@ -4,6 +4,7 @@ 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 ) { }
13
14
// if fails then it is probably on Windows and lets try to create a junction
14
15
fs . symlinkSync ( path . join ( __dirname , 'resolver' , 'symlinked' , '_' , 'symlink_target' ) + '\\' , symlinkDir , 'junction' ) ;
15
16
}
17
+ try {
18
+ fs . symlinkSync ( '../../package' , packageDir , 'dir' ) ;
19
+ } catch ( err ) {
20
+ // if fails then it is probably on Windows and lets try to create a junction
21
+ fs . symlinkSync ( path . join ( __dirname , '..' , '..' , 'package' ) + '\\' , packageDir , 'junction' ) ;
22
+ }
16
23
17
24
test ( 'symlink' , function ( t ) {
18
25
t . plan ( 2 ) ;
@@ -54,3 +61,21 @@ test('sync symlink when preserveSymlinks = true', function (t) {
54
61
} , / C a n n o t f i n d m o d u l e ' f o o ' / ) ;
55
62
t . end ( ) ;
56
63
} ) ;
64
+
65
+ test ( 'sync symlink from node_modules to other dir when preserveSymlinks = false' , function ( t ) {
66
+ var basedir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' ) ;
67
+ var fn = resolve . sync ( 'package' , { basedir : basedir , preserveSymlinks : false } ) ;
68
+
69
+ t . equal ( fn , path . resolve ( __dirname , 'resolver/symlinked/package/bar.js' ) ) ;
70
+ t . end ( ) ;
71
+ } ) ;
72
+
73
+ test ( 'async symlink from node_modules to other dir when preserveSymlinks = false' , function ( t ) {
74
+ t . plan ( 2 ) ;
75
+ var basedir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' ) ;
76
+ resolve ( 'package' , { basedir : basedir , preserveSymlinks : false } , function ( err , result ) {
77
+ t . notOk ( err , 'no error' ) ;
78
+ t . equal ( result , path . resolve ( __dirname , 'resolver/symlinked/package/bar.js' ) ) ;
79
+ t . end ( ) ;
80
+ } ) ;
81
+ } ) ;
0 commit comments