chore: Remove BreakWriter
- Introduced in99efa02edf
and removed in6e22605793
.
This commit is contained in:
parent
61f01f35ae
commit
6fd9c065dc
3 changed files with 0 additions and 114 deletions
|
@ -83,9 +83,6 @@ code.gitea.io/gitea/modules/cache
|
||||||
WithNoCacheContext
|
WithNoCacheContext
|
||||||
RemoveContextData
|
RemoveContextData
|
||||||
|
|
||||||
code.gitea.io/gitea/modules/charset
|
|
||||||
BreakWriter.Write
|
|
||||||
|
|
||||||
code.gitea.io/gitea/modules/emoji
|
code.gitea.io/gitea/modules/emoji
|
||||||
ReplaceCodes
|
ReplaceCodes
|
||||||
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
package charset
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// BreakWriter wraps an io.Writer to always write '\n' as '<br>'
|
|
||||||
type BreakWriter struct {
|
|
||||||
io.Writer
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write writes the provided byte slice transparently replacing '\n' with '<br>'
|
|
||||||
func (b *BreakWriter) Write(bs []byte) (n int, err error) {
|
|
||||||
pos := 0
|
|
||||||
for pos < len(bs) {
|
|
||||||
idx := bytes.IndexByte(bs[pos:], '\n')
|
|
||||||
if idx < 0 {
|
|
||||||
wn, err := b.Writer.Write(bs[pos:])
|
|
||||||
return n + wn, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if idx > 0 {
|
|
||||||
wn, err := b.Writer.Write(bs[pos : pos+idx])
|
|
||||||
n += wn
|
|
||||||
if err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err = b.Writer.Write([]byte("<br>")); err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
pos += idx + 1
|
|
||||||
|
|
||||||
n++
|
|
||||||
}
|
|
||||||
|
|
||||||
return n, err
|
|
||||||
}
|
|
|
@ -1,68 +0,0 @@
|
||||||
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
package charset
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestBreakWriter_Write(t *testing.T) {
|
|
||||||
tests := []struct {
|
|
||||||
name string
|
|
||||||
kase string
|
|
||||||
expect string
|
|
||||||
wantErr bool
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
name: "noline",
|
|
||||||
kase: "abcdefghijklmnopqrstuvwxyz",
|
|
||||||
expect: "abcdefghijklmnopqrstuvwxyz",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "endline",
|
|
||||||
kase: "abcdefghijklmnopqrstuvwxyz\n",
|
|
||||||
expect: "abcdefghijklmnopqrstuvwxyz<br>",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "startline",
|
|
||||||
kase: "\nabcdefghijklmnopqrstuvwxyz",
|
|
||||||
expect: "<br>abcdefghijklmnopqrstuvwxyz",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "onlyline",
|
|
||||||
kase: "\n\n\n",
|
|
||||||
expect: "<br><br><br>",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "empty",
|
|
||||||
kase: "",
|
|
||||||
expect: "",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "midline",
|
|
||||||
kase: "\nabc\ndefghijkl\nmnopqrstuvwxy\nz",
|
|
||||||
expect: "<br>abc<br>defghijkl<br>mnopqrstuvwxy<br>z",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, tt := range tests {
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
|
||||||
buf := &strings.Builder{}
|
|
||||||
b := &BreakWriter{
|
|
||||||
Writer: buf,
|
|
||||||
}
|
|
||||||
n, err := b.Write([]byte(tt.kase))
|
|
||||||
if (err != nil) != tt.wantErr {
|
|
||||||
t.Errorf("BreakWriter.Write() error = %v, wantErr %v", err, tt.wantErr)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if n != len(tt.kase) {
|
|
||||||
t.Errorf("BreakWriter.Write() = %v, want %v", n, len(tt.kase))
|
|
||||||
}
|
|
||||||
if buf.String() != tt.expect {
|
|
||||||
t.Errorf("BreakWriter.Write() wrote %q, want %v", buf.String(), tt.expect)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue