Add util package with a DeHex function
This commit is contained in:
13
util/util.go
Normal file
13
util/util.go
Normal file
@ -0,0 +1,13 @@
|
||||
// package util provides small utility functions that make it easier to express common things
|
||||
package util
|
||||
|
||||
import "encoding/hex"
|
||||
|
||||
// DeHex decodes a hexadecimal string into a byte slice. Panics if the string is invalid.
|
||||
func DeHex(s string) []byte {
|
||||
decoded, err := hex.DecodeString(s)
|
||||
if err != nil {
|
||||
panic("invalid hex string")
|
||||
}
|
||||
return decoded
|
||||
}
|
25
util/util_test.go
Normal file
25
util/util_test.go
Normal file
@ -0,0 +1,25 @@
|
||||
package util_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.omicron.one/playground/cryptography/util"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestDeHex(t *testing.T) {
|
||||
b := util.DeHex("")
|
||||
assert.NotNil(t, b)
|
||||
assert.Len(t, b, 0)
|
||||
|
||||
b = util.DeHex("deadbeef")
|
||||
assert.NotNil(t, b)
|
||||
assert.Equal(t, []byte("\xde\xad\xbe\xef"), b)
|
||||
|
||||
assert.PanicsWithValue(t, "invalid hex string", func() {
|
||||
util.DeHex("dead serious this is not a hex string")
|
||||
})
|
||||
assert.PanicsWithValue(t, "invalid hex string", func() {
|
||||
util.DeHex("deada55")
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user