MCPcopy Create free account
hub / github.com/gogs/gogs / Test_RenderIssueIndexPattern

Function Test_RenderIssueIndexPattern

internal/markup/markup_test.go:51–227  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

49}
50
51func Test_RenderIssueIndexPattern(t *testing.T) {
52 urlPrefix := "/prefix"
53 t.Run("render to internal issue tracker", func(t *testing.T) {
54 tests := []struct {
55 input string
56 expVal string
57 }{
58 {input: "", expVal: ""},
59 {input: "this is a test", expVal: "this is a test"},
60 {input: "test 123 123 1234", expVal: "test 123 123 1234"},
61 {input: "#", expVal: "#"},
62 {input: "# # #", expVal: "# # #"},
63 {input: "# 123", expVal: "# 123"},
64 {input: "#abcd", expVal: "#abcd"},
65 {input: "##1234", expVal: "##1234"},
66 {input: "test#1234", expVal: "test#1234"},
67 {input: "#1234test", expVal: "#1234test"},
68 {input: " test #1234test", expVal: " test #1234test"},
69
70 {input: "#1234 test", expVal: "<a href=\"/prefix/issues/1234\">#1234</a> test"},
71 {input: "test #1234 issue", expVal: "test <a href=\"/prefix/issues/1234\">#1234</a> issue"},
72 {input: "test issue #1234", expVal: "test issue <a href=\"/prefix/issues/1234\">#1234</a>"},
73 {input: "#5 test", expVal: "<a href=\"/prefix/issues/5\">#5</a> test"},
74 {input: "test #5 issue", expVal: "test <a href=\"/prefix/issues/5\">#5</a> issue"},
75 {input: "test issue #5", expVal: "test issue <a href=\"/prefix/issues/5\">#5</a>"},
76
77 {input: "(#54321 issue)", expVal: "(<a href=\"/prefix/issues/54321\">#54321</a> issue)"},
78 {input: "test (#54321) issue", expVal: "test (<a href=\"/prefix/issues/54321\">#54321</a>) issue"},
79 {input: "test (#54321 extra) issue", expVal: "test (<a href=\"/prefix/issues/54321\">#54321</a> extra) issue"},
80 {input: "test (#54321 issue)", expVal: "test (<a href=\"/prefix/issues/54321\">#54321</a> issue)"},
81 {input: "test (#54321)", expVal: "test (<a href=\"/prefix/issues/54321\">#54321</a>)"},
82
83 {input: "[#54321 issue]", expVal: "[<a href=\"/prefix/issues/54321\">#54321</a> issue]"},
84 {input: "test [#54321] issue", expVal: "test [<a href=\"/prefix/issues/54321\">#54321</a>] issue"},
85 {input: "test [#54321 extra] issue", expVal: "test [<a href=\"/prefix/issues/54321\">#54321</a> extra] issue"},
86 {input: "test [#54321 issue]", expVal: "test [<a href=\"/prefix/issues/54321\">#54321</a> issue]"},
87 {input: "test [#54321]", expVal: "test [<a href=\"/prefix/issues/54321\">#54321</a>]"},
88
89 {input: "#54321 #1243", expVal: "<a href=\"/prefix/issues/54321\">#54321</a> <a href=\"/prefix/issues/1243\">#1243</a>"},
90 {input: "test #54321 #1243", expVal: "test <a href=\"/prefix/issues/54321\">#54321</a> <a href=\"/prefix/issues/1243\">#1243</a>"},
91 {input: "(#54321 #1243)", expVal: "(<a href=\"/prefix/issues/54321\">#54321</a> <a href=\"/prefix/issues/1243\">#1243</a>)"},
92 {input: "(#54321)(#1243)", expVal: "(<a href=\"/prefix/issues/54321\">#54321</a>)(<a href=\"/prefix/issues/1243\">#1243</a>)"},
93 {input: "text #54321 test #1243 issue", expVal: "text <a href=\"/prefix/issues/54321\">#54321</a> test <a href=\"/prefix/issues/1243\">#1243</a> issue"},
94 {input: "#1 (#4321) test", expVal: "<a href=\"/prefix/issues/1\">#1</a> (<a href=\"/prefix/issues/4321\">#4321</a>) test"},
95 }
96 for _, test := range tests {
97 t.Run(test.input, func(t *testing.T) {
98 assert.Equal(t, test.expVal, string(RenderIssueIndexPattern([]byte(test.input), urlPrefix, nil)))
99 })
100 }
101 })
102
103 t.Run("render to external issue tracker", func(t *testing.T) {
104 t.Run("numeric style", func(t *testing.T) {
105 metas := map[string]string{
106 "format": "https://someurl.com/{user}/{repo}/{index}",
107 "user": "someuser",
108 "repo": "somerepo",

Callers

nothing calls this directly

Calls 2

stringFunction · 0.85
RenderIssueIndexPatternFunction · 0.85

Tested by

no test coverage detected