| 1 | using CascadeIDE.Services.ChordNotation; |
| 2 | using Xunit; |
| 3 | |
| 4 | namespace CascadeIDE.Tests; |
| 5 | |
| 6 | public sealed class ChordNotationRendererTests |
| 7 | { |
| 8 | [Fact] |
| 9 | public void Windows_sequence_matches_KeyGesture_style() |
| 10 | { |
| 11 | Assert.True(KeyGestureChordSyntax.TryParseToNormalized("Ctrl+K s p", out var seq, out _)); |
| 12 | var text = ChordNotationRenderer.Windows.Render(seq); |
| 13 | Assert.Equal("Ctrl+K S P", text); |
| 14 | } |
| 15 | |
| 16 | [Fact] |
| 17 | public void Mac_symbols_sequence_uses_glyphs() |
| 18 | { |
| 19 | Assert.True(KeyGestureChordSyntax.TryParseToNormalized("Ctrl+Shift+P", out var seq, out _)); |
| 20 | var text = ChordNotationRenderer.MacSymbols.Render(seq); |
| 21 | Assert.Equal("\u2303\u21E7P", text); // ⌃⇧P |
| 22 | } |
| 23 | |
| 24 | [Fact] |
| 25 | public void FormatChord_windows_Meta() |
| 26 | { |
| 27 | var t = ChordNotationRenderer.FormatChord(ChordModifierKeys.Meta | ChordModifierKeys.Control, "K", ChordNotationRenderFlavor.Windows); |
| 28 | Assert.Equal("Ctrl+Win+K", t); |
| 29 | } |
| 30 | |
| 31 | [Fact] |
| 32 | public void FormatChord_mac_Meta_is_Command_glyph() |
| 33 | { |
| 34 | var t = ChordNotationRenderer.FormatChord(ChordModifierKeys.Meta, "K", ChordNotationRenderFlavor.MacSymbols); |
| 35 | Assert.Equal("\u2318K", t); // ⌘K |
| 36 | } |
| 37 | } |
| 38 | |