Skip to content

Commit a6fb735

Browse files
committed
added test for globbing matching
1 parent 1e3b8d5 commit a6fb735

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

src/GitVersionExe.Tests/ArgumentParserTests.cs

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@ public class ArgumentParserTests : TestBase
1919
[SetUp]
2020
public void SetUp()
2121
{
22-
argumentParser = GetArgumentParser();
22+
var sp = ConfigureServices(services =>
23+
{
24+
services.AddSingleton<IArgumentParser, ArgumentParser>();
25+
services.AddSingleton<IGlobbingResolver, GlobbingResolver>();
26+
});
27+
argumentParser = sp.GetService<IArgumentParser>();
2328
}
2429

2530
[Test]
@@ -284,6 +289,30 @@ public void UpdateAssemblyInfoWithMultipleFilenames()
284289
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => Path.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
285290
}
286291

292+
[Test]
293+
public void UpdateAssemblyInfoWithMultipleFilenamesMatchingGlobbing()
294+
{
295+
using var repo = new EmptyRepositoryFixture();
296+
297+
var assemblyFile1 = Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
298+
using var file = File.Create(assemblyFile1);
299+
300+
var assemblyFile2 = Path.Combine(repo.RepositoryPath, "VersionAssemblyInfo.cs");
301+
using var file2 = File.Create(assemblyFile2);
302+
303+
var subdir = Path.Combine(repo.RepositoryPath, "subdir");
304+
Directory.CreateDirectory(subdir);
305+
var assemblyFile3 = Path.Combine(subdir, "LocalAssemblyInfo.cs");
306+
using var file3 = File.Create(assemblyFile3);
307+
308+
var arguments = argumentParser.ParseArguments($"-targetpath {repo.RepositoryPath} -updateAssemblyInfo **/*AssemblyInfo.cs");
309+
arguments.UpdateAssemblyInfo.ShouldBe(true);
310+
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(3);
311+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => Path.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
312+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => Path.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
313+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => Path.GetFileName(x).Equals("LocalAssemblyInfo.cs"));
314+
}
315+
287316
[Test]
288317
public void UpdateAssemblyInfoWithRelativeFilename()
289318
{
@@ -487,22 +516,5 @@ public void CheckVerbosityParsing(string command, bool shouldThrow, Verbosity ex
487516
arguments.Verbosity.ShouldBe(expectedVerbosity);
488517
}
489518
}
490-
491-
private static IArgumentParser GetArgumentParser(IGlobbingResolver globbingResolver = null)
492-
{
493-
var sp = ConfigureServices(services =>
494-
{
495-
services.AddSingleton<IArgumentParser, ArgumentParser>();
496-
if (globbingResolver != null)
497-
{
498-
services.AddSingleton(globbingResolver);
499-
}
500-
else
501-
{
502-
services.AddSingleton<IGlobbingResolver, GlobbingResolver>();
503-
}
504-
});
505-
return sp.GetService<IArgumentParser>();
506-
}
507519
}
508520
}

src/GitVersionExe/Arguments.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,5 @@ public GitVersionOptions ToOptions()
116116
ExecArgs = ExecArgs,
117117
};
118118
}
119-
120-
121119
}
122120
}

0 commit comments

Comments
 (0)