edge/pkg/bundle/zim/reader_test.go

84 lines
1.7 KiB
Go

package zim
import (
"log"
"path/filepath"
"testing"
"github.com/davecgh/go-spew/spew"
"github.com/pkg/errors"
)
func TestReader(t *testing.T) {
files, err := filepath.Glob("testdata/*.zim")
if err != nil {
t.Fatalf("%+v", errors.WithStack(err))
}
for _, zf := range files {
testName := filepath.Base(zf)
t.Run(testName, func(t *testing.T) {
reader, err := Open(zf)
if err != nil {
t.Fatalf("%+v", errors.WithStack(err))
}
defer func() {
if err := reader.Close(); err != nil {
t.Fatalf("%+v", errors.WithStack(err))
}
}()
iterator := reader.Entries()
for iterator.Next() {
entry := iterator.Entry()
content, err := entry.Redirect()
if err != nil {
t.Errorf("%+v", errors.WithStack(err))
break
}
log.Printf("%s/%s: %s", content.Namespace(), content.URL(), content.Title())
contentReader, err := content.Reader()
if err != nil {
t.Errorf("%+v", errors.WithStack(err))
break
}
spew.Dump(contentReader)
}
if err := iterator.Err(); err != nil {
if err != nil {
t.Errorf("%+v", errors.WithStack(err))
}
}
})
// entry, err := reader.EntryWithURL(V6NamespaceContent, "A/a.tile.openstreetmap.org/16/33682/22970.png")
// if err != nil {
// t.Fatalf("%+v", errors.WithStack(err))
// }
// content, err := entry.Redirect()
// if err != nil {
// t.Fatalf("%+v", errors.WithStack(err))
// }
// contentReader, err := content.Reader()
// if err != nil {
// t.Fatalf("%+v", errors.WithStack(err))
// break
// }
// data, err := io.ReadAll(contentReader)
// if err != nil {
// t.Fatalf("%+v", errors.WithStack(err))
// break
// }
// spew.Dump(data)
}
}