mirror of https://github.com/ledisdb/ledisdb.git
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
package rdb_test
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/base64"
|
|
|
|
"github.com/cupcake/rdb"
|
|
. "gopkg.in/check.v1"
|
|
)
|
|
|
|
type EncoderSuite struct{}
|
|
|
|
var _ = Suite(&EncoderSuite{})
|
|
|
|
var stringEncodingTests = []struct {
|
|
str string
|
|
res string
|
|
}{
|
|
{"0", "AMAABgAOrc/4DQU/mw=="},
|
|
{"127", "AMB/BgCbWIOxpwH5hw=="},
|
|
{"-128", "AMCABgAPi1rt2llnSg=="},
|
|
{"128", "AMGAAAYAfZfbNeWad/Y="},
|
|
{"-129", "AMF//wYAgY3qqKHVuBM="},
|
|
{"32767", "AMH/fwYA37dfWuKh6bg="},
|
|
{"-32768", "AMEAgAYAI61ux6buJl0="},
|
|
{"-32768", "AMEAgAYAI61ux6buJl0="},
|
|
{"2147483647", "AML///9/BgC6mY0eFXuRMg=="},
|
|
{"-2147483648", "AMIAAACABgBRou++xgC9FA=="},
|
|
{"a", "AAFhBgApE4cbemNBJw=="},
|
|
}
|
|
|
|
func (e *EncoderSuite) TestStringEncoding(c *C) {
|
|
buf := &bytes.Buffer{}
|
|
for _, t := range stringEncodingTests {
|
|
e := rdb.NewEncoder(buf)
|
|
e.EncodeType(rdb.TypeString)
|
|
e.EncodeString([]byte(t.str))
|
|
e.EncodeDumpFooter()
|
|
expected, _ := base64.StdEncoding.DecodeString(t.res)
|
|
c.Assert(buf.Bytes(), DeepEquals, expected, Commentf("%s - expected: %x, actual: %x", t.str, expected, buf.Bytes()))
|
|
buf.Reset()
|
|
}
|
|
}
|