diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go index caffe0ea43..77ed126afa 100644 --- a/modules/markup/markdown/markdown_test.go +++ b/modules/markup/markdown/markdown_test.go @@ -568,3 +568,201 @@ foo: bar assert.Equal(t, test.expected, res, "Unexpected result in testcase %q", test.testcase) } } + +func TestFootnote(t *testing.T) { + testcases := []struct { + testcase string + expected string + }{ + { + `Citation needed[^0]. +[^0]: Source`, + `
Citation needed1.
+Source ↩︎
+Citation needed[^0]
+`, + }, + { + `Citation needed[^1], Citation needed twice[^3] +[^3]: Source`, + `Citation needed[^1], Citation needed twice1
+Source ↩︎
+Citation needed[^0]
+`, + }, + { + `Citation needed[^0] +[^0]: Source 1 +[^0]: Source 2`, + `Citation needed1
+Source 1 ↩︎
+Citation needed1
+Source ↩︎
+Trigger [^
+`, + }, + { + `Trigger 2 [^0`, + `Trigger 2 [^0
+`, + }, + { + `Citation needed[^0] +[^0]: Source with citation needed[^1] +[^1]: Source`, + `Citation needed1
+ +`, + }, + { + `Citation needed[^#] +[^#]: Source`, + `Citation needed1
+Source ↩︎
+Citation needed[^0]
+[^0]: Source
Citation needed1.
+Source ↩︎
+Citation needed[^]
+[^]: Source
Citation needed[^0]
+[^0] Source
Citation needed[^0]
+[^0 Source
Citation needed[^0] [^0]: Source
+`, + }, + { + `Citation needed[^Source here 0 # 9-3] +[^Source here 0 # 9-3]: Source`, + `Citation needed1
+Source ↩︎
+Citation needed1
+