package buildinfo

import "testing"

func TestCurrentAppliesFallbacks(t *testing.T) {
	originalVersion, originalTagName, originalCommit, originalBuildDate := Version, TagName, Commit, BuildDate
	t.Cleanup(func() {
		Version = originalVersion
		TagName = originalTagName
		Commit = originalCommit
		BuildDate = originalBuildDate
	})

	Version = ""
	TagName = ""
	Commit = ""
	BuildDate = ""

	info := Current()
	if info.Version != "dev" {
		t.Fatalf("version = %q, want %q", info.Version, "dev")
	}
	if info.TagName != "dev" {
		t.Fatalf("tag_name = %q, want %q", info.TagName, "dev")
	}
	if info.Commit != "unknown" {
		t.Fatalf("commit = %q, want %q", info.Commit, "unknown")
	}
	if info.BuildDate != "unknown" {
		t.Fatalf("build_date = %q, want %q", info.BuildDate, "unknown")
	}
}
