github.com/bhameyie/otto@v0.2.1-0.20160406174117-16052efa52ec/builtin/app/ruby/gemfile_test.go (about)

     1  package rubyapp
     2  
     3  import (
     4  	"fmt"
     5  	"path/filepath"
     6  	"testing"
     7  )
     8  
     9  func TestHasGem(t *testing.T) {
    10  	cases := []struct {
    11  		Dir      string
    12  		Gem      string
    13  		Expected bool
    14  	}{
    15  		{
    16  			"hasgem-basic",
    17  			"redis",
    18  			true,
    19  		},
    20  
    21  		{
    22  			"hasgem-basic",
    23  			"newp",
    24  			false,
    25  		},
    26  
    27  		{
    28  			"hasgem-lock-basic",
    29  			"redis",
    30  			true,
    31  		},
    32  
    33  		{
    34  			"hasgem-lock-basic",
    35  			"newp",
    36  			false,
    37  		},
    38  
    39  		{
    40  			"hasgem-empty",
    41  			"newp",
    42  			false,
    43  		},
    44  	}
    45  
    46  	for _, tc := range cases {
    47  		errPrefix := fmt.Sprintf("In '%s', looking for '%s': ", tc.Dir, tc.Gem)
    48  		path := filepath.Join("./test-fixtures", tc.Dir)
    49  		ok, err := HasGem(path, tc.Gem)
    50  		if err != nil {
    51  			t.Fatalf("%s: %s", errPrefix, err)
    52  		}
    53  		if ok != tc.Expected {
    54  			t.Fatalf("%s: got %v", errPrefix, ok)
    55  		}
    56  	}
    57  }