Forge
csharpdeeb25a2
1using CascadeIDE.Features.Chat;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class SlashRouteCatalogIndexTests
7{
8 [Fact]
9 public void IsKnownIntercomInnerVerb_TopicOpen_FromCatalog()
10 {
11 Assert.True(SlashRouteCatalogIndex.IsKnownIntercomInnerVerb("topic", "open"));
12 Assert.False(SlashRouteCatalogIndex.IsKnownIntercomInnerVerb("topic", "not-a-verb"));
13 }
14
15 [Fact]
16 public void RouteRequiresArgTail_FileOpen_HasCompletion()
17 {
18 Assert.True(SlashRouteCatalogIndex.RouteRequiresArgTail("/file open"));
19 }
20
21 [Fact]
22 public void RouteRequiresArgTail_TopicCards_AutoRunWithoutArgs()
23 {
24 Assert.False(SlashRouteCatalogIndex.RouteRequiresArgTail("/intercom topic cards"));
25 }
26
27 [Fact]
28 public void RouteRequiresArgTail_TopicOpen_AutoRunWithoutArgTail()
29 {
30 Assert.False(SlashRouteCatalogIndex.RouteRequiresArgTail("/intercom topic open"));
31 }
32
33 [Fact]
34 public void GetArgTailKind_TopicOpen_Optional_FromCatalog()
35 {
36 Assert.Equal(SlashArgTailKind.Optional, SlashRouteCatalogIndex.GetArgTailKind("/intercom topic open"));
37 }
38
39 [Fact]
40 public void GetArgTailKind_AgentVerify_Optional_FromCatalog()
41 {
42 Assert.Equal(SlashArgTailKind.Optional, SlashRouteCatalogIndex.GetArgTailKind("/agent verify"));
43 }
44
45 [Fact]
46 public void GetArgTailKind_AttachSelection_None_FromCatalog()
47 {
48 Assert.Equal(SlashArgTailKind.None, SlashRouteCatalogIndex.GetArgTailKind("/intercom attach selection"));
49 }
50
51 [Fact]
52 public void GetArgTailKind_ServerStart_Optional()
53 {
54 Assert.Equal(SlashArgTailKind.Optional, SlashRouteCatalogIndex.GetArgTailKind("/intercom server start"));
55 }
56
57 [Fact]
58 public void GetArgTailKind_ServerStatus_None()
59 {
60 Assert.Equal(SlashArgTailKind.None, SlashRouteCatalogIndex.GetArgTailKind("/intercom server status"));
61 }
62}
63
View only · write via MCP/CIDE