public async Task Build_WithDefaultSettings_Works() { // Arrange using var project = ProjectDirectory.Create("standalone"); var result = await MSBuildProcessManager.DotnetMSBuild(project); Assert.BuildPassed(result); var buildOutputDirectory = project.BuildOutputDirectory; Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "blazor.boot.json"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "blazor.webassembly.js"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "wasm", "mono.wasm"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "wasm", "mono.js"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "_bin", "standalone.dll"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "_bin", "Microsoft.Extensions.Logging.Abstractions.dll"); // Verify dependencies are part of the output. }
public async Task Build_Hosted_Works() { // Arrange using var project = ProjectDirectory.Create("blazorhosted", additionalProjects: new[] { "standalone", "razorclasslibrary", }); project.TargetFramework = "netcoreapp5.0"; var result = await MSBuildProcessManager.DotnetMSBuild(project); Assert.BuildPassed(result); var buildOutputDirectory = project.BuildOutputDirectory; var blazorConfig = Path.Combine(buildOutputDirectory, "standalone.blazor.config"); Assert.FileExists(result, blazorConfig); var path = Path.GetFullPath(Path.Combine(project.SolutionPath, "standalone", "bin", project.Configuration, "netstandard2.1", "standalone.dll")); Assert.FileContains(result, blazorConfig, path); Assert.FileDoesNotExist(result, buildOutputDirectory, "dist", "_framework", "_bin", "standalone.dll"); }
public async Task Publish_HostedApp_Works() { // Arrange using var project = ProjectDirectory.Create("blazorhosted", additionalProjects: new[] { "standalone", "razorclasslibrary", }); project.TargetFramework = "netcoreapp5.0"; var result = await MSBuildProcessManager.DotnetMSBuild(project, "Publish"); Assert.BuildPassed(result); var publishDirectory = project.PublishOutputDirectory; // Make sure the main project exists Assert.FileExists(result, publishDirectory, "blazorhosted.dll"); var blazorPublishDirectory = Path.Combine(publishDirectory, "standalone"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "blazor.boot.json"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "blazor.webassembly.js"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "wasm", "dotnet.wasm"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "wasm", "dotnet.js"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "_bin", "standalone.dll"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "_bin", "Microsoft.Extensions.Logging.Abstractions.dll"); // Verify dependencies are part of the output. // Verify static assets are in the publish directory Assert.FileExists(result, blazorPublishDirectory, "dist", "index.html"); // Verify static web assets from referenced projects are copied. Assert.FileExists(result, publishDirectory, "wwwroot", "_content", "RazorClassLibrary", "wwwroot", "exampleJsInterop.js"); Assert.FileExists(result, publishDirectory, "wwwroot", "_content", "RazorClassLibrary", "styles.css"); // Verify static assets are in the publish directory Assert.FileExists(result, blazorPublishDirectory, "dist", "index.html"); // Verify web.config Assert.FileExists(result, publishDirectory, "web.config"); var blazorConfig = Path.Combine(result.Project.DirectoryPath, publishDirectory, "standalone.blazor.config"); var blazorConfigLines = File.ReadAllLines(blazorConfig); Assert.Equal(".", blazorConfigLines[0]); Assert.Equal("standalone/", blazorConfigLines[1]); }
public async Task Build_WithLinkOnBuildDisabled_Works() { // Arrange using var project = ProjectDirectory.Create("standalone"); project.AddProjectFileContent( @"<PropertyGroup> <BlazorLinkOnBuild>false</BlazorLinkOnBuild> </PropertyGroup>"); var result = await MSBuildProcessManager.DotnetMSBuild(project); Assert.BuildPassed(result); var buildOutputDirectory = project.BuildOutputDirectory; Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "blazor.boot.json"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "blazor.webassembly.js"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "wasm", "mono.wasm"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "wasm", "mono.js"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "_bin", "standalone.dll"); Assert.FileExists(result, buildOutputDirectory, "dist", "_framework", "_bin", "Microsoft.Extensions.Logging.Abstractions.dll"); // Verify dependencies are part of the output. }
public async Task Publish_HostedApp_WithNoBuild_Works() { // Arrange using var project = ProjectDirectory.Create("blazorhosted", additionalProjects: new[] { "standalone", "razorclasslibrary", }); project.TargetFramework = "netcoreapp5.0"; var result = await MSBuildProcessManager.DotnetMSBuild(project, "Build"); Assert.BuildPassed(result); result = await MSBuildProcessManager.DotnetMSBuild(project, "Publish", "/p:NoBuild=true"); var publishDirectory = project.PublishOutputDirectory; // Make sure the main project exists Assert.FileExists(result, publishDirectory, "blazorhosted.dll"); var blazorPublishDirectory = Path.Combine(publishDirectory, "standalone"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "blazor.boot.json"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "blazor.webassembly.js"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "wasm", "dotnet.wasm"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "wasm", "dotnet.js"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "_bin", "standalone.dll"); Assert.FileExists(result, blazorPublishDirectory, "dist", "_framework", "_bin", "Microsoft.Extensions.Logging.Abstractions.dll"); // Verify dependencies are part of the output. // Verify static assets are in the publish directory Assert.FileExists(result, blazorPublishDirectory, "dist", "index.html"); // Verify static web assets from referenced projects are copied. // Uncomment once https://github.com/dotnet/aspnetcore/issues/17426 is resolved. // Assert.FileExists(result, publishDirectory, "wwwroot", "_content", "RazorClassLibrary", "wwwroot", "exampleJsInterop.js"); // Assert.FileExists(result, publishDirectory, "wwwroot", "_content", "RazorClassLibrary", "styles.css"); // Verify static assets are in the publish directory Assert.FileExists(result, blazorPublishDirectory, "dist", "index.html"); // Verify web.config Assert.FileExists(result, publishDirectory, "web.config"); }