diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/appsettings.Development.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/appsettings.Development.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/appsettings.Development.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/appsettings.Development.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/appsettings.Development.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/appsettings.Development.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.json index 8f4aeff743..2d9e378198 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/appsettings.json @@ -1,4 +1,4 @@ -{ +{ ////#if (IndividualB2CAuth) // "AzureAdB2C": { // "Instance": "https:////login.microsoftonline.com/tfp/", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.json index 8f4aeff743..2d9e378198 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/appsettings.json @@ -1,4 +1,4 @@ -{ +{ ////#if (IndividualB2CAuth) // "AzureAdB2C": { // "Instance": "https:////login.microsoftonline.com/tfp/", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.json index 09cf536c1e..6cf0b42b23 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/appsettings.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Warning" diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.json index 5bdb2ab188..c1c40c7f94 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/appsettings.json @@ -1,4 +1,4 @@ -{ +{ ////#if (IndividualB2CAuth) // "AzureAdB2C": { // "Instance": "https:////login.microsoftonline.com/tfp/", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.json index 09cf536c1e..6cf0b42b23 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/appsettings.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Warning" diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/appsettings.Development.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/appsettings.Development.json index 0623a3f445..e203e9407e 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/appsettings.Development.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/appsettings.Development.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Debug", diff --git a/test/Templates.Test/ByteOrderMarkTest.cs b/test/Templates.Test/ByteOrderMarkTest.cs new file mode 100644 index 0000000000..f128de3ae3 --- /dev/null +++ b/test/Templates.Test/ByteOrderMarkTest.cs @@ -0,0 +1,59 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.IO; +using Xunit; +using Xunit.Abstractions; + +namespace Templates.Test +{ + public class ByteOrderMarkTest + { + private readonly ITestOutputHelper _output; + + public ByteOrderMarkTest(ITestOutputHelper output) + { + _output = output; + } + + [Theory] + [InlineData(@"\Microsoft.AspNetCore.SpaTemplates\content")] + [InlineData(@"\Microsoft.DotNet.Web.ProjectTemplates\content")] + [InlineData(@"\Microsoft.DotNet.Web.Spa.ProjectTemplates\content")] + public void CheckForByteOrderMarkSpaTemplates(string path) + { + var currentDirectory = Directory.GetCurrentDirectory(); + var srcDirectory = Path.GetFullPath(Path.Combine(currentDirectory, @"..\..\..\..\..\src")); + var directories = Directory.GetDirectories(srcDirectory + path, "*Sharp"); + + var filesWithBOMCharactersPresent = false; + foreach (var directory in directories) + { + var files = Directory.GetFiles(directory, "*.json"); + foreach (var file in files) + { + var filePath = Path.GetFullPath(file); + var fileStream = new FileStream(filePath, FileMode.Open); + + var bytes = new byte[3]; + fileStream.Read(bytes, 0, 3); + + // Check for UTF8 BOM 0xEF,0xBB,0xBF + if (bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) + { + _output.WriteLine($"File {filePath} has UTF-8 BOM characters."); + filesWithBOMCharactersPresent = true; + } + // Check for UTF16 BOM 0xFF, 0xFE + if (bytes[0] == 0xFF && bytes[1] == 0xFE) + { + _output.WriteLine($"File {filePath} has UTF-16 BOM characters."); + filesWithBOMCharactersPresent = true; + } + } + } + + Assert.False(filesWithBOMCharactersPresent); + } + } +}