diff --git a/src/ProjectTemplates/Shared/ArgConstants.cs b/src/ProjectTemplates/Shared/ArgConstants.cs index 9127055135e9..20a19845f988 100644 --- a/src/ProjectTemplates/Shared/ArgConstants.cs +++ b/src/ProjectTemplates/Shared/ArgConstants.cs @@ -26,4 +26,5 @@ internal static class ArgConstants public const string UseLocalDb = "-uld"; public const string NoHttps = "--no-https"; public const string PublishNativeAot = "--aot"; + public const string UseServer = "--use-server"; } diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/dotnetcli.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/dotnetcli.host.json index 531d4fc6a9f9..5e258978721e 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/dotnetcli.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/dotnetcli.host.json @@ -10,8 +10,7 @@ "isHidden": true }, "UseServer": { - "longName": "use-server", - "isHidden": true + "longName": "use-server" }, "UseWebAssembly": { "longName": "use-wasm", diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/ide.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/ide.host.json index e2517feaa686..cbf237c42241 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/ide.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Components-CSharp/.template.config/ide.host.json @@ -6,7 +6,7 @@ "symbolInfo": [ { "id": "UseServer", - "isVisible": false, + "isVisible": true, "persistenceScope": "templateGroup" }, { diff --git a/src/ProjectTemplates/test/Templates.Blazor.Tests/BlazorWebTemplateTest.cs b/src/ProjectTemplates/test/Templates.Blazor.Tests/BlazorWebTemplateTest.cs index da8735982a28..d30a5aa2b719 100644 --- a/src/ProjectTemplates/test/Templates.Blazor.Tests/BlazorWebTemplateTest.cs +++ b/src/ProjectTemplates/test/Templates.Blazor.Tests/BlazorWebTemplateTest.cs @@ -30,24 +30,14 @@ public ITestOutputHelper Output [ConditionalTheory] [SkipOnHelix("Cert failure, https://github.com/dotnet/aspnetcore/issues/28090", Queues = "All.OSX;" + HelixConstants.Windows10Arm64 + HelixConstants.DebianArm64)] - [InlineData(true, false)] - [InlineData(true, true)] - [InlineData(false, false)] - [InlineData(false, true)] - public async Task BlazorWebTemplate_NoAuth(bool useProgramMain, bool noHttps) + [MemberData(nameof(ArgsData))] + public async Task BlazorWebTemplate_NoAuth(string[] args) { var project = await ProjectFactory.CreateProject(Output); - var args = useProgramMain - ? noHttps - ? new[] { ArgConstants.UseProgramMain, ArgConstants.NoHttps } - : new[] { ArgConstants.UseProgramMain } - : noHttps - ? new[] { ArgConstants.NoHttps } - : null; await project.RunDotNetNewAsync("blazor", args: args); - var expectedLaunchProfileNames = noHttps + var expectedLaunchProfileNames = args.Contains(ArgConstants.NoHttps) ? new[] { "http", "IIS Express" } : new[] { "http", "https", "IIS Express" }; await project.VerifyLaunchSettings(expectedLaunchProfileNames); @@ -79,6 +69,14 @@ public async Task BlazorWebTemplate_NoAuth(bool useProgramMain, bool noHttps) } }; + if (args.Contains(ArgConstants.UseServer)) + { + pages.Add(new Page + { + Url = BlazorTemplatePages.Counter, + }); + } + using (var aspNetProcess = project.StartBuiltProjectAsync()) { Assert.False( @@ -98,6 +96,18 @@ public async Task BlazorWebTemplate_NoAuth(bool useProgramMain, bool noHttps) } } + public static TheoryData ArgsData() => new TheoryData + { + new string[0], + new[] { ArgConstants.UseProgramMain }, + new[] { ArgConstants.NoHttps }, + new[] { ArgConstants.UseProgramMain, ArgConstants.NoHttps }, + new[] { ArgConstants.UseServer }, + new[] { ArgConstants.UseServer, ArgConstants.UseProgramMain }, + new[] { ArgConstants.UseServer, ArgConstants.NoHttps }, + new[] { ArgConstants.UseServer, ArgConstants.UseProgramMain, ArgConstants.NoHttps } + }; + private string ReadFile(string basePath, string path) { var fullPath = Path.Combine(basePath, path); @@ -111,5 +121,6 @@ private class BlazorTemplatePages { internal static readonly string Index = ""; internal static readonly string FetchData = "showdata"; - } + internal static readonly string Counter = "counter"; + } }