diff --git a/pkg/version/version_test.go b/pkg/version/version_test.go new file mode 100644 index 0000000..17f96e4 --- /dev/null +++ b/pkg/version/version_test.go @@ -0,0 +1,31 @@ +package version // import nocternity.net/gomonop/pkg/version + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestVersion(t *testing.T) { + type Test struct { + version, commit, status, target, expected string + } + + tests := []Test{ + {"", "COMMIT", "clean", "TARGET", "development version (COMMIT) TARGET"}, + {"VERSION", "COMMIT", "clean", "TARGET", "VERSION (COMMIT) TARGET"}, + {"", "COMMIT", "dirty", "TARGET", "development version (COMMIT*) TARGET"}, + {"VERSION", "COMMIT", "dirty", "TARGET", "VERSION (COMMIT*) TARGET"}, + } + + for _, test := range tests { + version = test.version + commit = test.commit + status = test.status + target = test.target + + result := Version() + + assert.Equal(t, test.expected, result, "Expected '%s', got '%s'", test.expected, result) + } +}