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  }