github.phpd.cn/thought-machine/please@v12.2.0+incompatible/tools/jarcat/unzip/unzip_test.go (about) 1 package unzip 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 var files = []string{ 11 "third_party/python/xmlrunner/__init__.py", 12 "third_party/python/xmlrunner/__main__.py", 13 "third_party/python/xmlrunner/builder.py", 14 "third_party/python/xmlrunner/extra/", 15 "third_party/python/xmlrunner/extra/__init__.py", 16 "third_party/python/xmlrunner/extra/djangotestrunner.py", 17 "third_party/python/xmlrunner/result.py", 18 "third_party/python/xmlrunner/runner.py", 19 "third_party/python/xmlrunner/unittest.py", 20 "third_party/python/xmlrunner/version.py", 21 } 22 23 func TestExtract(t *testing.T) { 24 assert.NoError(t, Extract("tools/jarcat/unzip/test_data/xmlrunner.whl", ".", "", "")) 25 for _, file := range files { 26 _, err := os.Stat(file) 27 assert.NoError(t, err) 28 } 29 } 30 31 func TestPrefix(t *testing.T) { 32 prefix := "third_party/python" 33 assert.NoError(t, Extract("tools/jarcat/unzip/test_data/xmlrunner.whl", ".", "", prefix)) 34 for _, file := range files { 35 _, err := os.Stat(file[len(prefix)+1:]) 36 assert.NoError(t, err) 37 } 38 } 39 40 func TestSpecificFile(t *testing.T) { 41 assert.NoError(t, Extract("tools/jarcat/unzip/test_data/xmlrunner.whl", "wibble.py", "third_party/python/xmlrunner/result.py", "")) 42 _, err := os.Stat("wibble.py") 43 assert.NoError(t, err) 44 }