diff options
author | Nick <nick.guenther@polymtl.ca> | 2023-02-13 15:01:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-13 15:01:09 -0500 |
commit | 7b5b739a2f9d9c84ec216ff629dbf0d1dd8a4322 (patch) | |
tree | 80624177b947ebdb8bc33a37bb1d9334a3acd040 /modules/markup | |
parent | 51383ec0841ec2562e5c4a9dadd4fef82974dd5c (diff) | |
download | gitea-7b5b739a2f9d9c84ec216ff629dbf0d1dd8a4322.tar.gz gitea-7b5b739a2f9d9c84ec216ff629dbf0d1dd8a4322.zip |
Move `IsReadmeFile*` from `modules/markup/` to `modules/util` (#22877)
These functions don't examine contents, just filenames, so they don't
fit in well in a markup module.
This was originally part of
https://github.com/go-gitea/gitea/pull/22177.
Signed-off-by: Nick Guenther <nick.guenther@polymtl.ca>
Diffstat (limited to 'modules/markup')
-rw-r--r-- | modules/markup/renderer.go | 38 | ||||
-rw-r--r-- | modules/markup/renderer_test.go | 91 |
2 files changed, 0 insertions, 129 deletions
diff --git a/modules/markup/renderer.go b/modules/markup/renderer.go index 5a31e961fb..df2c9ebfc6 100644 --- a/modules/markup/renderer.go +++ b/modules/markup/renderer.go @@ -317,41 +317,3 @@ func IsMarkupFile(name, markup string) bool { } return false } - -// IsReadmeFile reports whether name looks like a README file -// based on its name. -func IsReadmeFile(name string) bool { - name = strings.ToLower(name) - if len(name) < 6 { - return false - } else if len(name) == 6 { - return name == "readme" - } - return name[:7] == "readme." -} - -// IsReadmeFileExtension reports whether name looks like a README file -// based on its name. It will look through the provided extensions and check if the file matches -// one of the extensions and provide the index in the extension list. -// If the filename is `readme.` with an unmatched extension it will match with the index equaling -// the length of the provided extension list. -// Note that the '.' should be provided in ext, e.g ".md" -func IsReadmeFileExtension(name string, ext ...string) (int, bool) { - name = strings.ToLower(name) - if len(name) < 6 || name[:6] != "readme" { - return 0, false - } - - for i, extension := range ext { - extension = strings.ToLower(extension) - if name[6:] == extension { - return i, true - } - } - - if name[6] == '.' { - return len(ext), true - } - - return 0, false -} diff --git a/modules/markup/renderer_test.go b/modules/markup/renderer_test.go index 624558c3f7..0791081f94 100644 --- a/modules/markup/renderer_test.go +++ b/modules/markup/renderer_test.go @@ -2,94 +2,3 @@ // SPDX-License-Identifier: MIT package markup_test - -import ( - "testing" - - . "code.gitea.io/gitea/modules/markup" - - _ "code.gitea.io/gitea/modules/markup/markdown" - - "github.com/stretchr/testify/assert" -) - -func TestMisc_IsReadmeFile(t *testing.T) { - trueTestCases := []string{ - "readme", - "README", - "readME.mdown", - "README.md", - "readme.i18n.md", - } - falseTestCases := []string{ - "test.md", - "wow.MARKDOWN", - "LOL.mDoWn", - "test", - "abcdefg", - "abcdefghijklmnopqrstuvwxyz", - "test.md.test", - "readmf", - } - - for _, testCase := range trueTestCases { - assert.True(t, IsReadmeFile(testCase)) - } - for _, testCase := range falseTestCases { - assert.False(t, IsReadmeFile(testCase)) - } - - type extensionTestcase struct { - name string - expected bool - idx int - } - - exts := []string{".md", ".txt", ""} - testCasesExtensions := []extensionTestcase{ - { - name: "readme", - expected: true, - idx: 2, - }, - { - name: "readme.md", - expected: true, - idx: 0, - }, - { - name: "README.md", - expected: true, - idx: 0, - }, - { - name: "ReAdMe.Md", - expected: true, - idx: 0, - }, - { - name: "readme.txt", - expected: true, - idx: 1, - }, - { - name: "readme.doc", - expected: true, - idx: 3, - }, - { - name: "readmee.md", - }, - { - name: "readme..", - expected: true, - idx: 3, - }, - } - - for _, testCase := range testCasesExtensions { - idx, ok := IsReadmeFileExtension(testCase.name, exts...) - assert.Equal(t, testCase.expected, ok) - assert.Equal(t, testCase.idx, idx) - } -} |