gitea源码

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright 2025 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package setting
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestLoadMarkup(t *testing.T) {
  9. cfg, _ := NewConfigProviderFromData(``)
  10. loadMarkupFrom(cfg)
  11. assert.Equal(t, MarkdownMathCodeBlockOptions{ParseInlineDollar: true, ParseBlockDollar: true}, Markdown.MathCodeBlockOptions)
  12. assert.Equal(t, MarkdownRenderOptions{NewLineHardBreak: true, ShortIssuePattern: true}, Markdown.RenderOptionsComment)
  13. assert.Equal(t, MarkdownRenderOptions{ShortIssuePattern: true}, Markdown.RenderOptionsWiki)
  14. assert.Equal(t, MarkdownRenderOptions{}, Markdown.RenderOptionsRepoFile)
  15. t.Run("Math", func(t *testing.T) {
  16. cfg, _ = NewConfigProviderFromData(`
  17. [markdown]
  18. MATH_CODE_BLOCK_DETECTION = none
  19. `)
  20. loadMarkupFrom(cfg)
  21. assert.Equal(t, MarkdownMathCodeBlockOptions{}, Markdown.MathCodeBlockOptions)
  22. cfg, _ = NewConfigProviderFromData(`
  23. [markdown]
  24. MATH_CODE_BLOCK_DETECTION = inline-dollar, inline-parentheses, block-dollar, block-square-brackets
  25. `)
  26. loadMarkupFrom(cfg)
  27. assert.Equal(t, MarkdownMathCodeBlockOptions{ParseInlineDollar: true, ParseInlineParentheses: true, ParseBlockDollar: true, ParseBlockSquareBrackets: true}, Markdown.MathCodeBlockOptions)
  28. })
  29. t.Run("Render", func(t *testing.T) {
  30. cfg, _ = NewConfigProviderFromData(`
  31. [markdown]
  32. RENDER_OPTIONS_COMMENT = none
  33. `)
  34. loadMarkupFrom(cfg)
  35. assert.Equal(t, MarkdownRenderOptions{}, Markdown.RenderOptionsComment)
  36. cfg, _ = NewConfigProviderFromData(`
  37. [markdown]
  38. RENDER_OPTIONS_REPO_FILE = short-issue-pattern, new-line-hard-break
  39. `)
  40. loadMarkupFrom(cfg)
  41. assert.Equal(t, MarkdownRenderOptions{NewLineHardBreak: true, ShortIssuePattern: true}, Markdown.RenderOptionsRepoFile)
  42. })
  43. }