package schema

import (
	"path/filepath"
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestSwapSuffix(t *testing.T) {
	f := func(t *testing.T, path, infix, suffix, want string) {
		t.Helper()
		assert.Equal(t, filepath.ToSlash(want), filepath.ToSlash(SwapSuffix(path, infix, suffix)), "SwapSuffix(%q, %q, %q)", path, infix, suffix)
	}
	f(t, "a/b.json", "", "-status.json", "a/b-status.json")
	f(t, "tenants-1-manifest.json", "-manifest", "-status.json", "tenants-1-status.json")
	f(t, "envs/prod/x-manifest.json", "-manifest", "-status.json", "envs/prod/x-status.json")
	f(t, "weird-name.json", "-manifest", "-status.json", "weird-name-status.json")
	f(t, "x-manifest", "-manifest", "-status.json", "x-status.json")
	f(t, "noext", "", "-status.json", "noext-status.json")
	f(t, "x.v1.json", "", "-y.json", "x.v1-y.json")
	f(t, "base.json", "", "-manifest.json", "base-manifest.json")
}
