| 1 | #nullable enable |
| 2 | |
| 3 | using CascadeIDE.Features.Chat; |
| 4 | using CascadeIDE.Services; |
| 5 | using Xunit; |
| 6 | |
| 7 | namespace CascadeIDE.Tests; |
| 8 | |
| 9 | public sealed class ChatSlashIntercomMessageFindTests |
| 10 | { |
| 11 | [Theory] |
| 12 | [InlineData("/intercom message find selection", "selection")] |
| 13 | [InlineData("/intercom message find L:3-7", "L:3-7")] |
| 14 | public void ResolveInput_MessageFind_ArgTail(string line, string expectedTail) |
| 15 | { |
| 16 | Assert.True(SlashLineResolver.TryResolveSlashLine(line, out var resolved)); |
| 17 | Assert.Equal("/intercom message find", resolved.CanonicalPath); |
| 18 | Assert.Equal(expectedTail, resolved.ArgTail); |
| 19 | ChatSlashCatalogTestSupport.AssertResolves(line, "/intercom message find", expectedTail); |
| 20 | } |
| 21 | |
| 22 | [Fact] |
| 23 | public void Catalog_ResolvesMessageFind() |
| 24 | { |
| 25 | ChatSlashCatalogTestSupport.AssertResolves("/intercom message find selection", "/intercom message find", "selection"); |
| 26 | Assert.True( |
| 27 | ChatSlashCommandCatalog.TryResolveInput("/intercom message find selection", out var d, out _)); |
| 28 | Assert.True(IntentSlashCatalog.TryGetRoute(d.SlashPath, out var route)); |
| 29 | Assert.Equal("message_find", route.IntercomHandlerId); |
| 30 | } |
| 31 | } |
| 32 | |