]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add a couple of decode tests, fix empty slice bug.
authornsf <no.smile.face@gmail.com>
Fri, 22 Jun 2012 13:34:26 +0000 (19:34 +0600)
committernsf <no.smile.face@gmail.com>
Fri, 22 Jun 2012 13:34:26 +0000 (19:34 +0600)
bencode/decode.go
bencode/decode_test.go

index 77ddd0d3d950c33b1e7c1c5ee31e3b470e782e2d..903dfe4a477abc2bb6dbbbc8ea6b3967fb7a4275 100644 (file)
@@ -484,5 +484,8 @@ func (d *decoder) parse_list_interface() interface{} {
 
                list = append(list, valuei)
        }
+       if list == nil {
+               list = make([]interface{}, 0, 0)
+       }
        return list
 }
index 3cf5776f203f51a1a5eaa065f4138b347ce015ad..4f06f391a5f1070da83e73057071b55e087a39c8 100644 (file)
@@ -16,6 +16,8 @@ var random_decode_tests = []random_decode_test{
        {"d1:ai5e1:b5:helloe", map[string]interface{}{"a": int64(5), "b": "hello"}},
        {"li5ei10ei15ei20e7:bencodee",
                []interface{}{int64(5), int64(10), int64(15), int64(20), "bencode"}},
+       {"ldedee", []interface{}{map[string]interface{}{}, map[string]interface{}{}}},
+       {"le", []interface{}{}},
 }
 
 func TestRandomDecode(t *testing.T) {