Skip to content

Commit 29c4aa9

Browse files
darkrisztyCopilot
andcommitted
Use MarkdownTextDocumentStub instead of openTextDocument to eliminate flaky timeouts.
Co-authored-by: Copilot <copilot@github.com>
1 parent 2d8e20b commit 29c4aa9

2 files changed

Lines changed: 13 additions & 21 deletions

File tree

test/systemTests/vsPrettyfierFromFile.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { MultiTablePrettyfier } from '../../src/prettyfiers/multiTablePrettyfier
2222
import { SingleTablePrettyfier } from '../../src/prettyfiers/singleTablePrettyfier';
2323
import { FairTableIndentationDetector } from '../../src/modelFactory/tableIndentationDetector';
2424
import { ValuePaddingProvider } from '../../src/writers/valuePaddingProvider';
25+
import { MarkdownTextDocumentStub } from '../stubs/markdownTextDocumentStub';
2526
import SystemTestsConfig from './systemTestsConfig';
2627

2728
export class VsPrettyfierFromFile {
@@ -31,22 +32,17 @@ export class VsPrettyfierFromFile {
3132
this._logger = logger == null ? new ConsoleLogger() : logger;
3233
}
3334

34-
public assertPrettyfiedAsExpected(fileNamePrefix: string): void {
35-
vscode.workspace.openTextDocument(`${fileNamePrefix}-input.md`)
36-
.then(inputDocument => {
37-
const edits = this.formatFile(inputDocument, fileNamePrefix);
38-
const expectedFileContents = readFileContents(`${fileNamePrefix}-expected.md`);
39-
this.assertEditsPrettyfied(inputDocument, edits, expectedFileContents);
40-
});
35+
public assertPrettyfiedAsExpected(fileNameRoot: string): void {
36+
const inputFileContents = readFileContents(`${fileNameRoot}-input.md`);
37+
const inputDocument = new MarkdownTextDocumentStub(inputFileContents);
38+
const edits = this.formatFile(inputDocument, fileNameRoot);
39+
const expectedFileContents = readFileContents(`${fileNameRoot}-expected.md`);
40+
this.assertEditsPrettyfied(edits, expectedFileContents);
4141
}
4242

43-
private assertEditsPrettyfied(inputDocument: vscode.TextDocument, edits: vscode.TextEdit[], expected: string): void {
44-
let actual = inputDocument.getText();
45-
for (let edit of edits) {
46-
const startIndex = inputDocument.offsetAt(edit.range.start);
47-
const endIndex = inputDocument.offsetAt(inputDocument.validatePosition(edit.range.end));
48-
actual = actual.substring(0, startIndex) + edit.newText + actual.substring(endIndex);
49-
}
43+
private assertEditsPrettyfied(edits: vscode.TextEdit[], expected: string): void {
44+
assert.strictEqual(edits.length, 1, "Expected exactly one edit replacing the entire document");
45+
const actual = edits[0].newText;
5046

5147
const expectedLines = expected.split(/\r\n|\r|\n/);
5248
const actualLines = actual.split(/\r\n|\r|\n/);
@@ -78,9 +74,9 @@ export class VsPrettyfierFromFile {
7874
)),
7975
new TableStringWriter(new ValuePaddingProvider(columnPadding)),
8076
[ this._logger ],
81-
new ConfigSizeLimitChecker([ this._logger ], 50000)
77+
new ConfigSizeLimitChecker([ this._logger ], 48000)
8278
),
83-
new ConfigSizeLimitChecker([ this._logger ], 50000)
79+
new ConfigSizeLimitChecker([ this._logger ], 48000)
8480
)
8581
);
8682
}

test/systemTests/vsPrettyfierSystemTests.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,8 @@ fs.readdir(path.resolve(__dirname, "resources/"), function(err, files) {
99

1010
for (let fileNameRoot of distinctTests) {
1111
test(`[${fileNameRoot}]`, () => {
12-
new VsPrettyfierFromFile().assertPrettyfiedAsExpected(nameWithDir(fileNameRoot));
12+
new VsPrettyfierFromFile().assertPrettyfiedAsExpected(fileNameRoot);
1313
});
1414
}
15-
16-
function nameWithDir(fileName: string) {
17-
return `resources/${fileName}`;
18-
}
1915
});
2016
});

0 commit comments

Comments
 (0)