@@ -12,6 +12,7 @@ if (!common.canCreateSymLink())
1212const assert = require ( 'assert' ) ;
1313const path = require ( 'path' ) ;
1414const fs = require ( 'fs' ) ;
15+ const fsPromises = fs . promises ;
1516
1617const tmpdir = require ( '../common/tmpdir' ) ;
1718tmpdir . refresh ( ) ;
@@ -36,11 +37,18 @@ function testAsync(target, path) {
3637 } ) ) ;
3738}
3839
40+ async function testPromises ( target , path ) {
41+ await fsPromises . symlink ( target , path ) ;
42+ fs . readdirSync ( path ) ;
43+ }
44+
3945for ( const linkTarget of linkTargets ) {
4046 fs . mkdirSync ( path . resolve ( tmpdir . path , linkTarget ) ) ;
4147 for ( const linkPath of linkPaths ) {
4248 testSync ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -sync` ) ;
4349 testAsync ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -async` ) ;
50+ testPromises ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -promises` )
51+ . then ( common . mustCall ( ) ) ;
4452 }
4553}
4654
@@ -57,10 +65,17 @@ for (const linkTarget of linkTargets) {
5765 } ) ) ;
5866 }
5967
68+ async function testPromises ( target , path ) {
69+ await fsPromises . symlink ( target , path ) ;
70+ assert ( ! fs . existsSync ( path ) ) ;
71+ }
72+
6073 for ( const linkTarget of linkTargets . map ( ( p ) => p + '-broken' ) ) {
6174 for ( const linkPath of linkPaths ) {
6275 testSync ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -sync` ) ;
6376 testAsync ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -async` ) ;
77+ testPromises ( linkTarget , `${ linkPath } -${ path . basename ( linkTarget ) } -promises` )
78+ . then ( common . mustCall ( ) ) ;
6479 }
6580 }
6681}
0 commit comments