@@ -4,6 +4,7 @@ var test = require('tape');
44var resolve = require ( '../' ) ;
55
66var symlinkDir = path . join ( __dirname , 'resolver' , 'symlinked' , 'symlink' ) ;
7+ var packageDir = path . join ( __dirname , 'resolver' , 'symlinked' , '_' , 'node_modules' , 'package' ) ;
78try {
89 fs . unlinkSync ( symlinkDir ) ;
910} catch ( err ) { }
1314 // if fails then it is probably on Windows and lets try to create a junction
1415 fs . symlinkSync ( path . join ( __dirname , 'resolver' , 'symlinked' , '_' , 'symlink_target' ) + '\\' , symlinkDir , 'junction' ) ;
1516}
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+ }
1623
1724test ( 'symlink' , function ( t ) {
1825 t . plan ( 2 ) ;
@@ -54,3 +61,21 @@ test('sync symlink when preserveSymlinks = true', function (t) {
5461 } , / C a n n o t f i n d m o d u l e ' f o o ' / ) ;
5562 t . end ( ) ;
5663} ) ;
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