X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/209df5ce842e24b3c6e99a322fe3d98ab2df720b..959c24478e2c3a596a81cca359fd784c897f46a2:/terminal_markdown_test.go?ds=sidebyside diff --git a/terminal_markdown_test.go b/terminal_markdown_test.go index 6344d8d..0eb3222 100644 --- a/terminal_markdown_test.go +++ b/terminal_markdown_test.go @@ -16,13 +16,13 @@ func TestTerminalMarkdownBlocksAndMarks(t *testing.T) { want []string }{ { - name: "headings and a full width rule", + name: "renders headings and fills the rule width", text: "# First\n###### Last ###\n---", columns: 12, want: []string{"\x1b[1mFirst\x1b[0m", "\x1b[1mLast\x1b[0m", "\x1b[2m------------\x1b[0m"}, }, { - name: "bold italic and code", + name: "renders bold italic and inline code styles", text: "**bold** __also__ *lean* _also_ `code`", columns: 80, want: []string{"\x1b[1mbold\x1b[0m \x1b[1malso\x1b[0m \x1b[3mlean\x1b[0m \x1b[3malso\x1b[0m \x1b[7mcode\x1b[0m"}, @@ -88,6 +88,7 @@ func TestTerminalMarkdownBlocksAndMarks(t *testing.T) { want: []string{"safe[31m end"}, }, } + for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { require.Equal(t, tc.want, terminalMarkdown(tc.text, tc.columns)) @@ -145,6 +146,7 @@ func TestTerminalMarkdownNarrowLinesKeepQuoteAndListMarks(t *testing.T) { want: []string{"| a", "| b"}, }, } + for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { require.Equal(t, tc.want, terminalMarkdown(tc.text, tc.columns)) @@ -183,6 +185,14 @@ func TestTerminalMarkdownSmallTablesKeepNaturalWidths(t *testing.T) { }, lines) } +func TestTerminalMarkdownSingleColumnTablesKeepTheirHeaderRule(t *testing.T) { + require.Equal(t, []string{ + "\x1b[1mName\x1b[0m", + "\x1b[2m----\x1b[0m", + "One ", + }, terminalMarkdown("| Name |\n| --- |\n| One |", 80)) +} + func TestTerminalMarkdownSingleCharacterColumnsStayNarrow(t *testing.T) { require.Equal(t, []string{ "\x1b[1mA\x1b[0m | \x1b[1mB\x1b[0m", @@ -229,7 +239,7 @@ func TestTerminalMarkdownTablesStackWhenColumnsCannotFit(t *testing.T) { text.WriteString(plain) } - require.Equal(t, "FirstSecondalphabeta", text.String()) + require.Equal(t, "FirstSecond----alphabeta", text.String()) } func TestTerminalMarkdownWidthDefaultsToEighty(t *testing.T) {