@@ -4,11 +4,13 @@ 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 ) { }
1011try {
1112 fs . symlinkSync ( './_/symlink_target' , symlinkDir , 'dir' ) ;
13+ fs . symlinkSync ( '../../package' , packageDir , 'dir' ) ;
1214} catch ( err ) {
1315 if ( err . code !== 'EEXIST' ) {
1416 // 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) {
5658 } , / C a n n o t f i n d m o d u l e ' f o o ' / ) ;
5759 t . end ( ) ;
5860} ) ;
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