diff --git a/extensions/markdown-language-features/src/test/inMemoryDocument.ts b/extensions/markdown-language-features/src/test/inMemoryDocument.ts index 052216f90f5..8f5f6fe78ab 100644 --- a/extensions/markdown-language-features/src/test/inMemoryDocument.ts +++ b/extensions/markdown-language-features/src/test/inMemoryDocument.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; - +import * as os from 'os'; export class InMemoryDocument implements vscode.TextDocument { private readonly _lines: string[]; @@ -13,7 +13,7 @@ export class InMemoryDocument implements vscode.TextDocument { private readonly _contents: string, public readonly version = 1, ) { - this._lines = this._contents.split(/\n/g); + this._lines = this._contents.split(/\r\n|\n/g); } @@ -21,7 +21,7 @@ export class InMemoryDocument implements vscode.TextDocument { languageId: string = ''; isDirty: boolean = false; isClosed: boolean = false; - eol: vscode.EndOfLine = vscode.EndOfLine.LF; + eol: vscode.EndOfLine = os.platform() === 'win32' ? vscode.EndOfLine.CRLF : vscode.EndOfLine.LF; notebook: undefined; get fileName(): string { @@ -47,9 +47,9 @@ export class InMemoryDocument implements vscode.TextDocument { } positionAt(offset: number): vscode.Position { const before = this._contents.slice(0, offset); - const newLines = before.match(/\n/g); + const newLines = before.match(/\r\n|\n/g); const line = newLines ? newLines.length : 0; - const preCharacters = before.match(/(\n|^).*$/g); + const preCharacters = before.match(/(\r\n|\n|^).*$/g); return new vscode.Position(line, preCharacters ? preCharacters[0].length : 0); } getText(_range?: vscode.Range | undefined): string { diff --git a/extensions/markdown-language-features/src/test/smartSelect.test.ts b/extensions/markdown-language-features/src/test/smartSelect.test.ts index 11ed99230c2..98f2a5de607 100644 --- a/extensions/markdown-language-features/src/test/smartSelect.test.ts +++ b/extensions/markdown-language-features/src/test/smartSelect.test.ts @@ -483,7 +483,7 @@ suite('markdown.SmartSelect', () => { )); assertNestedRangesEqual(ranges![0], [0, 12, 0, 26], [0, 11, 0, 27], [0, 11, 0, 47], [0, 0, 0, 56]); }); - test.skip('Smart select brackets under header in list', async () => { + test('Smart select brackets under header in list', async () => { const ranges = await getSelectionRangesForDocument( joinLines( `# main header 1`, @@ -495,9 +495,9 @@ suite('markdown.SmartSelect', () => { `- stuff here [te${CURSOR}xt](https://google.com) and here`, `- list` )); - assertNestedRangesEqual(ranges![0], [6, 14, 6, 28], [6, 13, 6, 29], [6, 13, 6, 49], [6, 0, 6, 59], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); + assertNestedRangesEqual(ranges![0], [6, 14, 6, 28], [6, 13, 6, 29], [6, 13, 6, 49], [6, 0, 6, 58], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); }); - test.skip('Smart select link under header in list', async () => { + test('Smart select link under header in list', async () => { const ranges = await getSelectionRangesForDocument( joinLines( `# main header 1`, @@ -509,9 +509,9 @@ suite('markdown.SmartSelect', () => { `- stuff here [text](${CURSOR}https://google.com) and here`, `- list` )); - assertNestedRangesEqual(ranges![0], [6, 20, 6, 48], [6, 19, 6, 49], [6, 13, 6, 49], [6, 0, 6, 59], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); + assertNestedRangesEqual(ranges![0], [6, 20, 6, 48], [6, 19, 6, 49], [6, 13, 6, 49], [6, 0, 6, 58], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); }); - test.skip('Smart select bold within list where multiple bold elements exists', async () => { + test('Smart select bold within list where multiple bold elements exists', async () => { const ranges = await getSelectionRangesForDocument( joinLines( `# main header 1`, @@ -523,7 +523,7 @@ suite('markdown.SmartSelect', () => { `- stuff here [text]**${CURSOR}items in here** and **here**`, `- list` )); - assertNestedRangesEqual(ranges![0], [6, 21, 6, 44], [6, 19, 6, 46], [6, 0, 6, 60], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); + assertNestedRangesEqual(ranges![0], [6, 21, 6, 44], [6, 19, 6, 46], [6, 0, 6, 59], [5, 0, 7, 6], [4, 0, 7, 6], [1, 0, 7, 6], [0, 0, 7, 6]); }); test('Smart select link in paragraph with multiple links', async () => { const ranges = await getSelectionRangesForDocument(