public async Task ReturnsEmptyResultWhenDefinitionIsNotFound() { var source1 = @"using System; class Foo { }"; var source2 = @"class Bar { private Baz foo; }"; var workspace = await TestHelpers.CreateSimpleWorkspace(new Dictionary <string, string> { { "foo.cs", source1 }, { "bar.cs", source2 } }); var controller = new GotoDefinitionService(workspace, CreateMetadataHelper()); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 1, Column = 13, Timeout = 60000 }); Assert.Null(definitionResponse.FileName); Assert.Equal(0, definitionResponse.Line); Assert.Equal(0, definitionResponse.Column); }
public async Task ReturnsEmptyResultWhenDefinitionIsNotFound() { var source1 = @"using System; class Foo { }"; var source2 = @"class Bar { private Baz foo; }"; var workspace = await TestHelpers.CreateSimpleWorkspace(new Dictionary<string, string> { { "foo.cs", source1 }, { "bar.cs", source2} }); var controller = new GotoDefinitionService(workspace); RequestHandler<GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 2, Column = 14, Timeout = 60000 }); Assert.Null(definitionResponse.FileName); Assert.Equal(0, definitionResponse.Line); Assert.Equal(0, definitionResponse.Column); }
public async Task ReturnsLocationSourceDefinition() { var source1 = @"using System; class Foo { }"; var source2 = @"class Bar { private Foo foo; }"; var workspace = await TestHelpers.CreateSimpleWorkspace(new Dictionary<string, string> { { "foo.cs", source1 }, { "bar.cs", source2} }); var controller = new GotoDefinitionService(workspace, CreateMetadataHelper()); RequestHandler<GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 2, Column = 14, Timeout = 60000 }); Assert.Equal("foo.cs", definitionResponse.FileName); Assert.Equal(3, definitionResponse.Line); Assert.Equal(7, definitionResponse.Column); }
public async Task ReturnsLocationSourceDefinition() { var source1 = @"using System; class Foo { }"; var source2 = @"class Bar { private Foo foo; }"; var workspace = await TestHelpers.CreateSimpleWorkspace(new Dictionary <string, string> { { "foo.cs", source1 }, { "bar.cs", source2 } }); var controller = new GotoDefinitionService(workspace); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 2, Column = 14, Timeout = 60000 }); Assert.Equal("foo.cs", definitionResponse.FileName); Assert.Equal(3, definitionResponse.Line); Assert.Equal(7, definitionResponse.Column); }
public async Task ReturnsFullNameInMetadata_WhenSymbolIsType() { var controller = new GotoDefinitionService(await CreateTestWorkspace(), CreateMetadataHelper()); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 9, Column = 22, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("System.Private.CoreLib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.String", definitionResponse.MetadataSource.TypeName); Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsPositionInMetadata_WhenSymbolIsGenericType() { var controller = new GotoDefinitionService(await CreateTestWorkspace(), CreateMetadataHelper()); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 12, Column = 26, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("mscorlib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.Collections.Generic.Dictionary`2", definitionResponse.MetadataSource.TypeName); Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsPositionInMetadata_WhenSymbolIsExtensionMethod() { var controller = new GotoDefinitionService(await CreateTestWorkspace()); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 11, Column = 17, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("System.Core", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.Linq.Enumerable", definitionResponse.MetadataSource.TypeName); Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsPositionInMetadata_WhenSymbolIsMethod() { var controller = new GotoDefinitionService(await CreateTestWorkspace(), CreateMetadataHelper()); RequestHandler <GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 12, Column = 17, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("System.Private.CoreLib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.Guid", definitionResponse.MetadataSource.TypeName); // We probably shouldn't hard code metadata locations (they could change randomly) Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsPositionInMetadata_WhenSymbolIsMethod() { var controller = new GotoDefinitionService(await CreateTestWorkspace()); RequestHandler<GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 13, Column = 18, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("mscorlib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.Guid", definitionResponse.MetadataSource.TypeName); // We probably shouldn't hard code metadata locations (they could change randomly) Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsPositionInMetadata_WhenSymbolIsExtensionMethod() { var controller = new GotoDefinitionService( await CreateTestWorkspace()); RequestHandler<GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 11, Column = 17, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("mscorlib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.Collections.Generic.List`1", definitionResponse.MetadataSource.TypeName); Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }
public async Task ReturnsFullNameInMetadata_WhenSymbolIsType() { var controller = new GotoDefinitionService(await CreateTestWorkspace(), CreateMetadataHelper()); RequestHandler<GotoDefinitionRequest, GotoDefinitionResponse> requestHandler = controller; var definitionResponse = await requestHandler.Handle(new GotoDefinitionRequest { FileName = "bar.cs", Line = 10, Column = 23, Timeout = 60000, WantMetadata = true }); Assert.Null(definitionResponse.FileName); Assert.NotNull(definitionResponse.MetadataSource); Assert.Equal("mscorlib", definitionResponse.MetadataSource.AssemblyName); Assert.Equal("System.String", definitionResponse.MetadataSource.TypeName); Assert.NotEqual(0, definitionResponse.Line); Assert.NotEqual(0, definitionResponse.Column); }