Skip to content

Commit d540f55

Browse files
mertcanaltinrichardlau
authored andcommitted
test: test surrogate pair filenames on windows
PR-URL: nodejs#51800 Fixes: nodejs#51789 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Marco Ippolito <[email protected]>
1 parent c623d8e commit d540f55

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'use strict';
2+
3+
require('../common');
4+
const fs = require('node:fs');
5+
const path = require('node:path');
6+
const assert = require('node:assert');
7+
const { describe, it } = require('node:test');
8+
const tmpdir = require('../common/tmpdir');
9+
10+
tmpdir.refresh();
11+
12+
describe('File operations with filenames containing surrogate pairs', () => {
13+
it('should write, read, and delete a file with surrogate pairs in the filename', () => {
14+
// Create a temporary directory
15+
const tempdir = fs.mkdtempSync(tmpdir.resolve('emoji-fruit-🍇 🍈 🍉 🍊 🍋'));
16+
assert.strictEqual(fs.existsSync(tempdir), true);
17+
18+
const filename = '🚀🔥🛸.txt';
19+
const content = 'Test content';
20+
21+
// Write content to a file
22+
fs.writeFileSync(path.join(tempdir, filename), content);
23+
24+
// Read content from the file
25+
const readContent = fs.readFileSync(path.join(tempdir, filename), 'utf8');
26+
27+
// Check if the content matches
28+
assert.strictEqual(readContent, content);
29+
30+
});
31+
});

0 commit comments

Comments
 (0)