Path: blob/main/src/vs/editor/contrib/gotoSymbol/test/browser/referencesModel.test.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import assert from 'assert';6import { URI } from '../../../../../base/common/uri.js';7import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js';8import { Position } from '../../../../common/core/position.js';9import { Range } from '../../../../common/core/range.js';10import { ReferencesModel } from '../../browser/referencesModel.js';1112suite('references', function () {1314ensureNoDisposablesAreLeakedInTestSuite();1516test('nearestReference', () => {17const model = new ReferencesModel([{18uri: URI.file('/out/obj/can'),19range: new Range(1, 1, 1, 1)20}, {21uri: URI.file('/out/obj/can2'),22range: new Range(1, 1, 1, 1)23}, {24uri: URI.file('/src/can'),25range: new Range(1, 1, 1, 1)26}], 'FOO');2728let ref = model.nearestReference(URI.file('/src/can'), new Position(1, 1));29assert.strictEqual(ref!.uri.path, '/src/can');3031ref = model.nearestReference(URI.file('/src/someOtherFileInSrc'), new Position(1, 1));32assert.strictEqual(ref!.uri.path, '/src/can');3334ref = model.nearestReference(URI.file('/out/someOtherFile'), new Position(1, 1));35assert.strictEqual(ref!.uri.path, '/out/obj/can');3637ref = model.nearestReference(URI.file('/out/obj/can2222'), new Position(1, 1));38assert.strictEqual(ref!.uri.path, '/out/obj/can2');39});4041});424344