go-enry/utils_test.go

100 lines
2.7 KiB
Go
Raw Normal View History

2017-06-13 13:56:07 +02:00
package enry
2016-07-13 19:05:09 +02:00
import (
"bytes"
2017-05-29 10:05:16 +02:00
"fmt"
"testing"
2016-07-13 19:05:09 +02:00
2017-05-29 10:05:16 +02:00
"github.com/stretchr/testify/assert"
2016-07-13 19:05:09 +02:00
)
func (s *EnryTestSuite) TestIsVendor() {
2017-05-29 10:05:16 +02:00
tests := []struct {
name string
path string
expected bool
}{
{name: "TestIsVendor_1", path: "foo/bar", expected: false},
{name: "TestIsVendor_2", path: "foo/vendor/foo", expected: true},
{name: "TestIsVendor_3", path: ".sublime-project", expected: true},
{name: "TestIsVendor_4", path: "leaflet.draw-src.js", expected: true},
{name: "TestIsVendor_5", path: "foo/bar/MochiKit.js", expected: true},
{name: "TestIsVendor_6", path: "foo/bar/dojo.js", expected: true},
{name: "TestIsVendor_7", path: "foo/env/whatever", expected: true},
{name: "TestIsVendor_8", path: "foo/.imageset/bar", expected: true},
{name: "TestIsVendor_9", path: "Vagrantfile", expected: true},
}
2016-07-13 19:05:09 +02:00
2017-05-29 10:05:16 +02:00
for _, test := range tests {
is := IsVendor(test.path)
assert.Equal(s.T(), is, test.expected, fmt.Sprintf("%v: is = %v, expected: %v", test.name, is, test.expected))
}
2016-07-13 19:05:09 +02:00
}
func (s *EnryTestSuite) TestIsDocumentation() {
2017-05-29 10:05:16 +02:00
tests := []struct {
name string
path string
expected bool
}{
{name: "TestIsDocumentation_1", path: "foo", expected: false},
{name: "TestIsDocumentation_2", path: "README", expected: true},
}
for _, test := range tests {
is := IsDocumentation(test.path)
assert.Equal(s.T(), is, test.expected, fmt.Sprintf("%v: is = %v, expected: %v", test.name, is, test.expected))
}
2016-07-13 19:05:09 +02:00
}
func (s *EnryTestSuite) TestIsConfiguration() {
2017-05-29 10:05:16 +02:00
tests := []struct {
name string
path string
expected bool
}{
{name: "TestIsConfiguration_1", path: "foo", expected: false},
{name: "TestIsConfiguration_2", path: "foo.ini", expected: true},
2017-06-12 13:42:20 +02:00
{name: "TestIsConfiguration_3", path: "/test/path/foo.json", expected: true},
2017-05-29 10:05:16 +02:00
}
for _, test := range tests {
is := IsConfiguration(test.path)
assert.Equal(s.T(), is, test.expected, fmt.Sprintf("%v: is = %v, expected: %v", test.name, is, test.expected))
}
}
2016-07-13 19:05:09 +02:00
func (s *EnryTestSuite) TestIsBinary() {
2017-05-29 10:05:16 +02:00
tests := []struct {
name string
data []byte
expected bool
}{
{name: "TestIsBinary_1", data: []byte("foo"), expected: false},
{name: "TestIsBinary_2", data: []byte{0}, expected: true},
{name: "TestIsBinary_3", data: bytes.Repeat([]byte{'o'}, 8000), expected: false},
}
2016-07-13 19:05:09 +02:00
2017-05-29 10:05:16 +02:00
for _, test := range tests {
is := IsBinary(test.data)
assert.Equal(s.T(), is, test.expected, fmt.Sprintf("%v: is = %v, expected: %v", test.name, is, test.expected))
}
2016-07-13 19:05:09 +02:00
}
const (
htmlPath = "some/random/dir/file.html"
jsPath = "some/random/dir/file.js"
)
2017-05-29 10:05:16 +02:00
func BenchmarkVendor(b *testing.B) {
for i := 0; i < b.N; i++ {
2016-07-13 19:05:09 +02:00
_ = IsVendor(htmlPath)
}
}
2017-05-29 10:05:16 +02:00
func BenchmarkVendorJS(b *testing.B) {
for i := 0; i < b.N; i++ {
2016-07-13 19:05:09 +02:00
_ = IsVendor(jsPath)
}
}