fix: перевод строки после открывающего ``` — иначе markdown съедает первую строку

В Pachca/Telegram текст сразу после открывающих тройных бэктиков
трактуется как указатель языка code-блока и не отображается. Из-за
этого пропадала первая строка уведомления — [время] METHOD host/URI,
то есть путь и метод запроса не были видны. Добавлен \n после фенса;
тест теперь проверяет перевод строки и наличие URI в выводе.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vladimir V Maksimov
2026-06-25 09:29:24 +03:00
parent 6ec0d75f0f
commit f42570fce2
2 changed files with 9 additions and 3 deletions

View File

@@ -39,7 +39,7 @@ func formatPlain(d RequestData) string {
// formatMarkdown — обёртка в код-блок для Telegram/Pachca. // formatMarkdown — обёртка в код-блок для Telegram/Pachca.
func formatMarkdown(d RequestData) string { func formatMarkdown(d RequestData) string {
return "```" + formatPlain(d) + "```" return "```\n" + formatPlain(d) + "```"
} }
// formatHTML — обёртка в <pre> с экранированием для Email. // formatHTML — обёртка в <pre> с экранированием для Email.

View File

@@ -25,8 +25,14 @@ func sampleData() RequestData {
func TestFormatMarkdown(t *testing.T) { func TestFormatMarkdown(t *testing.T) {
out := formatMarkdown(sampleData()) out := formatMarkdown(sampleData())
if !strings.HasPrefix(out, "```") || !strings.HasSuffix(out, "```") { if !strings.HasPrefix(out, "```\n") || !strings.HasSuffix(out, "```") {
t.Fatalf("expected ``` wrapping, got: %q", out) // Перевод строки после открывающего фенса обязателен: иначе markdown
// в Pachca/Telegram съедает первую строку как указатель языка, и путь
// запроса (METHOD host/url) пропадает из уведомления.
t.Fatalf("expected ```\\n wrapping, got: %q", out)
}
if !strings.Contains(out, "/telegram") {
t.Errorf("missing request path/url: %q", out)
} }
if !strings.Contains(out, "POST") || !strings.Contains(out, "1.2.3.4") { if !strings.Contains(out, "POST") || !strings.Contains(out, "1.2.3.4") {
t.Errorf("missing fields: %q", out) t.Errorf("missing fields: %q", out)