/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/Core/MSBuildTaskTests/CsiTests.cs
96 строк
3 KB
Jared Parsons
generated move
28 сен 2020, 19:36
28 сен 2020, 19:36
1cca63b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using Xunit; namespace Microsoft.CodeAnalysis.BuildTasks.UnitTests { public sealed class CsiTests { [Fact] public void SingleSource() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); Assert.Equal("/i- test.csx", csi.GenerateResponseFileContents()); } [Fact] public void Features() { Action<string> test = (s) => { var csi = new Csi(); csi.Features = s; csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); Assert.Equal("/i- /features:a /features:b test.csx", csi.GenerateResponseFileContents()); }; test("a;b"); test("a,b"); test("a b"); test(",a;b "); test(";a;;b;"); test(",a,,b,"); } [Fact] public void FeaturesEmpty() { foreach (var cur in new[] { "", null }) { var csi = new Csi(); csi.Features = cur; csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); Assert.Equal("/i- test.csx", csi.GenerateResponseFileContents()); } } [Fact] public void ScriptArguments() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); csi.ScriptArguments = new[] { "-Arg1", "-Arg2" }; Assert.Equal("/i- test.csx -Arg1 -Arg2", csi.GenerateResponseFileContents()); } [Fact] public void ScriptArgumentsNeedQuotes() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); csi.ScriptArguments = new[] { @"C:\Some Path\Some File.ini", @"C:\Some Path\Some Other File.bak" }; Assert.Equal(@"/i- test.csx ""C:\Some Path\Some File.ini"" ""C:\Some Path\Some Other File.bak""", csi.GenerateResponseFileContents()); } [Fact] public void QuotedScriptArguments() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); csi.ScriptArguments = new[] { @"""C:\Some Path\Some File.ini""", @"""C:\Some Path\Some Other File.bak""" }; Assert.Equal(@"/i- test.csx ""\""C:\Some Path\Some File.ini\"""" ""\""C:\Some Path\Some Other File.bak\""""", csi.GenerateResponseFileContents()); } [Fact] public void NoScriptArguments() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); csi.ScriptArguments = null; Assert.Equal(@"/i- test.csx", csi.GenerateResponseFileContents()); } [Fact] public void EmptyScriptArguments() { var csi = new Csi(); csi.Source = MSBuildUtil.CreateTaskItem("test.csx"); csi.ScriptArguments = new string[0]; Assert.Equal(@"/i- test.csx", csi.GenerateResponseFileContents()); } } }