github.com/cosmos/cosmos-sdk@v0.50.10/types/bech32/bech32_test.go (about) 1 package bech32_test 2 3 import ( 4 "bytes" 5 "crypto/sha256" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 10 "github.com/cosmos/cosmos-sdk/types/bech32" 11 ) 12 13 func TestEncodeAndDecode(t *testing.T) { 14 sum := sha256.Sum256([]byte("hello world\n")) 15 ss := "shasum" 16 17 bech, err := bech32.ConvertAndEncode(ss, sum[:]) 18 require.NoError(t, err) 19 20 hrp, data, err := bech32.DecodeAndConvert(bech) 21 require.NoError(t, err) 22 23 require.Equal(t, hrp, ss, "Invalid hrp") 24 require.True(t, bytes.Equal(data, sum[:]), "Invalid decode") 25 } 26 27 func FuzzDecodeAndConvert(f *testing.F) { 28 if testing.Short() { 29 f.Skip() 30 } 31 32 f.Add("shasum149yfqne0parehrupja55kvqcfvxja5wpe54pas8mshffngvj53rs93fk75") 33 f.Add("bech321er8m900ayvv9rg5r6ush4nzvqhj4p9tqnxqkxaaxrs4ueuvhurcs4x3j4j") 34 35 f.Fuzz(func(t *testing.T, str string) { 36 _, _, _ = bech32.DecodeAndConvert(str) 37 }) 38 }