提交 559b64b3 编写于 作者: C CyrusNajmabadi

Merge branch 'removeSynchronousFindRefs' into moveAPIUP

......@@ -213,8 +213,6 @@
<Compile Include="Extensions\ITextSnapshotExtensionsTests.cs" />
<Compile Include="Extensions\ITextSnapshotLineExtensionsTests.cs" />
<Compile Include="Extensions\SetExtensionTests.cs" />
<Compile Include="FindReferences\FindReferencesCommandHandlerTests.cs" />
<Compile Include="FindReferences\MockDefinitionsAndReferencesPresenter.cs" />
<Compile Include="LineSeparators\AdornmentManagerTests.cs" />
<Compile Include="LinkedFiles\LinkedFileDiffMergingEditorTests.cs" />
<Compile Include="MetadataAsSource\AbstractMetadataAsSourceTests.cs" />
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.FindReferences;
using Microsoft.CodeAnalysis.Editor.Host;
using Microsoft.CodeAnalysis.Editor.UnitTests.Utilities;
using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces;
using Microsoft.CodeAnalysis.FindUsages;
using Microsoft.CodeAnalysis.Shared.TestHooks;
using Microsoft.VisualStudio.Text;
using Roslyn.Test.Utilities;
using Roslyn.Utilities;
using Xunit;
namespace Microsoft.CodeAnalysis.Editor.UnitTests.FindReferences
{
public class FindReferencesCommandHandlerTests
{
[WpfFact, Trait(Traits.Feature, Traits.Features.FindReferences)]
public void TestFindReferencesSynchronousCall()
{
using (var workspace = TestWorkspace.CreateCSharp("class C { C() { new C(); } }"))
{
var findReferencesPresenter = new MockDefinitionsAndReferencesPresenter();
var handler = new FindReferencesCommandHandler(
TestWaitIndicator.Default,
SpecializedCollections.SingletonEnumerable(findReferencesPresenter),
SpecializedCollections.EmptyEnumerable<Lazy<IStreamingFindUsagesPresenter>>(),
workspace.ExportProvider.GetExports<IAsynchronousOperationListener, FeatureMetadata>());
var textView = workspace.Documents[0].GetTextView();
textView.Caret.MoveTo(new SnapshotPoint(textView.TextSnapshot, 7));
handler.ExecuteCommand(new FindReferencesCommandArgs(
textView,
textView.TextBuffer), () => { });
AssertResult(findReferencesPresenter.DefinitionsAndReferences, "C", ".ctor");
}
}
private bool AssertResult(
DefinitionsAndReferences definitionsAndReferences,
params string[] definitions)
{
return definitionsAndReferences.Definitions.Select(r => r.DisplayParts.JoinText())
.SetEquals(definitions);
}
}
}
\ No newline at end of file
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.CodeAnalysis.Editor.Host;
using Microsoft.CodeAnalysis.FindUsages;
namespace Microsoft.CodeAnalysis.Editor.UnitTests.FindReferences
{
internal class MockDefinitionsAndReferencesPresenter : IDefinitionsAndReferencesPresenter
{
public DefinitionsAndReferences DefinitionsAndReferences;
public void DisplayResult(DefinitionsAndReferences definitionsAndReferences)
{
DefinitionsAndReferences = definitionsAndReferences;
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册