Forge
csharp4405de34
1using CascadeIDE.Services;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class MarkdownIncludeExpansionTests
7{
8 [Fact]
9 public void ExpandMarkdown_ExpandsIncludeInsideFence()
10 {
11 var dir = Path.Combine(Path.GetTempPath(), "cascadeide-tests", Guid.NewGuid().ToString("N"));
12 Directory.CreateDirectory(dir);
13 var md = Path.Combine(dir, "a.md");
14 var diagram = Path.Combine(dir, "d.mmd");
15 File.WriteAllText(diagram, "graph TD;\nA-->B;\n");
16
17 var src = """
18 # Doc
19
20 ```mermaid
21 {{ INCLUDE: d.mmd }}
22 ```
23 """;
24
25 var expanded = MarkdownIncludeExpansion.ExpandMarkdown(src, md);
26 Assert.Contains("graph TD;", expanded);
27 Assert.DoesNotContain("{{ INCLUDE:", expanded);
28 }
29
30 [Fact]
31 public void ExpandMarkdown_DoesNotExpandOutsideFence()
32 {
33 var dir = Path.Combine(Path.GetTempPath(), "cascadeide-tests", Guid.NewGuid().ToString("N"));
34 Directory.CreateDirectory(dir);
35 var md = Path.Combine(dir, "a.md");
36 var inc = Path.Combine(dir, "x.txt");
37 File.WriteAllText(inc, "hello");
38
39 var src = "{{ INCLUDE: x.txt }}\n";
40 var expanded = MarkdownIncludeExpansion.ExpandMarkdown(src, md);
41 Assert.Contains("{{ INCLUDE: x.txt }}", expanded);
42 }
43}
44
45
View only · write via MCP/CIDE