summaryrefslogtreecommitdiffstats
path: root/modules/markup
diff options
context:
space:
mode:
Diffstat (limited to 'modules/markup')
-rw-r--r--modules/markup/markdown/meta_test.go48
1 files changed, 26 insertions, 22 deletions
diff --git a/modules/markup/markdown/meta_test.go b/modules/markup/markdown/meta_test.go
index 720d0066f4..1e9768e618 100644
--- a/modules/markup/markdown/meta_test.go
+++ b/modules/markup/markdown/meta_test.go
@@ -9,82 +9,86 @@ import (
"strings"
"testing"
- "code.gitea.io/gitea/modules/structs"
-
"github.com/stretchr/testify/assert"
)
-func validateMetadata(it structs.IssueTemplate) bool {
- /*
- A legacy to keep the unit tests working.
- Copied from the method "func (it IssueTemplate) Valid() bool", the original method has been removed.
- Because it becomes quite complicated to validate an issue template which is support yaml form now.
- The new way to validate an issue template is to call the Validate in modules/issue/template,
- */
+/*
+IssueTemplate is a legacy to keep the unit tests working.
+Copied from structs.IssueTemplate, the original type has been changed a lot to support yaml template.
+*/
+type IssueTemplate struct {
+ Name string `json:"name" yaml:"name"`
+ Title string `json:"title" yaml:"title"`
+ About string `json:"about" yaml:"about"`
+ Labels []string `json:"labels" yaml:"labels"`
+ Ref string `json:"ref" yaml:"ref"`
+}
+
+func (it *IssueTemplate) Valid() bool {
return strings.TrimSpace(it.Name) != "" && strings.TrimSpace(it.About) != ""
}
func TestExtractMetadata(t *testing.T) {
t.Run("ValidFrontAndBody", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
body, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s\n%s", sepTest, frontTest, sepTest, bodyTest), &meta)
assert.NoError(t, err)
assert.Equal(t, bodyTest, body)
assert.Equal(t, metaTest, meta)
- assert.True(t, validateMetadata(meta))
+ assert.True(t, meta.Valid())
})
t.Run("NoFirstSeparator", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
_, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", frontTest, sepTest, bodyTest), &meta)
assert.Error(t, err)
})
t.Run("NoLastSeparator", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
_, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, bodyTest), &meta)
assert.Error(t, err)
})
t.Run("NoBody", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
body, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, sepTest), &meta)
assert.NoError(t, err)
assert.Equal(t, "", body)
assert.Equal(t, metaTest, meta)
- assert.True(t, validateMetadata(meta))
+ assert.True(t, meta.Valid())
})
}
func TestExtractMetadataBytes(t *testing.T) {
t.Run("ValidFrontAndBody", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
body, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s\n%s", sepTest, frontTest, sepTest, bodyTest)), &meta)
assert.NoError(t, err)
assert.Equal(t, bodyTest, string(body))
assert.Equal(t, metaTest, meta)
- assert.True(t, validateMetadata(meta))
+ assert.True(t, meta.Valid())
})
t.Run("NoFirstSeparator", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
_, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", frontTest, sepTest, bodyTest)), &meta)
assert.Error(t, err)
})
t.Run("NoLastSeparator", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
_, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, bodyTest)), &meta)
assert.Error(t, err)
})
t.Run("NoBody", func(t *testing.T) {
- var meta structs.IssueTemplate
+ var meta IssueTemplate
body, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, sepTest)), &meta)
assert.NoError(t, err)
assert.Equal(t, "", string(body))
assert.Equal(t, metaTest, meta)
- assert.True(t, validateMetadata(meta))
+ assert.True(t, meta.Valid())
})
}
@@ -97,7 +101,7 @@ labels:
- bug
- "test label"`
bodyTest = "This is the body"
- metaTest = structs.IssueTemplate{
+ metaTest = IssueTemplate{
Name: "Test",
About: "A Test",
Title: "Test Title",