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.
35 lines
1008 B
C#
35 lines
1008 B
C#
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);
|
|
}
|
|
}
|