Skip to content

Commit

Permalink
Add support for fs.realpath.native in envs that support it (#682)
Browse files Browse the repository at this point in the history
* Add support for fs.realpath.native in envs that support it

* Add test for realpathSync.native

* assert.equal -> assert.strictEqual
  • Loading branch information
RyanZim authored May 14, 2019
1 parent 32a65ff commit fa661f3
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
33 changes: 33 additions & 0 deletions lib/fs/__tests__/realpath.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
'use strict'

const fs = require('fs')
const fse = require('../..')
const assert = require('assert')

/* eslint-env mocha */

// fs.realpath.native only available in Node v9.2+
if (typeof fs.realpath.native === 'function') {
describe('realpath.native', () => {
it('works with callbacks', () => {
fse.realpath.native(__dirname, (err, path) => {
assert.ifError(err)
assert.strictEqual(path, __dirname)
})
})

it('works with promises', (done) => {
fse.realpath.native(__dirname)
.then(path => {
assert.strictEqual(path, __dirname)
done()
})
.catch(done)
})

it('works with sync version', () => {
const path = fse.realpathSync.native(__dirname)
assert.strictEqual(path, __dirname)
})
})
}
5 changes: 5 additions & 0 deletions lib/fs/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,8 @@ exports.write = function (fd, buffer, ...args) {
})
})
}

// fs.realpath.native only available in Node v9.2+
if (typeof fs.realpath.native === 'function') {
exports.realpath.native = u(fs.realpath.native)
}

0 comments on commit fa661f3

Please sign in to comment.