3 Commits

Author SHA1 Message Date
Marten Seemann
daffaef0db fix staticcheck 2021-05-05 20:13:06 +07:00
Steven Allen
95cb7074c4 Merge pull request #39 from gammazero/fix-vet-warnings
Fix vet warnings about conversion of int to string
2021-02-26 15:53:14 -08:00
gammazero
2985033078 Fix vet warnings about conversion of int to string
Fixes issue #38
2020-11-19 17:38:08 -08:00
4 changed files with 11 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ language: go
go: go:
- 1.11.x - 1.11.x
- 1.15.x
env: env:
global: global:

View File

@@ -14,7 +14,7 @@ type Encoder struct {
func NewEncoder(base Encoding) (Encoder, error) { func NewEncoder(base Encoding) (Encoder, error) {
_, ok := EncodingToStr[base] _, ok := EncodingToStr[base]
if !ok { if !ok {
return Encoder{-1}, fmt.Errorf("Unsupported multibase encoding: %d", base) return Encoder{-1}, fmt.Errorf("unsupported multibase encoding: %d", base)
} }
return Encoder{base}, nil return Encoder{base}, nil
} }
@@ -33,9 +33,9 @@ func MustNewEncoder(base Encoding) Encoder {
// either be the multibase name or single character multibase prefix // either be the multibase name or single character multibase prefix
func EncoderByName(str string) (Encoder, error) { func EncoderByName(str string) (Encoder, error) {
var base Encoding var base Encoding
ok := true var ok bool
if len(str) == 0 { if len(str) == 0 {
return Encoder{-1}, fmt.Errorf("Empty multibase encoding") return Encoder{-1}, fmt.Errorf("empty multibase encoding")
} else if len(str) == 1 { } else if len(str) == 1 {
base = Encoding(str[0]) base = Encoding(str[0])
_, ok = EncodingToStr[base] _, ok = EncodingToStr[base]
@@ -43,7 +43,7 @@ func EncoderByName(str string) (Encoder, error) {
base, ok = Encodings[str] base, ok = Encodings[str]
} }
if !ok { if !ok {
return Encoder{-1}, fmt.Errorf("Unsupported multibase encoding: %s", str) return Encoder{-1}, fmt.Errorf("unsupported multibase encoding: %s", str)
} }
return Encoder{base}, nil return Encoder{base}, nil
} }

View File

@@ -84,7 +84,7 @@ func Encode(base Encoding, data []byte) (string, error) {
switch base { switch base {
case Identity: case Identity:
// 0x00 inside a string is OK in golang and causes no problems with the length calculation. // 0x00 inside a string is OK in golang and causes no problems with the length calculation.
return string(Identity) + string(data), nil return string(rune(Identity)) + string(data), nil
case Base2: case Base2:
return string(Base2) + binaryEncodeToString(data), nil return string(Base2) + binaryEncodeToString(data), nil
case Base16: case Base16:

View File

@@ -24,7 +24,7 @@ func TestMap(t *testing.T) {
var sampleBytes = []byte("Decentralize everything!!!") var sampleBytes = []byte("Decentralize everything!!!")
var encodedSamples = map[Encoding]string{ var encodedSamples = map[Encoding]string{
Identity: string(0x00) + "Decentralize everything!!!", Identity: string(rune(0x00)) + "Decentralize everything!!!",
Base2: "00100010001100101011000110110010101101110011101000111001001100001011011000110100101111010011001010010000001100101011101100110010101110010011110010111010001101000011010010110111001100111001000010010000100100001", Base2: "00100010001100101011000110110010101101110011101000111001001100001011011000110100101111010011001010010000001100101011101100110010101110010011110010111010001101000011010010110111001100111001000010010000100100001",
Base16: "f446563656e7472616c697a652065766572797468696e67212121", Base16: "f446563656e7472616c697a652065766572797468696e67212121",
Base16Upper: "F446563656E7472616C697A652065766572797468696E67212121", Base16Upper: "F446563656E7472616C697A652065766572797468696E67212121",
@@ -91,22 +91,22 @@ func TestRoundTrip(t *testing.T) {
continue continue
} }
_, _, err := Decode(string(base) + "\u00A0") _, _, err := Decode(string(rune(base)) + "\u00A0")
if err == nil { if err == nil {
t.Fatal(EncodingToStr[base] + " decode should fail on low-unicode") t.Fatal(EncodingToStr[base] + " decode should fail on low-unicode")
} }
_, _, err = Decode(string(base) + "\u1F4A8") _, _, err = Decode(string(rune(base)) + "\u1F4A8")
if err == nil { if err == nil {
t.Fatal(EncodingToStr[base] + " decode should fail on emoji") t.Fatal(EncodingToStr[base] + " decode should fail on emoji")
} }
_, _, err = Decode(string(base) + "!") _, _, err = Decode(string(rune(base)) + "!")
if err == nil { if err == nil {
t.Fatal(EncodingToStr[base] + " decode should fail on punctuation") t.Fatal(EncodingToStr[base] + " decode should fail on punctuation")
} }
_, _, err = Decode(string(base) + "\xA0") _, _, err = Decode(string(rune(base)) + "\xA0")
if err == nil { if err == nil {
t.Fatal(EncodingToStr[base] + " decode should fail on high-latin1") t.Fatal(EncodingToStr[base] + " decode should fail on high-latin1")
} }