mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 11:44:38 +03:00
expose fewer internals in packages, for easier software reuse
- prometheus is now behind an interface, they aren't dependencies for the reusable components anymore. - some dependencies have been inverted: instead of packages importing a main package to get configuration, the main package now sets configuration in these packages. that means fewer internals are pulled in. - some functions now have new parameters for values that were retrieved from package "mox-".
This commit is contained in:
24
message/decode_test.go
Normal file
24
message/decode_test.go
Normal file
@ -0,0 +1,24 @@
|
||||
package message
|
||||
|
||||
import (
|
||||
"io"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDecodeReader(t *testing.T) {
|
||||
check := func(charset, input, output string) {
|
||||
t.Helper()
|
||||
buf, err := io.ReadAll(DecodeReader(charset, strings.NewReader(input)))
|
||||
tcheck(t, err, "decode")
|
||||
if string(buf) != output {
|
||||
t.Fatalf("decoding %q with charset %q, got %q, expected %q", input, charset, buf, output)
|
||||
}
|
||||
}
|
||||
|
||||
check("", "☺", "☺") // No decoding.
|
||||
check("us-ascii", "☺", "☺") // No decoding.
|
||||
check("utf-8", "☺", "☺")
|
||||
check("iso-8859-1", string([]byte{0xa9}), "©")
|
||||
check("iso-8859-5", string([]byte{0xd0}), "а")
|
||||
}
|
Reference in New Issue
Block a user