gitea源码

renderconfig_test.go 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. // Copyright 2022 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package markdown
  4. import (
  5. "strings"
  6. "testing"
  7. "github.com/stretchr/testify/assert"
  8. "github.com/stretchr/testify/require"
  9. "gopkg.in/yaml.v3"
  10. )
  11. func TestRenderConfig_UnmarshalYAML(t *testing.T) {
  12. tests := []struct {
  13. name string
  14. expected *RenderConfig
  15. args string
  16. }{
  17. {
  18. "empty", &RenderConfig{
  19. Meta: "table",
  20. Lang: "",
  21. }, "",
  22. },
  23. {
  24. "lang", &RenderConfig{
  25. Meta: "table",
  26. Lang: "test",
  27. }, "lang: test",
  28. },
  29. {
  30. "metatable", &RenderConfig{
  31. Meta: "table",
  32. Lang: "",
  33. }, "gitea: table",
  34. },
  35. {
  36. "metanone", &RenderConfig{
  37. Meta: "none",
  38. Lang: "",
  39. }, "gitea: none",
  40. },
  41. {
  42. "metadetails", &RenderConfig{
  43. Meta: "details",
  44. Lang: "",
  45. }, "gitea: details",
  46. },
  47. {
  48. "metawrong", &RenderConfig{
  49. Meta: "details",
  50. Lang: "",
  51. }, "gitea: wrong",
  52. },
  53. {
  54. "toc", &RenderConfig{
  55. TOC: "true",
  56. Meta: "table",
  57. Lang: "",
  58. }, "include_toc: true",
  59. },
  60. {
  61. "tocfalse", &RenderConfig{
  62. TOC: "false",
  63. Meta: "table",
  64. Lang: "",
  65. }, "include_toc: false",
  66. },
  67. {
  68. "toclang", &RenderConfig{
  69. Meta: "table",
  70. TOC: "true",
  71. Lang: "testlang",
  72. }, `
  73. include_toc: true
  74. lang: testlang
  75. `,
  76. },
  77. {
  78. "complexlang", &RenderConfig{
  79. Meta: "table",
  80. Lang: "testlang",
  81. }, `
  82. gitea:
  83. lang: testlang
  84. `,
  85. },
  86. {
  87. "complexlang2", &RenderConfig{
  88. Meta: "table",
  89. Lang: "testlang",
  90. }, `
  91. lang: notright
  92. gitea:
  93. lang: testlang
  94. `,
  95. },
  96. {
  97. "complexlang", &RenderConfig{
  98. Meta: "table",
  99. Lang: "testlang",
  100. }, `
  101. gitea:
  102. lang: testlang
  103. `,
  104. },
  105. {
  106. "complex2", &RenderConfig{
  107. Lang: "two",
  108. Meta: "table",
  109. TOC: "true",
  110. }, `
  111. lang: one
  112. include_toc: true
  113. gitea:
  114. details_icon: smiley
  115. meta: table
  116. include_toc: true
  117. lang: two
  118. `,
  119. },
  120. }
  121. for _, tt := range tests {
  122. t.Run(tt.name, func(t *testing.T) {
  123. got := &RenderConfig{
  124. Meta: "table",
  125. Lang: "",
  126. }
  127. err := yaml.Unmarshal([]byte(strings.ReplaceAll(tt.args, "\t", " ")), got)
  128. require.NoError(t, err)
  129. assert.Equal(t, tt.expected.Meta, got.Meta)
  130. assert.Equal(t, tt.expected.Lang, got.Lang)
  131. assert.Equal(t, tt.expected.TOC, got.TOC)
  132. })
  133. }
  134. }