diff --git a/glow_test.go b/glow_test.go index 8743be2..d45fa18 100644 --- a/glow_test.go +++ b/glow_test.go @@ -1,9 +1,48 @@ package main import ( + "bytes" + "io" + "strings" "testing" + + "github.com/spf13/cobra" ) +func TestExecuteCLIRendersMMDAsMarkdown(t *testing.T) { + const content = "# Title\n\nHello **world**\n" + + oldStyle, oldWidth := style, width + oldPager, oldTUI := pager, tui + t.Cleanup(func() { + style, width = oldStyle, oldWidth + pager, tui = oldPager, oldTUI + }) + + style = "notty" + width = 80 + pager = false + tui = false + + render := func(name string) string { + t.Helper() + + var out bytes.Buffer + src := &source{ + reader: io.NopCloser(strings.NewReader(content)), + URL: name, + } + if err := executeCLI(&cobra.Command{}, src, &out); err != nil { + t.Fatalf("executeCLI(%q): %v", name, err) + } + return out.String() + } + + if got, want := render("test.mmd"), render("test.md"); got != want { + t.Fatalf(".mmd rendered differently than .md\n.mmd:\n%q\n.md:\n%q", got, want) + } +} + func TestGlowFlags(t *testing.T) { tt := []struct { args []string diff --git a/ui/ui.go b/ui/ui.go index 3537d3f..826dceb 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -25,7 +25,7 @@ var ( config Config markdownExtensions = []string{ - "*.md", "*.mdown", "*.mkdn", "*.mkd", "*.markdown", + "*.md", "*.mdown", "*.mkdn", "*.mkd", "*.markdown", "*.mmd", } ) diff --git a/utils/utils.go b/utils/utils.go index 9f33a1e..f77a63b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -46,7 +46,7 @@ func WrapCodeBlock(s, language string) string { } var markdownExtensions = []string{ - ".md", ".mdown", ".mkdn", ".mkd", ".markdown", + ".md", ".mdown", ".mkdn", ".mkd", ".markdown", ".mmd", } // IsMarkdownFile returns whether the filename has a markdown extension.