Don't create console in package registry
This commit is contained in:
Родитель
fd07417c7f
Коммит
7a2890f56e
|
@ -63,7 +63,7 @@ namespace BasicConsoleApp
|
|||
("Program.cs", fileContent),
|
||||
("sample.csproj", "")
|
||||
};
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var document =
|
||||
$@"```{language} --source-file Program.cs
|
||||
```";
|
||||
|
@ -81,7 +81,7 @@ $@"```{language} --source-file Program.cs
|
|||
|
||||
var testDir = TestAssets.SampleConsole;
|
||||
var directoryAccessor = new InMemoryDirectoryAccessor(testDir);
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var document = @"
|
||||
```js --source-file Program.cs
|
||||
console.log(""Hello World"");
|
||||
|
@ -106,7 +106,7 @@ $@"<pre><code class=""{expectedClass}"">Console.WriteLine("Hello World"
|
|||
|
||||
var testDir = TestAssets.SampleConsole;
|
||||
var directoryAccessor = new InMemoryDirectoryAccessor(testDir);
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var document = $@"
|
||||
```{fenceLanguage}
|
||||
Console.WriteLine(""Hello World"");
|
||||
|
@ -124,7 +124,7 @@ Console.WriteLine(""Hello World"");
|
|||
{
|
||||
("sample.csproj", "")
|
||||
};
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var document =
|
||||
@"```cs --source-file DOESNOTEXIST
|
||||
```";
|
||||
|
@ -140,7 +140,7 @@ Console.WriteLine(""Hello World"");
|
|||
{
|
||||
("Program.cs", "")
|
||||
};
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var document =
|
||||
@"```cs --source-file Program.cs
|
||||
```";
|
||||
|
@ -162,7 +162,7 @@ Console.WriteLine(""Hello World"");
|
|||
var document =
|
||||
$@"```cs --project {projectPath} --source-file Program.cs
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
html.Should().Contain($"Project not found: ./{projectPath}");
|
||||
|
@ -179,7 +179,7 @@ $@"```cs --project {projectPath} --source-file Program.cs
|
|||
("src/sample/sample.csproj", "")
|
||||
};
|
||||
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
|
||||
var package = "../src/sample/sample.csproj";
|
||||
var document =
|
||||
|
@ -212,7 +212,7 @@ $@"```cs --project {package} --source-file ../src/sample/Program.cs
|
|||
($"src/sample/{projectName}", "")
|
||||
};
|
||||
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
|
||||
var package = $"../src/sample/{projectName}";
|
||||
var document =
|
||||
|
@ -316,7 +316,7 @@ namespace BasicConsoleApp
|
|||
var document =
|
||||
@"```cs --source-file Program.cs --region codeRegion
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -346,7 +346,7 @@ Console.WriteLine(""Hello World"");
|
|||
var document =
|
||||
$@"```cs --source-file {filename} --region codeRegion
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -376,7 +376,7 @@ Console.WriteLine(""Hello World"");
|
|||
var document =
|
||||
$@"```cs --source-file {sourceFile} --destination-file {destinationFile} --region codeRegion
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -405,7 +405,7 @@ Console.WriteLine(""Hello World"");
|
|||
var document =
|
||||
$@"```cs --source-file Program.cs --region {region}
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -430,7 +430,7 @@ $@"```cs --source-file Program.cs --region {region}
|
|||
var document =
|
||||
$@"```cs --source-file Program.cs --region {region}
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -461,7 +461,7 @@ $@"```cs --source-file Program.cs --region {region}
|
|||
var document =
|
||||
$@"```cs --source-file Program.cs --region {region}
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder).Build();
|
||||
var pipeline = new MarkdownPipelineBuilder().UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync()).Build();
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
||||
var htmlDocument = new HtmlDocument();
|
||||
|
@ -485,7 +485,7 @@ $@"```cs --source-file Program.cs --region {region}
|
|||
$@"```cs --source-file Program.cs --session {session}
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder()
|
||||
.UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder)
|
||||
.UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync())
|
||||
.Build();
|
||||
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
@ -512,7 +512,7 @@ $@"```cs --source-file Program.cs --region {region}
|
|||
@"```cs --source-file Program.cs
|
||||
```";
|
||||
var pipeline = new MarkdownPipelineBuilder()
|
||||
.UseCodeBlockAnnotations(directoryAccessor, Default.PackageFinder)
|
||||
.UseCodeBlockAnnotations(directoryAccessor,await Default.PackageFinder.ValueAsync())
|
||||
.Build();
|
||||
|
||||
var html = (await pipeline.RenderHtmlAsync(document)).EnforceLF();
|
||||
|
|
|
@ -135,7 +135,7 @@ namespace BasicConsoleApp
|
|||
```")
|
||||
};
|
||||
|
||||
var project = new MarkdownProject(dirAccessor, Default.PackageFinder);
|
||||
var project = new MarkdownProject(dirAccessor, await Default.PackageFinder.ValueAsync());
|
||||
project.TryGetMarkdownFile(new RelativeFilePath("docs/Readme.md"), out var markdownFile).Should().BeTrue();
|
||||
var htmlDocument = new HtmlDocument();
|
||||
htmlDocument.LoadHtml((await markdownFile.ToHtmlContentAsync()).ToString());
|
||||
|
@ -524,7 +524,7 @@ This is the end of the file"));
|
|||
"),
|
||||
("Program.cs", "")
|
||||
},
|
||||
Default.PackageFinder,
|
||||
await Default.PackageFinder.ValueAsync(),
|
||||
defaultCodeBlockAnnotations
|
||||
);
|
||||
|
||||
|
@ -548,7 +548,7 @@ This is the end of the file"));
|
|||
|
||||
var markdownProject = new MarkdownProject(
|
||||
directoryAccessor,
|
||||
Default.PackageFinder);
|
||||
await Default.PackageFinder.ValueAsync());
|
||||
|
||||
var markdownFile = markdownProject.GetAllMarkdownFiles().Single();
|
||||
var html = (await markdownFile.ToHtmlContentAsync()).ToString();
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace MLS.Agent.Tests
|
|||
public class GetAllMarkdownFiles
|
||||
{
|
||||
[Fact]
|
||||
public void Returns_list_of_all_relative_paths_to_all_markdown_files()
|
||||
public async Task Returns_list_of_all_relative_paths_to_all_markdown_files()
|
||||
{
|
||||
var workingDir = TestAssets.SampleConsole;
|
||||
var dirAccessor = new InMemoryDirectoryAccessor(workingDir)
|
||||
|
@ -29,7 +29,7 @@ namespace MLS.Agent.Tests
|
|||
("Program.cs", "")
|
||||
};
|
||||
|
||||
var project = new MarkdownProject(dirAccessor, Default.PackageFinder);
|
||||
var project = new MarkdownProject(dirAccessor, await Default.PackageFinder.ValueAsync());
|
||||
|
||||
var files = project.GetAllMarkdownFiles();
|
||||
|
||||
|
@ -42,11 +42,11 @@ namespace MLS.Agent.Tests
|
|||
public class TryGetMarkdownFile
|
||||
{
|
||||
[Fact]
|
||||
public void Returns_false_for_nonexistent_file()
|
||||
public async Task Returns_false_for_nonexistent_file()
|
||||
{
|
||||
var workingDir = TestAssets.SampleConsole;
|
||||
var dirAccessor = new InMemoryDirectoryAccessor(workingDir);
|
||||
var project = new MarkdownProject(dirAccessor, Default.PackageFinder);
|
||||
var project = new MarkdownProject(dirAccessor, await Default.PackageFinder.ValueAsync());
|
||||
var path = new RelativeFilePath("DOESNOTEXIST");
|
||||
|
||||
project.TryGetMarkdownFile(path, out _).Should().BeFalse();
|
||||
|
@ -70,7 +70,7 @@ namespace MLS.Agent.Tests
|
|||
("../Project1/Console1.csproj", @""),
|
||||
("../Project2/Console2.csproj", @"")
|
||||
},
|
||||
Default.PackageFinder);
|
||||
await Default.PackageFinder.ValueAsync());
|
||||
|
||||
var markdownFiles = project.GetAllMarkdownFiles();
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace MLS.Agent.Tools
|
||||
{
|
||||
|
@ -11,7 +12,7 @@ namespace MLS.Agent.Tools
|
|||
{
|
||||
if (result.ExitCode != 0)
|
||||
{
|
||||
throw new CommandLineInvocationException(result, message ?? string.Join("\n", result.Error));
|
||||
throw new CommandLineInvocationException(result, message ?? string.Join("\n", result.Error.Concat(result.Output)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task Run_starts_the_kestrel_server_and_provides_a_WebServer_feature_that_can_receive_requests()
|
||||
{
|
||||
var registry = Default.PackageFinder;
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
var server = new RoslynWorkspaceServer(registry);
|
||||
var package = await registry.Get<Package>("aspnet.webapi");
|
||||
await package.CreateRoslynWorkspaceAsync(new Budget()); // ensure the package exists on disk
|
||||
|
|
|
@ -4,20 +4,50 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Clockwise;
|
||||
using MLS.Agent.Tools;
|
||||
using WorkspaceServer.Packaging;
|
||||
|
||||
namespace WorkspaceServer.Tests
|
||||
{
|
||||
public static class Default
|
||||
public class Default
|
||||
{
|
||||
public static PackageRegistry PackageFinder { get; } = PackageRegistry.CreateForHostedMode();
|
||||
public static AsyncLazy<PackageRegistry> PackageFinder { get; } = new AsyncLazy<PackageRegistry>(async () =>
|
||||
{
|
||||
var _ = await _lazyConsolePackage.ValueAsync();
|
||||
return PackageRegistry.CreateForHostedMode();
|
||||
});
|
||||
|
||||
public static async Task<Package> ConsoleWorkspace() => await PackageFinder.Get<Package>("console");
|
||||
|
||||
public static async Task<Package> WebApiWorkspace() => await PackageFinder.Get<Package>("aspnet.webapi");
|
||||
public static AsyncLazy<Package> _lazyConsolePackage = new AsyncLazy<Package>(async () =>
|
||||
{
|
||||
var packageBuilder = new PackageBuilder("console");
|
||||
packageBuilder.CreateUsingDotnet("console");
|
||||
packageBuilder.TrySetLanguageVersion("8.0");
|
||||
packageBuilder.AddPackageReference("Newtonsoft.Json");
|
||||
var package = packageBuilder.GetPackage() as Package;
|
||||
await package.CreateRoslynWorkspaceForRunAsync(new Budget());
|
||||
return package;
|
||||
});
|
||||
|
||||
public static async Task<Package> XunitWorkspace() => await PackageFinder.Get<Package>("xunit");
|
||||
public static Task<Package> ConsoleWorkspace() => _lazyConsolePackage.ValueAsync();
|
||||
|
||||
public static async Task<Package> NetstandardWorkspace() => await PackageFinder.Get<Package>("blazor-console");
|
||||
public static async Task<Package> WebApiWorkspace()
|
||||
{
|
||||
var finder = await PackageFinder.ValueAsync();
|
||||
return await finder.Get<Package>("aspnet.webapi");
|
||||
}
|
||||
|
||||
public static async Task<Package> XunitWorkspace()
|
||||
{
|
||||
var finder = await PackageFinder.ValueAsync();
|
||||
return await finder.Get<Package>("xunit");
|
||||
}
|
||||
|
||||
public static async Task<Package> NetstandardWorkspace()
|
||||
{
|
||||
var finder = await PackageFinder.ValueAsync();
|
||||
return await finder.Get<Package>("blazor-console");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -32,7 +32,7 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task When_run_fails_to_compile_then_diagnostics_are_aligned_with_buffer_span()
|
||||
{
|
||||
var server = GetCodeCompiler();
|
||||
var server = await GetCodeCompilerAsync();
|
||||
|
||||
var workspace = new Workspace(
|
||||
workspaceType: "blazor-console",
|
||||
|
@ -54,7 +54,7 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task Compile_with_active_buffer_id_includes_diagnostics_on_edge_of_region()
|
||||
{
|
||||
var server = GetCodeCompiler();
|
||||
var server = await GetCodeCompilerAsync();
|
||||
|
||||
var workspace = new Workspace(
|
||||
workspaceType: "blazor-console",
|
||||
|
@ -75,7 +75,7 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task Compile_can_succeed_and_run()
|
||||
{
|
||||
var server = GetCodeCompiler();
|
||||
var server = await GetCodeCompilerAsync();
|
||||
|
||||
var workspace = new Workspace(
|
||||
workspaceType: "blazor-console",
|
||||
|
@ -96,6 +96,6 @@ namespace WorkspaceServer.Tests
|
|||
main.Invoke(null, new [] { new string[] { } });
|
||||
}
|
||||
|
||||
protected ICodeCompiler GetCodeCompiler() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected async Task<ICodeCompiler> GetCodeCompilerAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ namespace WorkspaceServer.Tests
|
|||
//[InlineData("blazor-nodatime.api", true, Skip = "Requires package design changes")]
|
||||
public async Task CanSupportBlazor_indicates_whether_the_package_supports_Wasm_runner(string packageName, bool expected)
|
||||
{
|
||||
var registry = Default.PackageFinder;
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
var package = await registry.Get<ICanSupportWasm>(packageName);
|
||||
package.CanSupportWasm.Should().Be(expected);
|
||||
}
|
||||
|
|
Двоичный файл не отображается.
|
@ -28,16 +28,16 @@ namespace WorkspaceServer.Tests
|
|||
|
||||
var ws = new Workspace(buffers: new[] { new Buffer("file.csx", processed, markLocation) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "file.csx");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetDiagnostics(request);
|
||||
result.Diagnostics.Should().NotBeEmpty();
|
||||
result.Diagnostics.Should().Contain(diagnostics => diagnostics.Message == "file.csx(1,1): error CS0103: The name \'addd\' does not exist in the current context");
|
||||
}
|
||||
|
||||
protected override ILanguageService GetLanguageService() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ILanguageService> GetLanguageServiceAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
|
||||
protected override ICodeCompiler GetCodeCompiler() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ICodeCompiler> GetCodeCompilerAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
|
||||
protected override ICodeRunner GetCodeRunner() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ICodeRunner> GetCodeRunnerAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
}
|
||||
}
|
|
@ -50,7 +50,7 @@ public class Program
|
|||
|
||||
var ws = new Workspace(buffers: new[] { new Buffer("file.csx", processed, markLocation) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "file.csx");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
result.Should().NotBeNull();
|
||||
result.Signatures.Should().BeNullOrEmpty();
|
||||
|
@ -87,7 +87,7 @@ public class Program
|
|||
var (processed, markLocation) = CodeManipulation.ProcessMarkup(code);
|
||||
var ws = new Workspace( buffers: new[] { new Buffer("file.csx", processed, markLocation) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "file.csx");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
result.Signatures.Should().NotBeEmpty();
|
||||
result.Signatures.First().Label.Should().Be("IEnumerable<TSource> Enumerable.Take<TSource>(IEnumerable<TSource> source, int count)");
|
||||
|
@ -101,7 +101,7 @@ public class Program
|
|||
|
||||
var ws = new Workspace(buffers: new[] { new Buffer("default.cs", processed, markLocation) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "default.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
|
@ -114,7 +114,7 @@ public class Program
|
|||
var (processed, markLocation) = CodeManipulation.ProcessMarkup("var xa = 3;\n$$a");
|
||||
var ws = new Workspace(buffers: new[] { new Buffer("default.cs", processed, markLocation) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "default.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
|
@ -146,7 +146,7 @@ public class Program
|
|||
|
||||
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "program.cs@nesting");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
result.Signatures.Should().NotBeEmpty();
|
||||
|
@ -165,7 +165,7 @@ public class Program
|
|||
var ws = new Workspace(buffers: new[] { new Buffer("program.cs", processed, markLocation) });
|
||||
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "program.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
result.Signatures.Should().NotBeEmpty();
|
||||
result.Signatures.First().Label.Should().Be("void C.Foo()");
|
||||
|
@ -176,7 +176,7 @@ public class Program
|
|||
{
|
||||
var ws = new Workspace(buffers: new[] { new Buffer("default.cs", "System.Threading.Tasks.", 23) });
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "default.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
var taskCompletionItem = result.Items.First(i => i.DisplayText == "Task");
|
||||
|
||||
|
@ -193,7 +193,7 @@ public class Program
|
|||
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "program.cs");
|
||||
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
|
@ -207,7 +207,7 @@ public class Program
|
|||
|
||||
var request = new WorkspaceRequest(ws, activeBufferId: "program.cs");
|
||||
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: new BufferId("Program.cs", "code"));
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetDiagnostics(request);
|
||||
|
||||
result.Diagnostics.Should().NotBeNullOrEmpty();
|
||||
|
@ -91,7 +91,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "Program.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetDiagnostics(request);
|
||||
|
||||
result.Diagnostics.Should().NotBeNullOrEmpty();
|
||||
|
@ -151,7 +151,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetDiagnostics(request);
|
||||
|
||||
result.Diagnostics.Should().NotBeNullOrEmpty();
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
result.Items.Should().NotContain(signature => string.IsNullOrEmpty(signature.Kind));
|
||||
|
@ -133,7 +133,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
|
@ -196,7 +196,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
result.Should().NotBeNull();
|
||||
|
@ -269,7 +269,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs@codeRegion");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
|
@ -339,7 +339,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs@codeRegion");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
result.Items.Should().NotBeNullOrEmpty();
|
||||
result.Items.Should().NotContain(signature => string.IsNullOrEmpty(signature.Kind));
|
||||
|
@ -389,7 +389,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs@codeRegion");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetCompletionList(request);
|
||||
result.Items.Should().BeEmpty();
|
||||
}
|
||||
|
@ -453,7 +453,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
result.Signatures.Should().NotBeNullOrEmpty();
|
||||
|
@ -512,7 +512,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
result.Should().NotBeNull();
|
||||
result.Signatures.Should().BeNullOrEmpty();
|
||||
|
@ -576,7 +576,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs@codeRegion");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
result.Signatures.Should().NotBeNullOrEmpty();
|
||||
|
@ -643,7 +643,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs@codeRegion");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
result.Signatures.Should().NotBeNullOrEmpty();
|
||||
|
@ -702,7 +702,7 @@ namespace FibonacciTest
|
|||
});
|
||||
|
||||
var request = new WorkspaceRequest(workspace, activeBufferId: "generators/FibonacciGenerator.cs");
|
||||
var server = GetLanguageService();
|
||||
var server = await GetLanguageServiceAsync();
|
||||
var result = await server.GetSignatureHelp(request);
|
||||
|
||||
result.Signatures.Should().NotBeNullOrEmpty();
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
using WorkspaceServer.Packaging;
|
||||
using WorkspaceServer.Servers.Roslyn;
|
||||
using Xunit.Abstractions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WorkspaceServer.Tests
|
||||
{
|
||||
|
@ -13,10 +14,10 @@ namespace WorkspaceServer.Tests
|
|||
{
|
||||
}
|
||||
|
||||
protected override ILanguageService GetLanguageService() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ILanguageService> GetLanguageServiceAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
|
||||
protected override ICodeCompiler GetCodeCompiler() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ICodeCompiler> GetCodeCompilerAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
|
||||
protected override ICodeRunner GetCodeRunner() => new RoslynWorkspaceServer(Default.PackageFinder);
|
||||
protected override async Task<ICodeRunner> GetCodeRunnerAsync() => new RoslynWorkspaceServer(await Default.PackageFinder.ValueAsync());
|
||||
}
|
||||
}
|
|
@ -28,12 +28,12 @@ namespace WorkspaceServer.Tests
|
|||
Workspace.FromSource(text, workspaceType: "script");
|
||||
|
||||
|
||||
protected override ILanguageService GetLanguageService() =>
|
||||
protected override Task<ILanguageService> GetLanguageServiceAsync() =>
|
||||
throw new NotImplementedException();
|
||||
|
||||
protected override ICodeCompiler GetCodeCompiler() => throw new NotImplementedException();
|
||||
protected override Task<ICodeCompiler> GetCodeCompilerAsync() => throw new NotImplementedException();
|
||||
|
||||
protected override ICodeRunner GetCodeRunner() => new ScriptingWorkspaceServer();
|
||||
protected override Task<ICodeRunner> GetCodeRunnerAsync() => Task.FromResult<ICodeRunner>(new ScriptingWorkspaceServer());
|
||||
|
||||
[Fact]
|
||||
public async Task Response_shows_fragment_return_value()
|
||||
|
@ -43,7 +43,7 @@ namespace WorkspaceServer.Tests
|
|||
var person = new { Name = ""Jeff"", Age = 20 };
|
||||
$""{person.Name} is {person.Age} year(s) old""", "script");
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -63,7 +63,7 @@ $""{person.Name} is {person.Age} year(s) old""", "script");
|
|||
{
|
||||
var workspace = Workspace.FromSource(@"
|
||||
Console.WriteLine(banana);", "script");
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -93,7 +93,7 @@ public static class Hello
|
|||
workspaceType: "script",
|
||||
usings: new[] { "System.Threading" });
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -118,7 +118,7 @@ public static class Hello
|
|||
Console.WriteLine(""Hello there!"");
|
||||
}
|
||||
}", workspaceType: "script");
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -138,7 +138,7 @@ public static class Hello
|
|||
Console.WriteLine(""Hello there!"");
|
||||
}
|
||||
}", workspaceType: "script");
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -165,7 +165,7 @@ public static class Hello
|
|||
workspaceType: "script",
|
||||
files: new[] { new File("Main.cs", fileCode) },
|
||||
buffers: new[] { new Buffer(@"Main.cs@toReplace", @"Console.WriteLine(""Hello there!"");", 0) });
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
|
@ -191,7 +191,7 @@ public static class Hello
|
|||
files: new[] { new File("Main.cs", fileCode) },
|
||||
buffers: new[] { new Buffer(@"Main.cs@toReplace", @"Console.WriteLine(banana);", 0) });
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
var result = await server.Run(new WorkspaceRequest(workspace));
|
||||
|
||||
result.Should().BeEquivalentTo(new
|
||||
|
|
|
@ -20,7 +20,6 @@ namespace WorkspaceServer.Tests
|
|||
public class WorkspaceServerRegistryTests : IDisposable
|
||||
{
|
||||
private readonly CompositeDisposable _disposables = new CompositeDisposable();
|
||||
private readonly PackageRegistry _registry = Default.PackageFinder;
|
||||
|
||||
public WorkspaceServerRegistryTests(ITestOutputHelper output)
|
||||
{
|
||||
|
@ -35,10 +34,11 @@ namespace WorkspaceServer.Tests
|
|||
{
|
||||
var packageName = PackageUtilities.CreateDirectory(nameof(Workspaces_can_be_registered_to_be_created_using_dotnet_new)).Name;
|
||||
|
||||
_registry.Add(packageName,
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
registry.Add(packageName,
|
||||
options => options.CreateUsingDotnet("console"));
|
||||
|
||||
var package = await _registry.Get<ICreateWorkspaceForRun>(packageName);
|
||||
var package = await registry.Get<ICreateWorkspaceForRun>(packageName);
|
||||
|
||||
var workspace = await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));
|
||||
|
||||
|
@ -51,7 +51,8 @@ namespace WorkspaceServer.Tests
|
|||
{
|
||||
var unregisteredWorkspace = await Default.ConsoleWorkspace();
|
||||
|
||||
var package = await _registry.Get<ICreateWorkspaceForRun>(unregisteredWorkspace.Name);
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
var package = await registry.Get<ICreateWorkspaceForRun>(unregisteredWorkspace.Name);
|
||||
|
||||
var workspace = await package.CreateRoslynWorkspaceForRunAsync(new TimeBudget(30.Seconds()));
|
||||
|
||||
|
@ -61,8 +62,9 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task When_workspace_was_not_registered_then_GetWorkspaceServer_will_return_a_working_server()
|
||||
{
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
var unregisteredWorkspace = await Default.ConsoleWorkspace();
|
||||
var server = new RoslynWorkspaceServer(_registry);
|
||||
var server = new RoslynWorkspaceServer(registry);
|
||||
|
||||
var workspaceRequest = WorkspaceRequestFactory.CreateRequestFromDirectory(unregisteredWorkspace.Directory, unregisteredWorkspace.Name);
|
||||
|
||||
|
@ -80,14 +82,15 @@ namespace WorkspaceServer.Tests
|
|||
|
||||
var childDirectory = parentDirectory.CreateSubdirectory(workspaceName);
|
||||
|
||||
_registry.Add(
|
||||
var registry = await Default.PackageFinder.ValueAsync();
|
||||
registry.Add(
|
||||
workspaceName,
|
||||
builder =>
|
||||
{
|
||||
builder.Directory = childDirectory;
|
||||
});
|
||||
|
||||
var workspace = await _registry.Get<IHaveADirectory>(workspaceName);
|
||||
var workspace = await registry.Get<IHaveADirectory>(workspaceName);
|
||||
|
||||
workspace.Directory.Should().Be(childDirectory);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace WorkspaceServer.Tests
|
|||
{
|
||||
using (LogEvents.Subscribe(e => Console.WriteLine(e.ToLogString())))
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var result = await server.Run(
|
||||
new WorkspaceRequest(
|
||||
|
@ -49,7 +49,7 @@ namespace WorkspaceServer.Tests
|
|||
[Fact]
|
||||
public async Task Response_indicates_when_compile_is_successful_and_signature_is_like_a_console_app()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource(@"
|
||||
using System;
|
||||
|
@ -74,7 +74,7 @@ public static class Hello
|
|||
{
|
||||
var output = nameof(Response_shows_program_output_when_compile_is_successful_and_signature_is_like_a_console_app);
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource($@"
|
||||
using System;
|
||||
|
@ -96,7 +96,7 @@ public static class Hello
|
|||
[Fact]
|
||||
public async Task Response_shows_program_output_when_compile_is_successful_and_signature_is_a_fragment_containing_console_output()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
var person = new { Name = ""Jeff"", Age = 20 };
|
||||
|
@ -112,7 +112,7 @@ Console.Write(s);");
|
|||
[Fact]
|
||||
public async Task When_compile_is_unsuccessful_then_no_exceptions_are_shown()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine(banana);");
|
||||
|
@ -125,7 +125,7 @@ Console.WriteLine(banana);");
|
|||
[Fact]
|
||||
public async Task When_compile_is_unsuccessful_then_diagnostics_are_displayed_in_output()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine(banana);");
|
||||
|
@ -140,7 +140,7 @@ Console.WriteLine(banana);");
|
|||
[Fact]
|
||||
public async Task Multi_line_console_output_is_captured_correctly_a()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine(1);
|
||||
|
@ -157,7 +157,7 @@ Console.WriteLine(4);");
|
|||
[Fact]
|
||||
public async Task Multi_line_console_output_is_captured_correctly()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine(1);
|
||||
|
@ -175,7 +175,7 @@ Console.WriteLine(4);");
|
|||
public async Task Whitespace_is_preserved_in_multi_line_output()
|
||||
{
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine();
|
||||
|
@ -192,7 +192,7 @@ Console.WriteLine(2);");
|
|||
[Fact]
|
||||
public async Task Multi_line_console_output_is_captured_correctly_when_an_exception_is_thrown()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
Console.WriteLine(1);
|
||||
|
@ -214,7 +214,7 @@ Console.WriteLine(4);");
|
|||
[Fact]
|
||||
public async Task When_the_users_code_throws_on_first_line_then_it_is_returned_as_an_exception_property()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"throw new Exception(""oops!"");");
|
||||
|
||||
|
@ -227,7 +227,7 @@ Console.WriteLine(4);");
|
|||
[Fact]
|
||||
public async Task When_the_users_code_throws_on_subsequent_line_then_it_is_returned_as_an_exception_property()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var request = CreateWorkspaceWithMainContaining(@"
|
||||
throw new Exception(""oops!"");");
|
||||
|
@ -241,7 +241,7 @@ throw new Exception(""oops!"");");
|
|||
[Fact]
|
||||
public async Task When_a_public_void_Main_with_no_parameters_is_present_it_is_invoked()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource(@"
|
||||
using System;
|
||||
|
@ -262,7 +262,7 @@ public static class Hello
|
|||
[Fact]
|
||||
public async Task When_a_public_void_Main_with_parameters_is_present_it_is_invoked()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource(@"
|
||||
using System;
|
||||
|
@ -283,7 +283,7 @@ public static class Hello
|
|||
[Fact]
|
||||
public async Task When_an_internal_void_Main_with_no_parameters_is_present_it_is_invoked()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource(@"
|
||||
using System;
|
||||
|
@ -306,7 +306,7 @@ public static class Hello
|
|||
[Fact]
|
||||
public async Task When_an_internal_void_Main_with_parameters_is_present_it_is_invoked()
|
||||
{
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = Workspace.FromSource(@"
|
||||
using System;
|
||||
|
@ -331,7 +331,7 @@ public static class Hello
|
|||
{
|
||||
var output = nameof(Response_shows_warnings_with_successful_compilation);
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = CreateWorkspaceWithMainContaining($@"
|
||||
using System;
|
||||
|
@ -358,7 +358,7 @@ public static class Hello
|
|||
{
|
||||
var output = nameof(Response_shows_warnings_when_compilation_fails);
|
||||
|
||||
var server = GetCodeRunner();
|
||||
var server = await GetCodeRunnerAsync();
|
||||
|
||||
var workspace = CreateWorkspaceWithMainContaining($@"
|
||||
using System;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Pocket;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
|
@ -18,10 +19,10 @@ namespace WorkspaceServer.Tests
|
|||
|
||||
public void Dispose() => _disposables.Dispose();
|
||||
|
||||
protected abstract ILanguageService GetLanguageService();
|
||||
protected abstract Task<ILanguageService> GetLanguageServiceAsync();
|
||||
|
||||
protected abstract ICodeCompiler GetCodeCompiler();
|
||||
protected abstract Task<ICodeCompiler> GetCodeCompilerAsync();
|
||||
|
||||
protected abstract ICodeRunner GetCodeRunner();
|
||||
protected abstract Task<ICodeRunner> GetCodeRunnerAsync();
|
||||
}
|
||||
}
|
|
@ -182,14 +182,6 @@ namespace WorkspaceServer
|
|||
createRebuildablePackages: false,
|
||||
packageFinders: finders);
|
||||
|
||||
registry.Add("console",
|
||||
packageBuilder =>
|
||||
{
|
||||
packageBuilder.CreateUsingDotnet("console");
|
||||
packageBuilder.TrySetLanguageVersion("8.0");
|
||||
packageBuilder.AddPackageReference("Newtonsoft.Json");
|
||||
});
|
||||
|
||||
registry.Add("nodatime.api",
|
||||
packageBuilder =>
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче