1'use strict'; 2const common = require('../common'); 3const assert = require('assert'); 4const fs = require('fs'); 5const path = require('path'); 6const { promisify } = require('util'); 7 8const read = promisify(fs.read); 9const write = promisify(fs.write); 10const exists = promisify(fs.exists); 11 12{ 13 const fd = fs.openSync(__filename, 'r'); 14 read(fd, Buffer.alloc(1024), 0, 1024, null).then(common.mustCall((obj) => { 15 assert.strictEqual(typeof obj.bytesRead, 'number'); 16 assert(obj.buffer instanceof Buffer); 17 fs.closeSync(fd); 18 })); 19} 20 21const tmpdir = require('../common/tmpdir'); 22tmpdir.refresh(); 23{ 24 const filename = path.join(tmpdir.path, 'write-promise.txt'); 25 const fd = fs.openSync(filename, 'w'); 26 write(fd, Buffer.from('foobar')).then(common.mustCall((obj) => { 27 assert.strictEqual(typeof obj.bytesWritten, 'number'); 28 assert.strictEqual(obj.buffer.toString(), 'foobar'); 29 fs.closeSync(fd); 30 })); 31} 32 33{ 34 exists(__filename).then(common.mustCall((x) => { 35 assert.strictEqual(x, true); 36 })); 37} 38