From 8ae059f5d4906fb27fe350b8d526abad5cb7290f Mon Sep 17 00:00:00 2001 From: Jeremi Kurdek Date: Wed, 19 Jun 2024 19:30:19 +0200 Subject: [PATCH] added filepath sanitizing --- .../BindingSourceGen/BindingSourceGenerator.cs | 6 +++--- .../IntegrationTests.cs | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs b/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs index 64382e9dc1fc..54b0b7cd6171 100644 --- a/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs +++ b/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs @@ -37,9 +37,9 @@ public void Initialize(IncrementalGeneratorInitializationContext context) context.RegisterSourceOutput(bindings, (spc, binding) => { - - var fileName = $"{binding.Location.FilePath}/GeneratedBindableObjectExtensions-{binding.Location.Line}-{binding.Location.Column}.g.cs"; - spc.AddSource(fileName, BindingCodeWriter.GenerateBinding(binding, (uint)Math.Abs(binding.Location.GetHashCode()))); + var fileName = $"{binding.Location.FilePath}-GeneratedBindableObjectExtensions-{binding.Location.Line}-{binding.Location.Column}.g.cs"; + var sanitizedFileName = fileName.Replace('/', '-').Replace('\\', '-').Replace(':', '-'); + spc.AddSource(sanitizedFileName, BindingCodeWriter.GenerateBinding(binding, (uint)Math.Abs(binding.Location.GetHashCode()))); }); } diff --git a/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs b/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs index 4a77d1d4428e..a811b537586a 100644 --- a/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs +++ b/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs @@ -80,7 +80,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-3-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-3-7.g.cs"]); } [Fact] @@ -182,7 +182,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-6-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-6-7.g.cs"]); } [Fact] @@ -287,7 +287,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } public static IEnumerable GenerateSimpleBindingWhenNullableDisabledAndPropertyNullableData => @@ -493,7 +493,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } [Fact] @@ -611,7 +611,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } [Theory] @@ -736,7 +736,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-4-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-4-7.g.cs"]); } [Fact] @@ -855,7 +855,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-4-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-4-7.g.cs"]); } [Fact] @@ -957,7 +957,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-3-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-3-7.g.cs"]); } [Fact] @@ -1073,6 +1073,6 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-6-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-6-7.g.cs"]); } }