diff --git a/Resizetizer.NT.Tests/DetectInvalidResourceOutputFilenamesTests.cs b/Resizetizer.NT.Tests/DetectInvalidResourceOutputFilenamesTests.cs index 76adb3a..52e2f41 100644 --- a/Resizetizer.NT.Tests/DetectInvalidResourceOutputFilenamesTests.cs +++ b/Resizetizer.NT.Tests/DetectInvalidResourceOutputFilenamesTests.cs @@ -82,6 +82,19 @@ public void InvalidFileFails() AssertInvalidFilename(task, i); Assert.False(success); } + + [Fact] + public void ValidFileWithAliasSucceeds() + { + var i = new TaskItem("images/appiconfg-red-512.svg"); + i.SetMetadata("Link", "appiconfg_red.png"); + var task = GetNewTask(i); + + var success = task.Execute(); + + AssertValidFilename(task, i); + Assert.True(success); + } } } } diff --git a/Resizetizer.NT/DetectInvalidResourceOutputFilenamesTask.cs b/Resizetizer.NT/DetectInvalidResourceOutputFilenamesTask.cs index f47228f..08b2ce6 100644 --- a/Resizetizer.NT/DetectInvalidResourceOutputFilenamesTask.cs +++ b/Resizetizer.NT/DetectInvalidResourceOutputFilenamesTask.cs @@ -33,8 +33,12 @@ public override bool Execute() System.Threading.Tasks.Parallel.ForEach(Items, item => { var filename = item.ItemSpec; + var alias = item.GetMetadata("Link"); + var outputName = string.IsNullOrWhiteSpace(alias) + ? filename + : alias; - if (!Utils.IsValidResourceFilename(filename) || ! File.Exists(filename)) + if (!Utils.IsValidResourceFilename(outputName) || ! File.Exists(filename)) invalidFilenames.Add(filename); }); }