summaryrefslogtreecommitdiff
path: root/test/parallel/test-fs-promises-file-handle-sync.js
blob: 2c0eca13a73b8c9875e843ec58c0fe46828bc6ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
require('../common');
const assert = require('assert');
const fixtures = require('../common/fixtures');
const tmpdir = require('../common/tmpdir');

const { access, copyFile, open } = require('fs').promises;
const path = require('path');

async function validateSync() {
  tmpdir.refresh();
  const dest = path.resolve(tmpdir.path, 'baz.js');
  await copyFile(fixtures.path('baz.js'), dest);
  await access(dest, 'r');
  const handle = await open(dest, 'r+');
  await handle.datasync();
  await handle.sync();
  const buf = Buffer.from('hello world');
  await handle.write(buf);
  const ret = await handle.read(Buffer.alloc(11), 0, 11, 0);
  assert.strictEqual(ret.bytesRead, 11);
  assert.deepStrictEqual(ret.buffer, buf);
  await handle.close();
}

validateSync();