mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-06 06:13:58 +02:00
53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package vision
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestResolveImagePath_underCWD(t *testing.T) {
|
|
dir := t.TempDir()
|
|
img := filepath.Join(dir, "shot.png")
|
|
if err := os.WriteFile(img, []byte{0x89, 0x50, 0x4e, 0x47}, 0o644); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
got, err := ResolveImagePath(img, dir)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
want := normalizeAbsPath(img)
|
|
if got != want {
|
|
t.Fatalf("got %q want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolveImagePath_absoluteOutsideCWD(t *testing.T) {
|
|
dir := t.TempDir()
|
|
cwd := t.TempDir()
|
|
img := filepath.Join(dir, "remote.png")
|
|
if err := os.WriteFile(img, []byte{0x89, 0x50, 0x4e, 0x47}, 0o644); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
got, err := ResolveImagePath(img, cwd)
|
|
if err != nil {
|
|
t.Fatalf("expected absolute path outside cwd to be allowed: %v", err)
|
|
}
|
|
want := normalizeAbsPath(img)
|
|
if got != want {
|
|
t.Fatalf("got %q want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolveImagePath_rejectsNonImageExt(t *testing.T) {
|
|
dir := t.TempDir()
|
|
f := filepath.Join(dir, "notes.txt")
|
|
if err := os.WriteFile(f, []byte("x"), 0o644); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
_, err := ResolveImagePath(f, dir)
|
|
if err == nil {
|
|
t.Fatal("expected error for non-image extension")
|
|
}
|
|
}
|