feat(ui): Cheat-Sheet-Fenster im Hilfe-Menue
Sechs Markdown-Sheets (git, Conventional Commits, Claude CLI, Claude-Config, dotnet CLI, PowerShell) als EmbeddedResource, gerendert im modelosen, per Topmost anpinnbaren CheatSheetsWindow. MarkdownView bekommt dafuer das Opt-in CommandRows: `befehl` - beschreibung wird zu Mono-Chip + Copy-Button, jede ##-Sektion landet in einem Expander. Enthaelt ausserdem: Mission Control wird beim Oeffnen aus dem Minimiert-Zustand geholt, nicht nur aktiviert.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using System.Linq;
|
||||
using ClaudeDo.Ui.ViewModels.Modals;
|
||||
using Xunit;
|
||||
|
||||
namespace ClaudeDo.Ui.Tests.ViewModels;
|
||||
|
||||
public class CheatSheetsViewModelTests
|
||||
{
|
||||
[Fact]
|
||||
public void LoadsEverySheetWithTitleFromHeading()
|
||||
{
|
||||
var vm = new CheatSheetsViewModel();
|
||||
|
||||
Assert.Equal(6, vm.Sheets.Count);
|
||||
Assert.Equal(
|
||||
["Git", "Conventional Commits", "Claude CLI", "Claude Konfiguration", "dotnet CLI", "PowerShell"],
|
||||
vm.Sheets.Select(s => s.Title));
|
||||
// The heading is stripped so the window doesn't render the title twice.
|
||||
Assert.All(vm.Sheets, s => Assert.StartsWith("## ", s.Body));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SelectSwitchesSheetAndIgnoresUnknownKeys()
|
||||
{
|
||||
var vm = new CheatSheetsViewModel();
|
||||
Assert.Equal("git", vm.SelectedSheet!.Key);
|
||||
|
||||
vm.Select("dotnet-cli");
|
||||
Assert.Equal("dotnet-cli", vm.SelectedSheet!.Key);
|
||||
|
||||
vm.Select("nope");
|
||||
Assert.Equal("dotnet-cli", vm.SelectedSheet!.Key);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user