package fileutils

import (
	"io/ioutil"
	"os"
	"path/filepath"
	"runtime"
	"testing"
)

func TestCopypathSymlinks(t *testing.T) {
	if runtime.GOOS == "windows" {
		t.Skip("no symlinks on windows y'all")
	}
	dst := mktemp(t)
	defer RemoveAll(dst)
	src := filepath.Join("_testdata", "copyfile")
	if err := Copypath(dst, src, true); err != nil {
		t.Fatalf("copypath(%s, %s): %v", dst, src, err)
	}
	res, err := os.Readlink(filepath.Join(dst, "a", "rick"))
	if err != nil {
		t.Fatal(err)
	}
	if res != "/never/going/to/give/you/up" {
		t.Fatalf("target == %s, expected /never/going/to/give/you/up", res)
	}
}

func mktemp(t *testing.T) string {
	s, err := ioutil.TempDir("", "fileutils_test")
	if err != nil {
		t.Fatal(err)
	}
	return s
}
