1'use strict';
2
3require('../common');
4const fs = require('node:fs');
5const path = require('node:path');
6const assert = require('node:assert');
7const { describe, it } = require('node:test');
8const tmpdir = require('../common/tmpdir');
9
10tmpdir.refresh();
11
12describe('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});
32