Go 37 lines
package cockpit
import (
"path/filepath"
"testing"
)
func TestRelUnder_RejectsEscapes(t *testing.T) {
bad := []string{
"",
"/etc/passwd",
"../escape",
"../../etc/passwd",
filepath.Join("a", "..", "..", "b"),
}
for _, p := range bad {
if _, err := relUnder(p); err == nil {
t.Errorf("relUnder(%q) accepted an escaping/absolute path", p)
}
}
}
func TestRelUnder_AcceptsCleanRelative(t *testing.T) {
good := []string{
"AGENTS.md",
"GEMINI.md",
".claude/skills/handover/SKILL.md",
".cursor/rules/handover.mdc",
"a/b/c.md",
}
for _, p := range good {
if _, err := relUnder(p); err != nil {
t.Errorf("relUnder(%q) rejected a clean relative path: %v", p, err)
}
}
}