github.com/oNaiPs/go-generate-fast@v0.3.0/src/plugins/go-bindata/go-bindata_test.go (about) 1 package plugin_go_bindata 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 8 "github.com/oNaiPs/go-generate-fast/src/plugins" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestGobindataPluginName(t *testing.T) { 13 p := &GobindataPlugin{} 14 15 assert.Equal(t, "go-bindata", p.Name(), "They should be equal") 16 } 17 18 func TestGobindataPluginMatches(t *testing.T) { 19 p := &GobindataPlugin{} 20 21 t.Run("Match by executable", func(t *testing.T) { 22 opts := plugins.GenerateOpts{ExecutableName: "go-bindata"} 23 24 assert.True(t, p.Matches(opts)) 25 }) 26 27 t.Run("Match by package", func(t *testing.T) { 28 opts := plugins.GenerateOpts{GoPackage: "github.com/go-bindata/go-bindata/..."} 29 30 assert.True(t, p.Matches(opts)) 31 }) 32 33 t.Run("No match", func(t *testing.T) { 34 opts := plugins.GenerateOpts{ExecutableName: "not-bindata", GoPackage: "not-bindata"} 35 36 assert.False(t, p.Matches(opts)) 37 }) 38 } 39 40 func TestGobindataPluginComputeInputOutputFiles(t *testing.T) { 41 p := &GobindataPlugin{} 42 tmpDir := t.TempDir() 43 44 inputFile1 := filepath.Join(tmpDir, "input1") 45 err := os.WriteFile(inputFile1, []byte("dummy content"), 0600) 46 assert.NoError(t, err) 47 48 inputFile2 := filepath.Join(tmpDir, "input2") 49 err = os.WriteFile(inputFile2, []byte("dummy content"), 0600) 50 assert.NoError(t, err) 51 52 outputFile := filepath.Join(tmpDir, "output") 53 54 result := p.ComputeInputOutputFiles(plugins.GenerateOpts{ 55 SanitizedArgs: []string{"-o", outputFile, inputFile1}, 56 }) 57 58 assert.Equal(t, []string{inputFile1}, result.InputFiles) 59 assert.Equal(t, []string{outputFile}, result.OutputFiles) 60 61 result = p.ComputeInputOutputFiles(plugins.GenerateOpts{ 62 SanitizedArgs: []string{inputFile1}, 63 }) 64 65 assert.Equal(t, []string{inputFile1}, result.InputFiles) 66 assert.Equal(t, []string{"./bindata.go"}, result.OutputFiles) 67 68 result = p.ComputeInputOutputFiles(plugins.GenerateOpts{ 69 SanitizedArgs: []string{tmpDir + "/..."}, 70 }) 71 72 assert.Equal(t, []string{inputFile1, inputFile2}, result.InputFiles) 73 assert.Equal(t, []string{"./bindata.go"}, result.OutputFiles) 74 }