@cryptotaxi247 / kubo / commits / 707f46671

test: add reverse relative seeking test to dagreader

License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Aug 20, 2016 at 20:12 UTC 707f466713689b5096ac408d761fe0db44c92db5
1 file changed +28 -2
unixfs/io/dagreader_test.go
+28 -2
@@ -77,6 +77,8 @@ func TestRelativeSeek(t *testing.T) {
77 for i := 0; i < 256; i++ {
78 inbuf[i*4] = byte(i)
79 }
80 +
81 + inbuf[1023] = 1 // force the reader to be 1024 bytes
82 node := testu.GetNode(t, dserv, inbuf)
83
84 reader, err := NewDagReader(ctx, node, dserv)
@@ -85,11 +87,35 @@ func TestRelativeSeek(t *testing.T) {
87 }
88
89 for i := 0; i < 256; i++ {
90 + if reader.Offset() != int64(i*4) {
91 + t.Fatalf("offset should be %d, was %d", i*4, reader.Offset())
92 + }
93 out := readByte(t, reader)
94 if int(out) != i {
90 - t.Fatalf("expected to read: %d at %d, read %d", i, reader.Offset(), out)
95 + t.Fatalf("expected to read: %d at %d, read %d", i, reader.Offset()-1, out)
96 + }
97 + if i != 255 {
98 + _, err := reader.Seek(3, os.SEEK_CUR)
99 + if err != nil {
100 + t.Fatal(err)
101 + }
102 + }
103 + }
104 +
105 + _, err = reader.Seek(4, os.SEEK_END)
106 + if err != nil {
107 + t.Fatal(err)
108 + }
109 +
110 + for i := 0; i < 256; i++ {
111 + if reader.Offset() != int64(1020-i*4) {
112 + t.Fatalf("offset should be %d, was %d", 1020-i*4, reader.Offset())
113 + }
114 + out := readByte(t, reader)
115 + if int(out) != 255-i {
116 + t.Fatalf("expected to read: %d at %d, read %d", 255-i, reader.Offset()-1, out)
117 }
92 - reader.Seek(3, os.SEEK_CUR)
118 + reader.Seek(-5, os.SEEK_CUR) // seek 4 bytes but we read one byte every time so 5 bytes
119 }
120
121 }