mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 10:15:07 +08:00
Fixes: https://github.com/nodejs/node/issues/61878 PR-URL: https://github.com/nodejs/node/pull/61950 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
24 lines
1017 B
JavaScript
24 lines
1017 B
JavaScript
// Regression test for https://github.com/nodejs/node/issues/61878
|
|
// fs.cpSync should copy files when destination path has UTF characters.
|
|
import '../common/index.mjs';
|
|
import { cpSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
import { join } from 'node:path';
|
|
import assert from 'node:assert';
|
|
import tmpdir from '../common/tmpdir.js';
|
|
|
|
tmpdir.refresh();
|
|
|
|
const src = join(tmpdir.path, 'src');
|
|
mkdirSync(join(src, 'subdir'), { recursive: true });
|
|
writeFileSync(join(src, 'file1.txt'), 'Hello World');
|
|
writeFileSync(join(src, 'subdir', 'nested.txt'), 'Nested File');
|
|
|
|
const dest = join(tmpdir.path, 'Eyjafjallajökull-Pranckevičius');
|
|
cpSync(src, dest, { recursive: true, force: true });
|
|
|
|
const destFiles = readdirSync(dest);
|
|
assert.ok(destFiles.includes('file1.txt'));
|
|
assert.strictEqual(readFileSync(join(dest, 'file1.txt'), 'utf8'), 'Hello World');
|
|
assert.ok(destFiles.includes('subdir'));
|
|
assert.strictEqual(readFileSync(join(dest, 'subdir', 'nested.txt'), 'utf8'), 'Nested File');
|