@zenfs/core
Version:
A filesystem, anywhere
42 lines (28 loc) • 1.16 kB
text/typescript
// SPDX-License-Identifier: LGPL-3.0-or-later
import { test, suite } from 'node:test';
import { fs } from '../common.js';
import assert from 'node:assert/strict';
import { basename } from 'node:path/posix';
await fs.promises.mkdir('/tmp');
suite('Temporary Directories', () => {
test('mkdtempSync', () => {
const path = fs.mkdtempSync('test-', { encoding: 'utf8' });
assert.deepEqual(fs.readdirSync('/tmp'), [basename(path)]);
fs.rmdirSync(path);
});
test('mkdtemp', async () => {
const path = await fs.promises.mkdtemp('test-', { encoding: 'utf8' });
assert.deepEqual(await fs.promises.readdir('/tmp'), [basename(path)]);
await fs.promises.rmdir(path);
});
test('mkdtempDisposableSync', () => {
using result = fs.mkdtempDisposableSync('test-', { encoding: 'utf8' });
assert.deepEqual(fs.readdirSync('/tmp'), [basename(result.path)]);
fs.rmdirSync(result.path);
});
test('mkdtempDisposable', async () => {
await using result = await fs.promises.mkdtempDisposable('test-', { encoding: 'utf8' });
assert.deepEqual(await fs.promises.readdir('/tmp'), [basename(result.path)]);
await fs.promises.rmdir(result.path);
});
});