From 4edf8d685b8b69ba2d0618696b385eb64ed47416 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 21 Feb 2025 10:46:13 +0100 Subject: [PATCH] encoding - add a test that simulates saving a document with different encoding (#241448) * encoding - add a test that simulates saving a document with different encoding * update pointer to issue --- .../src/singlefolder-tests/workspace.test.ts | 18 ++++++++++++++++++ .../vscode.proposed.textDocumentEncoding.d.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts index 501efe7e230..b75235f4473 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts @@ -1480,4 +1480,22 @@ suite('vscode API - workspace', () => { } return true; } + + test('encoding: save text document with a different encoding', async () => { + const originalText = 'Hellö\nWörld'; + const uri = await createRandomFile(originalText); + + let doc = await vscode.workspace.openTextDocument(uri); + assert.strictEqual(doc.encoding, 'utf8'); + + const text = doc.getText(); + assert.strictEqual(text, originalText); + const buf = await vscode.workspace.encode(text, uri, { encoding: 'windows1252' }); + await vscode.workspace.fs.writeFile(uri, buf); + + doc = await vscode.workspace.openTextDocument(uri, { encoding: 'windows1252' }); + assert.strictEqual(doc.encoding, 'windows1252'); + const updatedText = doc.getText(); + assert.strictEqual(updatedText, text); + }); }); diff --git a/src/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts b/src/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts index 73ca9341b70..5a0c99aa207 100644 --- a/src/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +++ b/src/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts @@ -5,7 +5,7 @@ declare module 'vscode' { - // https://github.com/microsoft/vscode/issues/824 + // https://github.com/microsoft/vscode/issues/241449 export interface TextDocument {