fix: trying to fix error in matching code

This commit is contained in:
Max Richter
2025-09-28 14:40:29 +02:00
parent fb0b80be78
commit 57ea1f6e3e
12 changed files with 39 additions and 14 deletions

View File

@@ -17,14 +17,14 @@ func TestFuzzyFindAll(t *testing.T) {
Needle string
Start, End, StartIndex int
}{
{StartIndex: 0, Needle: "# Ingredients\n", Start: 77, End: 91},
{StartIndex: 0, Needle: "# Ingrdients\n", Start: 77, End: 91},
{StartIndex: 0, Needle: "# Inrdients\n", Start: 77, End: 91},
{StartIndex: 0, Needle: "## Ingredients\n", Start: 90, End: 105},
{StartIndex: 0, Needle: "## Ingrdients\n", Start: 90, End: 105},
{StartIndex: 0, Needle: "## Inrdients\n", Start: 90, End: 105},
{StartIndex: 0, Needle: "---\n", Start: 0, End: 4},
{StartIndex: 4, Needle: "---\n", Start: 29, End: 33},
{StartIndex: 0, Needle: "# Steps\n", Start: 116, End: 124},
{StartIndex: 0, Needle: "# Stps\n", Start: 116, End: 124},
{StartIndex: 0, Needle: "# Step\n", Start: 116, End: 124},
{StartIndex: 4, Needle: "---\n", Start: 43, End: 47},
{StartIndex: 0, Needle: "## Steps\n", Start: 129, End: 138},
{StartIndex: 0, Needle: "## Stps\n", Start: 129, End: 138},
{StartIndex: 0, Needle: "## Step\n", Start: 129, End: 138},
}
for _, test := range tests {
@@ -51,6 +51,11 @@ func TestFuzzyBlockMatch(t *testing.T) {
matches := matcher.MatchBlocksFuzzy(string(recipeMd), blocks, 0.3)
for _, b := range blocks {
fmt.Printf("Block: %+v\n", b)
fmt.Printf("Content: '%q'\n\n", b.GetContent())
}
expected := []struct {
value string
}{
@@ -80,7 +85,7 @@ func TestFuzzyBlockMatch(t *testing.T) {
t.FailNow()
}
if expected[i].value != m.GetContent() {
t.Errorf("Match %d did not match expected: %q", i, m.GetContent())
t.Errorf("Match %d did not match expected: %q", i, expected[i].value)
}
fmt.Printf("match: %s->%q\n", m.Block.Path, m.GetContent())
}

View File

@@ -26,6 +26,9 @@ func DetectType(markdownContent string) (string, error) {
blocks := matcher.MatchBlocksFuzzy(markdownContent, defaultSchema, 0.3)
fmt.Printf("%+v\n", blocks[0])
fmt.Printf("Content: '%q'\n", blocks[0].GetContent())
result, err := decoders.Parse(blocks)
if err != nil {
return "", fmt.Errorf("failed to parse blocks -> %w", err)
@@ -37,6 +40,7 @@ func DetectType(markdownContent string) (string, error) {
}
return "", fmt.Errorf("frontmatter did not contain '_type'")
}
return "", fmt.Errorf("could not parse frontmatter")
}