@@ -3,6 +3,7 @@ package aixm_test
33import (
44 "archive/zip"
55 "encoding/xml"
6+ "io/fs"
67 "os"
78 "path/filepath"
89 "testing"
@@ -35,21 +36,6 @@ func TestAIXM(t *testing.T) {
3536 "testdata/Obstacles.aixm5.xml.zip" ,
3637 }
3738
38- observeZipFile := func (zipFile * zip.File ) {
39- readCloser , err := zipFile .Open ()
40- assert .NoError (t , err )
41- defer readCloser .Close ()
42- assert .NoError (t , generator .ObserveReader (readCloser ))
43- }
44-
45- observeZipReader := func (zipReader * zip.Reader ) {
46- for _ , zipFile := range zipReader .File {
47- if filepath .Ext (zipFile .Name ) == ".xml" {
48- observeZipFile (zipFile )
49- }
50- }
51- }
52-
5339 zipReaders := make ([]* zip.Reader , 0 , len (filenames ))
5440 for _ , filename := range filenames {
5541 file , err := os .Open (filename )
@@ -62,7 +48,15 @@ func TestAIXM(t *testing.T) {
6248 zipReader , err := zip .NewReader (file , fileInfo .Size ())
6349 assert .NoError (t , err )
6450
65- observeZipReader (zipReader )
51+ assert .NoError (t , generator .ObserveFS (zipReader , "." , func (path string , _ fs.DirEntry , err error ) error {
52+ if err != nil {
53+ return err
54+ }
55+ if filepath .Ext (path ) != ".xml" {
56+ return xmlstruct .SkipFile
57+ }
58+ return nil
59+ }))
6660
6761 zipReaders = append (zipReaders , zipReader )
6862 }
0 commit comments