fix(launcher): harden installer transactions

This commit is contained in:
Erik 2026-08-14 20:36:11 +02:00
parent ff6ebb6a6a
commit 3f68895120
21 changed files with 1164 additions and 61 deletions

View file

@ -71,6 +71,25 @@ public sealed class LauncherProjectBoundaryTests
Assert.Equal("true", EvaluateProperty(projectPath, "PublishSingleFile"));
}
[Fact]
public void RidPublishComposesBakeWithoutAProjectReference()
{
string project = File.ReadAllText(Path.Combine(
FindRepositoryRoot(),
"src",
"AcDream.Launcher",
"AcDream.Launcher.csproj"));
Assert.DoesNotContain(
"ProjectReference Include=\"..\\AcDream.Bake",
project,
StringComparison.Ordinal);
Assert.Contains("PublishCoDeployedBakeTool", project, StringComparison.Ordinal);
Assert.Contains("..\\AcDream.Bake\\AcDream.Bake.csproj", project, StringComparison.Ordinal);
Assert.Contains("SelfContained=true", project, StringComparison.Ordinal);
Assert.Contains("PublishSingleFile=true", project, StringComparison.Ordinal);
}
[Fact]
public void ModalMarkupAndCodeBehindCarryKeyboardFocusAndAccessibilityGuards()
{
@ -119,6 +138,9 @@ public sealed class LauncherProjectBoundaryTests
Assert.Contains("-getProperty:SelfContained", workflow, StringComparison.Ordinal);
Assert.Contains("DOTNET_ROOT", workflow, StringComparison.Ordinal);
Assert.Contains("--verify-publish", workflow, StringComparison.Ordinal);
Assert.Contains("acdream-bake.exe\" --help", workflow, StringComparison.Ordinal);
Assert.Contains("\"$root/acdream-bake\" --help", workflow, StringComparison.Ordinal);
Assert.Contains("test -x \"$root/acdream-bake\"", workflow, StringComparison.Ordinal);
Assert.Contains(
"test -x src/AcDream.Headless/bin/Release/net10.0/acdream-headless",
workflow,