mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Remove deadcode (#22245)
- Remove code that isn't being used. Found this is my stash from a few weeks ago, not sure how I found this in the first place. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		@@ -9,8 +9,6 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"os"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
)
 | 
			
		||||
@@ -288,102 +286,6 @@ func (wr *nulSeparatedAttributeWriter) Close() error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type lineSeparatedAttributeWriter struct {
 | 
			
		||||
	tmp        []byte
 | 
			
		||||
	attributes chan attributeTriple
 | 
			
		||||
	closed     chan struct{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (wr *lineSeparatedAttributeWriter) Write(p []byte) (n int, err error) {
 | 
			
		||||
	l := len(p)
 | 
			
		||||
 | 
			
		||||
	nlIdx := bytes.IndexByte(p, '\n')
 | 
			
		||||
	for nlIdx >= 0 {
 | 
			
		||||
		wr.tmp = append(wr.tmp, p[:nlIdx]...)
 | 
			
		||||
 | 
			
		||||
		if len(wr.tmp) == 0 {
 | 
			
		||||
			// This should not happen
 | 
			
		||||
			if len(p) > nlIdx+1 {
 | 
			
		||||
				wr.tmp = wr.tmp[:0]
 | 
			
		||||
				p = p[nlIdx+1:]
 | 
			
		||||
				nlIdx = bytes.IndexByte(p, '\n')
 | 
			
		||||
				continue
 | 
			
		||||
			} else {
 | 
			
		||||
				return l, nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		working := attributeTriple{}
 | 
			
		||||
		if wr.tmp[0] == '"' {
 | 
			
		||||
			sb := new(strings.Builder)
 | 
			
		||||
			remaining := string(wr.tmp[1:])
 | 
			
		||||
			for len(remaining) > 0 {
 | 
			
		||||
				rn, _, tail, err := strconv.UnquoteChar(remaining, '"')
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					if len(remaining) > 2 && remaining[0] == '"' && remaining[1] == ':' && remaining[2] == ' ' {
 | 
			
		||||
						working.Filename = sb.String()
 | 
			
		||||
						wr.tmp = []byte(remaining[3:])
 | 
			
		||||
						break
 | 
			
		||||
					}
 | 
			
		||||
					return l, fmt.Errorf("unexpected tail %s", remaining)
 | 
			
		||||
				}
 | 
			
		||||
				_, _ = sb.WriteRune(rn)
 | 
			
		||||
				remaining = tail
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			idx := bytes.IndexByte(wr.tmp, ':')
 | 
			
		||||
			if idx < 0 {
 | 
			
		||||
				return l, fmt.Errorf("unexpected input %s", string(wr.tmp))
 | 
			
		||||
			}
 | 
			
		||||
			working.Filename = string(wr.tmp[:idx])
 | 
			
		||||
			if len(wr.tmp) < idx+2 {
 | 
			
		||||
				return l, fmt.Errorf("unexpected input %s", string(wr.tmp))
 | 
			
		||||
			}
 | 
			
		||||
			wr.tmp = wr.tmp[idx+2:]
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		idx := bytes.IndexByte(wr.tmp, ':')
 | 
			
		||||
		if idx < 0 {
 | 
			
		||||
			return l, fmt.Errorf("unexpected input %s", string(wr.tmp))
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		working.Attribute = string(wr.tmp[:idx])
 | 
			
		||||
		if len(wr.tmp) < idx+2 {
 | 
			
		||||
			return l, fmt.Errorf("unexpected input %s", string(wr.tmp))
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		working.Value = string(wr.tmp[idx+2:])
 | 
			
		||||
 | 
			
		||||
		wr.attributes <- working
 | 
			
		||||
		wr.tmp = wr.tmp[:0]
 | 
			
		||||
		if len(p) > nlIdx+1 {
 | 
			
		||||
			p = p[nlIdx+1:]
 | 
			
		||||
			nlIdx = bytes.IndexByte(p, '\n')
 | 
			
		||||
			continue
 | 
			
		||||
		} else {
 | 
			
		||||
			return l, nil
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	wr.tmp = append(wr.tmp, p...)
 | 
			
		||||
	return l, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (wr *lineSeparatedAttributeWriter) ReadAttribute() <-chan attributeTriple {
 | 
			
		||||
	return wr.attributes
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (wr *lineSeparatedAttributeWriter) Close() error {
 | 
			
		||||
	select {
 | 
			
		||||
	case <-wr.closed:
 | 
			
		||||
		return nil
 | 
			
		||||
	default:
 | 
			
		||||
	}
 | 
			
		||||
	close(wr.attributes)
 | 
			
		||||
	close(wr.closed)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Create a check attribute reader for the current repository and provided commit ID
 | 
			
		||||
func (repo *Repository) CheckAttributeReader(commitID string) (*CheckAttributeReader, context.CancelFunc) {
 | 
			
		||||
	indexFilename, worktree, deleteTemporaryFile, err := repo.ReadTreeToTemporaryIndex(commitID)
 | 
			
		||||
 
 | 
			
		||||
@@ -95,64 +95,3 @@ func Test_nulSeparatedAttributeWriter_ReadAttribute(t *testing.T) {
 | 
			
		||||
		Value:     "unspecified",
 | 
			
		||||
	}, attr)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Test_lineSeparatedAttributeWriter_ReadAttribute(t *testing.T) {
 | 
			
		||||
	wr := &lineSeparatedAttributeWriter{
 | 
			
		||||
		attributes: make(chan attributeTriple, 5),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	testStr := `".gitignore\"\n": linguist-vendored: unspecified
 | 
			
		||||
`
 | 
			
		||||
	n, err := wr.Write([]byte(testStr))
 | 
			
		||||
 | 
			
		||||
	assert.Equal(t, n, len(testStr))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
 | 
			
		||||
	select {
 | 
			
		||||
	case attr := <-wr.ReadAttribute():
 | 
			
		||||
		assert.Equal(t, ".gitignore\"\n", attr.Filename)
 | 
			
		||||
		assert.Equal(t, "linguist-vendored", attr.Attribute)
 | 
			
		||||
		assert.Equal(t, "unspecified", attr.Value)
 | 
			
		||||
	case <-time.After(100 * time.Millisecond):
 | 
			
		||||
		assert.Fail(t, "took too long to read an attribute from the list")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Write a second attribute again
 | 
			
		||||
	n, err = wr.Write([]byte(testStr))
 | 
			
		||||
 | 
			
		||||
	assert.Equal(t, n, len(testStr))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
 | 
			
		||||
	select {
 | 
			
		||||
	case attr := <-wr.ReadAttribute():
 | 
			
		||||
		assert.Equal(t, ".gitignore\"\n", attr.Filename)
 | 
			
		||||
		assert.Equal(t, "linguist-vendored", attr.Attribute)
 | 
			
		||||
		assert.Equal(t, "unspecified", attr.Value)
 | 
			
		||||
	case <-time.After(100 * time.Millisecond):
 | 
			
		||||
		assert.Fail(t, "took too long to read an attribute from the list")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Write a partial attribute
 | 
			
		||||
	_, err = wr.Write([]byte("incomplete-file"))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	_, err = wr.Write([]byte("name: "))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	select {
 | 
			
		||||
	case <-wr.ReadAttribute():
 | 
			
		||||
		assert.Fail(t, "There should not be an attribute ready to read")
 | 
			
		||||
	case <-time.After(100 * time.Millisecond):
 | 
			
		||||
	}
 | 
			
		||||
	_, err = wr.Write([]byte("attribute: "))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	select {
 | 
			
		||||
	case <-wr.ReadAttribute():
 | 
			
		||||
		assert.Fail(t, "There should not be an attribute ready to read")
 | 
			
		||||
	case <-time.After(100 * time.Millisecond):
 | 
			
		||||
	}
 | 
			
		||||
	_, err = wr.Write([]byte("value\n"))
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	attr := <-wr.ReadAttribute()
 | 
			
		||||
	assert.Equal(t, "incomplete-filename", attr.Filename)
 | 
			
		||||
	assert.Equal(t, "attribute", attr.Attribute)
 | 
			
		||||
	assert.Equal(t, "value", attr.Value)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -289,9 +289,3 @@ func RenderRawString(ctx *markup.RenderContext, content string) (string, error)
 | 
			
		||||
	}
 | 
			
		||||
	return buf.String(), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsMarkdownFile reports whether name looks like a Markdown file
 | 
			
		||||
// based on its extension.
 | 
			
		||||
func IsMarkdownFile(name string) bool {
 | 
			
		||||
	return markup.IsMarkupFile(name, MarkupName)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -74,28 +74,6 @@ func TestRender_StandardLinks(t *testing.T) {
 | 
			
		||||
		`<p><a href="`+lnkWiki+`" rel="nofollow">WikiPage</a></p>`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestMisc_IsMarkdownFile(t *testing.T) {
 | 
			
		||||
	setting.Markdown.FileExtensions = []string{".md", ".markdown", ".mdown", ".mkd"}
 | 
			
		||||
	trueTestCases := []string{
 | 
			
		||||
		"test.md",
 | 
			
		||||
		"wow.MARKDOWN",
 | 
			
		||||
		"LOL.mDoWn",
 | 
			
		||||
	}
 | 
			
		||||
	falseTestCases := []string{
 | 
			
		||||
		"test",
 | 
			
		||||
		"abcdefg",
 | 
			
		||||
		"abcdefghijklmnopqrstuvwxyz",
 | 
			
		||||
		"test.md.test",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, testCase := range trueTestCases {
 | 
			
		||||
		assert.True(t, IsMarkdownFile(testCase))
 | 
			
		||||
	}
 | 
			
		||||
	for _, testCase := range falseTestCases {
 | 
			
		||||
		assert.False(t, IsMarkdownFile(testCase))
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestRender_Images(t *testing.T) {
 | 
			
		||||
	setting.AppURL = AppURL
 | 
			
		||||
	setting.AppSubURL = AppSubURL
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user