package markdown import ( "strings" "testing" ) func TestRenderRewritesWikiLinksAndTags(t *testing.T) { renderer := NewRenderer() result, err := renderer.Render([]byte("# Title\n\nLink to [[Project Plan]] and #alpha #beta.\n")) if err != nil { t.Fatalf("Render() error = %v", err) } if !strings.Contains(string(result.HTML), `/docs/project-plan`) { t.Fatalf("expected wiki-link rewrite, got %s", result.HTML) } if len(result.Tags) != 2 || result.Tags[0] != "alpha" || result.Tags[1] != "beta" { t.Fatalf("unexpected tags: %#v", result.Tags) } if strings.Contains(string(result.HTML), "hi after\n")) if err != nil { t.Fatalf("Render() error = %v", err) } if !strings.Contains(string(result.HTML), "hi") { t.Fatalf("expected raw HTML to render, got %s", result.HTML) } }