diff --git a/src/vs/workbench/services/textfile/test/fixtures/utf16_be_nobom.txt b/src/vs/workbench/services/textfile/test/fixtures/utf16_be_nobom.txt new file mode 100644 index 00000000000..63c29412093 Binary files /dev/null and b/src/vs/workbench/services/textfile/test/fixtures/utf16_be_nobom.txt differ diff --git a/src/vs/workbench/services/textfile/test/fixtures/utf16_le_nobom.txt b/src/vs/workbench/services/textfile/test/fixtures/utf16_le_nobom.txt new file mode 100644 index 00000000000..7b94ff215b0 Binary files /dev/null and b/src/vs/workbench/services/textfile/test/fixtures/utf16_le_nobom.txt differ diff --git a/src/vs/workbench/services/textfile/test/textFileService.io.test.ts b/src/vs/workbench/services/textfile/test/textFileService.io.test.ts index ce62c9606d0..481e499a3e1 100644 --- a/src/vs/workbench/services/textfile/test/textFileService.io.test.ts +++ b/src/vs/workbench/services/textfile/test/textFileService.io.test.ts @@ -556,6 +556,20 @@ suite('Files - TextFileService i/o', () => { assert.ok(contents.indexOf(needle, 10) > 0); } + test('readStream - UTF16 LE (no BOM)', async () => { + const resource = URI.file(join(testDir, 'utf16_le_nobom.txt')); + + const result = await service.readStream(resource); + assert.equal(result.encoding, 'utf16le'); + }); + + test('readStream - UTF16 BE (no BOM)', async () => { + const resource = URI.file(join(testDir, 'utf16_be_nobom.txt')); + + const result = await service.readStream(resource); + assert.equal(result.encoding, 'utf16be'); + }); + test('readStream - FILE_IS_BINARY', async () => { const resource = URI.file(join(testDir, 'binary.txt'));