Fix refs to own file being included in md ref results from other file

For #146277
This commit is contained in:
Matt Bierner
2022-03-30 15:22:02 -07:00
parent 982a353285
commit 6c7ba2de69
2 changed files with 27 additions and 2 deletions

View File

@@ -244,12 +244,33 @@ suite('markdown: find all references', () => {
]));
assertReferencesEqual(refs!,
{ uri: docUri, line: 0 }, // Header definition
{ uri: docUri, line: 0 },
{ uri: docUri, line: 1 },
{ uri: docUri, line: 2 },
);
});
test('Should not include refs from other file to own header', async () => {
const docUri = workspacePath('doc.md');
const otherUri = workspacePath('sub', 'other.md');
const doc = new InMemoryDocument(docUri, joinLines(
`[other](./sub/other)`,
));
const refs = await getReferences(doc, new vscode.Position(0, 15), new InMemoryWorkspaceMarkdownDocuments([
doc,
new InMemoryDocument(otherUri, joinLines(
`# header`, // Definition should not be included since we triggered on a file link
`[text](#header)`, // Definition should not be included since we triggered on a file link
)),
]));
assertReferencesEqual(refs!,
{ uri: docUri, line: 0 },
);
});
suite('Reference links', () => {
test('Should find reference links within file', async () => {
const docUri = workspacePath('doc.md');