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 {