]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add a test for bdecoding consecutive dicts
authorMatt Joiner <anacrolix@gmail.com>
Thu, 26 Oct 2017 03:25:59 +0000 (14:25 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 26 Oct 2017 03:26:27 +0000 (14:26 +1100)
bencode/decode_test.go

index d519b8a6a0bdc24edf2bc77ab66938c7ad708f47..1db0c7e4c85a5cbcc51ad75a7d2400b9515b5900 100644 (file)
@@ -70,6 +70,20 @@ func TestDecoderConsecutive(t *testing.T) {
        require.Equal(t, io.EOF, err)
 }
 
+func TestDecoderConsecutiveDicts(t *testing.T) {
+       bb := bytes.NewBufferString("d4:herp4:derped3:wat1:ke17:oh baby a triple!")
+       d := NewDecoder(bb)
+       var m map[string]interface{}
+       require.NoError(t, d.Decode(&m))
+       assert.Len(t, m, 1)
+       assert.Equal(t, "derp", m["herp"])
+       require.NoError(t, d.Decode(&m))
+       assert.Equal(t, "k", m["wat"])
+       var s string
+       require.NoError(t, d.Decode(&s))
+       assert.Equal(t, "oh baby a triple!", s)
+}
+
 func check_error(t *testing.T, err error) {
        if err != nil {
                t.Error(err)